ACP サポート
OpenCode は Agent Client Protocol (ACP) をサポートしており、互換性のあるエディタや IDE で直接使用できます。
ACP は、コードエディタと AI コーディングエージェント間の通信を標準化するオープンなプロトコルです。
設定
ACP 経由で OpenCode を使用するには、エディタで opencode acp コマンドを実行するように設定します。
このコマンドは、エディタと stdio 経由で JSON-RPC により通信する ACP 互換のサブプロセスとして OpenCode を起動します。
以下は、ACP をサポートする主要なエディタの設定例です。
Zed
Zed の設定ファイル (~/.config/zed/settings.json) に追加します。
{
"agent_servers": {
"OpenCode": {
"command": "opencode",
"args": ["acp"]
}
}
}
開くには、コマンドパレット で agent: new thread アクションを使用します。
keymap.json を編集することで、キーボードショートカットを割り当てることもできます。
[
{
"bindings": {
"cmd-alt-o": [
"agent::NewExternalAgentThread",
{
"agent": {
"custom": {
"name": "OpenCode",
"command": {
"command": "opencode",
"args": ["acp"]
}
}
}
}
]
}
}
]
JetBrains IDEs
JetBrains IDE の ドキュメント に従って、acp.json に追加します。
{
"agent_servers": {
"OpenCode": {
"command": "/absolute/path/bin/opencode",
"args": ["acp"]
}
}
}
開くには、AI チャットのエージェントセレクタで新しい「OpenCode」エージェントを選択します。
Avante.nvim
Avante.nvim の設定に追加します。
{
acp_providers = {
["opencode"] = {
command = "opencode",
args = { "acp" }
}
}
}
環境変数を渡す必要がある場合は、次のようにします。
{
acp_providers = {
["opencode"] = {
command = "opencode",
args = { "acp" },
env = {
OPENCODE_API_KEY = os.getenv("OPENCODE_API_KEY")
}
}
}
}
CodeCompanion.nvim
CodeCompanion.nvim で OpenCode を ACP エージェントとして使用するには、Neovim の設定に以下を追加します。
require("codecompanion").setup({
interactions = {
chat = {
adapter = {
name = "opencode",
model = "claude-sonnet-4",
},
},
},
})
この設定は、チャット用の ACP エージェントとして OpenCode を使用するように CodeCompanion を構成します。
環境変数 (OPENCODE_API_KEY など) を渡す必要がある場合は、CodeCompanion.nvim ドキュメントの Configuring Adapters: Environment Variables を参照してください。
サポート
OpenCode は ACP 経由でもターミナルと同様に動作し、すべての機能がサポートされています。
- 組み込みツール (ファイル操作、ターミナルコマンドなど)
- カスタムツールとスラッシュコマンド
- OpenCode の設定で構成された MCP サーバー
AGENTS.mdからのプロジェクト固有のルール- カスタムフォーマッタとリンター
- エージェントと権限システム