ACP 支援
OpenCode 支援 Agent Client Protocol(ACP),允許你直接在相容的編輯器和 IDE 中使用它。
ACP 是一個開放協議,用於標準化程式碼編輯器與 AI 編碼代理之間的通訊。
要透過 ACP 使用 OpenCode,請在編輯器中設定執行 opencode acp 命令。
該命令會將 OpenCode 作為相容 ACP 的子程序啟動,透過 stdio 上的 JSON-RPC 與編輯器進行通訊。
以下是支援 ACP 的常用編輯器的設定範例。
在命令面板中執行 zed: acp registry,從 Zed ACP 登錄檔安裝 OpenCode。
如果要改用自訂 OpenCode 執行檔,請將它新增到 Zed 設定檔(~/.config/zed/settings.json)中:
{
"agent_servers": {
"OpenCode": {
"type": "custom",
"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 IDE 的 acp.json 中:
{
"agent_servers": {
"OpenCode": {
"command": "/absolute/path/bin/opencode",
"args": ["acp"]
}
}
}開啟方式:在 AI Chat 代理選擇器中選擇新的 ‘OpenCode’ 代理。
新增到你的 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 中將 OpenCode 用作 ACP 代理,請將以下內容新增到你的 Neovim 設定中:
require("codecompanion").setup({
interactions = {
chat = {
adapter = {
name = "opencode",
model = "claude-sonnet-5-5",
},
},
},
})此設定將 CodeCompanion 設為使用 OpenCode 作為聊天的 ACP 代理。
如果需要傳遞環境變數(如 OPENCODE_API_KEY),請參閱 CodeCompanion.nvim 文件中的設定適配器:環境變數了解詳細資訊。
OpenCode 透過 ACP 使用時與在終端機中使用的效果完全一致。所有功能均受支援:
- 內建工具(檔案操作、終端機命令等)
- 自訂工具和斜線命令
- 在 OpenCode 設定中設定的 MCP 伺服器
- 來自
AGENTS.md的專案級規則 - 自訂格式化工具和程式碼檢查工具
- 代理和權限系統