--- title: ACPのサポート description: ACP 互換エディターで OpenCode を使用します。 --- OpenCode は [Agent Client Protocol](https://agentclientprotocol.com) または (ACP) をサポートしているため、互換性のあるエディターや IDE で直接使用できます。 :::tip ACP をサポートするエディターとツールのリストについては、[ACP progress report](https://zed.dev/blog/acp-progress-report#available-now). ::: ACP は、コード エディターと AI コーディング エージェント間の通信を標準化するオープン プロトコルです。 --- ## 設定する ACP 経由で OpenCode を使用するには、`opencode acp` コマンドを実行するようにエディタを設定します。 このコマンドは、stdio 経由で JSON-RPC 経由でエディターと通信する ACP 互換のサブプロセスとして OpenCode を開始します。 以下は、ACP をサポートする一般的なエディタの例です。 --- ### ゼッド [Zed](https://zed.dev) 構成 (`~/.config/zed/settings.json`) に追加します。 ```json title="~/.config/zed/settings.json" { "agent_servers": { "OpenCode": { "command": "opencode", "args": ["acp"] } } } ``` これを開くには、**コマンド パレット**の `agent: new thread` アクションを使用します。 `keymap.json` を編集してキーボード ショートカットをバインドすることもできます。 ```json title="keymap.json" [ { "bindings": { "cmd-alt-o": [ "agent::NewExternalAgentThread", { "agent": { "custom": { "name": "OpenCode", "command": { "command": "opencode", "args": ["acp"] } } } } ] } } ] ``` --- ### JetBrains IDE [documentation](https://www.jetbrains.com/help/ai-assistant/acp.html):] に従って、[JetBrains IDE](https://www.jetbrains.com/) acp.json] に追加します。 ```json title="acp.json" { "agent_servers": { "OpenCode": { "command": "/absolute/path/bin/opencode", "args": ["acp"] } } } ``` これを開くには、AI Chat エージェント セレクターで新しい「OpenCode」エージェントを使用します。 --- ### アバンテ.nvim [Avante.nvim](https://github.com/yetone/avante.nvim) 設定に追加: ```lua { acp_providers = { ["opencode"] = { command = "opencode", args = { "acp" } } } } ``` 環境変数を渡す必要がある場合: ```lua {6-8} { acp_providers = { ["opencode"] = { command = "opencode", args = { "acp" }, env = { OPENCODE_API_KEY = os.getenv("OPENCODE_API_KEY") } } } } ``` --- ### CodeCompanion.nvim [CodeCompanion.nvim](https://github.com/olimorris/codecompanion.nvim) で OpenCode を ACP エージェントとして使用するには、以下を Neovim 構成に追加します。 ```lua require("codecompanion").setup({ interactions = { chat = { adapter = { name = "opencode", model = "claude-sonnet-4", }, }, }, }) ``` この構成は、OpenCode をチャットの ACP エージェントとして使用するように CodeCompanion をセットアップします。 環境変数 (`OPENCODE_API_KEY` など) を渡す必要がある場合、詳細については、CodeCompanion.nvim ドキュメントの「アダプターの構成: 環境変数 ](https://codecompanion.olimorris.dev/getting-started#setting-an-api-key)」を参照してください。 ## サポート OpenCode は、ACP 経由でもターミナル内で動作するのと同じように動作します。すべての機能がサポートされています。 :::note `/undo` や `/redo` などの一部の組み込みスラッシュ コマンドは現在サポートされていません。 ::: - 組み込みツール (ファイル操作、ターミナルコマンドなど) - カスタムツールとスラッシュコマンド - OpenCode 構成で構成された MCP サーバー - `AGENTS.md` のプロジェクト固有のルール - カスタムフォーマッタとリンター - エージェントと権限システム