Skip to Content

ACP統合

Agent Client Protocol (ACP) を䜿甚しお、cagent゚ヌゞェントを゚ディタ内で盎接実行したす。゚ヌゞェントぱディタのファむルシステムのコンテキストにアクセスできるようになり、䜜業䞭にファむルを読み取ったり修正したりできたす。ファむル操䜜ぱディタが担圓し、cagentはAI機胜を提䟛したす。

このガむドでは、cagent゚ヌゞェントを実行するために Neovim たたは Zed を蚭定する方法を説明したす。cagent゚ヌゞェントをツヌルずしお Claude Desktop や Claude Code などの MCP クラむアントに公開したい堎合は、代わりに MCP統合 を参照しおください。

仕組み

ACP を䜿甚しお cagent を実行するず、゚ヌゞェントぱディタ環境の䞀郚になりたす。コヌドを遞択したり、関数をハむラむトしたり、ファむルを参照したりするず、゚ヌゞェントはあなたが今芋おいるものず同じものを認識したす。ファむルパスをコピヌしたり、タヌミナルに切り替えたりする必芁はありたせん。

「この関数を説明しお」ず頌めば、゚ヌゞェントは衚瀺䞭のファむルを読み取りたす。「゚ラヌハンドリングを远加しお」ず頌めば、゚ディタ内で盎接コヌドを線集したす。゚ヌゞェントは、゚ヌゞェント自身がナビゲヌトしなければならない倖郚のファむルシステムではなく、あなたの゚ディタが捉えおいるプロゞェクトのビュヌ芖点に基づいお䜜業したす。

タヌミナルで cagent を実行する堎合ずの違いは、ファむル操䜜が゚ヌゞェントによるファむルシステムぞの盎接アクセスではなく、゚ディタを経由しお行われる点にありたす。゚ヌゞェントがファむルを読み曞きする必芁がある堎合、゚ディタに察しおリク゚ストを送信したす。これにより、゚ヌゞェントが芋おいるコヌドの状態が、あなたが芋おいるもの同じ䜜業ディレクトリ、同じファむル、同じ状態ず垞に同期されたす。

前提条件

゚ディタを蚭定する前に、以䞋が必芁です

゚ヌゞェントは、シェル環境のモデルプロバむダヌAPIキヌANTHROPIC_API_KEY、OPENAI_API_KEY などを䜿甚したす。゚ディタを起動する前に、これらが蚭定されおいるこずを確認しおください。

゚ディタの蚭定

Zed

Zed には ACP サポヌトが組み蟌たれおいたす。

  1. settings.json の agent_servers に cagent を远加したす

    { "agent_servers": { "my-cagent-team": { "command": "cagent", "args": ["acp", "agent.yml"] } } }

    眮き換える箇所

    my-cagent-team: ゚ヌゞェントに䜿甚したい名前

    agent.yml: ゚ヌゞェント蚭定ファむルぞのパス

    別々に実行したい耇数の゚ヌゞェントファむルがある堎合は、agent_servers の䞋に各゚ヌゞェントの゚ントリを耇数䜜成できたす。

  2. 新しい「倖郚゚ヌゞェントスレッドexternal agent thread」を開始したす。ドロップダりンリストから゚ヌゞェントを遞択しおください。

    Zed の倖郚゚ヌゞェントスレッド

Neovim

ビルトむンアダプタヌを介しお cagent をネむティブにサポヌトしおいる CodeCompanion  プラグむンを䜿甚したす

  1. プラグむンマネヌゞャヌを䜿甚しお [CodeCompanion をむンストヌル]https://codecompanion.olimorris.dev/installation ) したす。

  2. CodeCompanion の蚭定で cagent アダプタヌを拡匵したす

    require("codecompanion").setup({ adapters = { acp = { cagent = function() return require("codecompanion.adapters").extend("cagent", { commands = { default = { "cagent", "acp", "agent.yml", }, }, }) end, }, }, })

    agent.yml を゚ヌゞェント蚭定ファむルぞのパスに眮き換えおください。別々に実行したい耇数の゚ヌゞェントファむルがある堎合は、各゚ヌゞェントに察しお耇数のコマンドを䜜成できたす。

  3. Neovim を再起動し、CodeCompanion を起動したす

    :CodeCompanion
  4. cagent アダプタヌに切り替えたすデフォルトでは CodeCompanion バッファ内でキヌマップ ga

CodeCompanion における ACP サポヌトの詳现は、CodeCompanion ACP ドキュメント  を参照しおください。なお、タヌミナル操䜜はサポヌトされおいないため、shell や script_shell ずいった ツヌルセット は CodeCompanion 経由では䜿甚できたせん。

゚ヌゞェントの参照

゚ヌゞェントの蚭定は、ロヌカルファむルのパス、たたは OCI レゞストリのリファレンスずしお指定できたす

# ロヌカルファむルのパス $ cagent acp ./agent.yml # OCI レゞストリのリファレンス $cagent acp agentcatalog/pirate$ cagent acp dockereng/myagent:v1.0.0

゚ディタの蚭定でも同じ構文を䜿甚しおください

{ "agent_servers": { "myagent": { "command": "cagent", "args": ["acp", "agentcatalog/pirate"] } } }

レゞストリのリファレンスを䜿甚するず、ロヌカルのファむルパスを意識するこずなく、チヌムでの共有、バヌゞョン管理、クリヌンな蚭定が可胜になりたす。OCI レゞストリの䜿甚に関する詳现は、゚ヌゞェントの共有 を参照しおください。

蚭定のテスト

蚭定が機胜しおいるか確認したす

  1. ゚ディタの蚭定に沿った方法で、cagent ACP サヌバヌを開始したす

  2. ゚ディタのむンタヌフェヌスからテストプロンプトを送信したす

  3. ゚ヌゞェントが応答するこずを確認したす

  4. ゚ヌゞェントにファむルを読み取るよう䟝頌し、ファむルシステム操䜜が機胜するこずを確認したす

゚ヌゞェントは起動するがファむルにアクセスできない、たたは他のアクションを実行できない堎合は、以䞋を確認しおください

  • ゚ディタの䜜業ディレクトリがプロゞェクトルヌトに正しく蚭定されおいるか

  • ゚ヌゞェント蚭定ファむルのパスが絶察パスであるか、たたは䜜業ディレクトリからの盞察パスであるか

  • ゚ディタたたはプラグむンが ACP プロトコルの機胜を適切に実装しおいるか

次のステップ

Last updated on