Buckets:
| 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 | |
| [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」エージェントを使用します。 | |
| ### Avante.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` のプロジェクト固有のルール | |
| - カスタムフォーマッタとリンター | |
| - エージェントと権限システム | |
Xet Storage Details
- Size:
- 4.3 kB
- Xet hash:
- 84052e6f6b5d550892002eb772ed11a9af1238c232e67e48b9e83ff80eac5594
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.