ACP 支持
在任何 ACP 兼容編輯器中使用 OpenCode。
OpenCode 支持 Agent Client Protocol 或 (ACP),允許您直接在兼容的編輯器和 IDE 中使用它。
ACP 是一種開放協議,用於標準化程式碼編輯器和 AI 編碼代理之間的通信。
配置
要通過 ACP 使用 OpenCode,請將編輯器配置為運行 opencode acp 命令。
該命令將 OpenCode 作為 ACP 兼容的子進程啟動,通過 stdio 通過 JSON-RPC 與您的編輯器進行通信。
以下是支持 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 IDE
根據文件添加到你的JetBrains IDE acp.json:
{ "agent_servers": { "OpenCode": { "command": "/absolute/path/bin/opencode", "args": ["acp"] } }}要打開它,請在 AI Chat 代理選擇器中使用新的“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
要將 OpenCode 用作 CodeCompanion.nvim 中的 ACP 代理,請將以下內容添加到 Neovim 配置中:
require("codecompanion").setup({ interactions = { chat = { adapter = { name = "opencode", model = "claude-sonnet-4", }, }, },})此配置將 CodeCompanion 設置為使用 OpenCode 作為聊天的 ACP 代理。
如果您需要傳遞環境變量(如 OPENCODE_API_KEY),請參閱 CodeCompanion.nvim 文檔中的 配置適配器:環境變量 了解完整詳細信息。
支持
OpenCode 通過 ACP 的工作方式與在 terminal 中的工作方式相同。支持所有功能:
- 內置工具(文件操作、terminal 命令等)
- 自定義工具和斜杠命令
- 在 OpenCode 配置中配置的 MCP 服務器
AGENTS.md的項目特定規則- 自定義格式化程序和 linter
- 代理和權限系統