ACP 支持
在任何兼容 ACP 的编辑器中使用 OpenCode。
OpenCode 支持 Agent Client Protocol (ACP),允许你在兼容的编辑器和 IDE 中直接使用它。
ACP 是一个开放协议,通过标准化代码编辑器和 AI 编码智能体之间的通信。
配置 Configure
要通过 ACP 使用 OpenCode,请通过运行 opencode acp 命令配置你的编辑器。
该命令将 OpenCode 作为与你的编辑器通过 stdio 上的 JSON-RPC 通信的 ACP 兼容子进程启动。
以下是支持 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 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
要在 CodeCompanion.nvim 中使用 OpenCode 作为 ACP 智能体,请将以下内容添加到你的 Neovim 配置中:
require("codecompanion").setup({ interactions = { chat = { adapter = { name = "opencode", model = "claude-sonnet-4", }, }, },})此配置设置 CodeCompanion 使用 OpenCode 作为聊天的 ACP 智能体。
如果你需要传递环境变量(如 OPENCODE_API_KEY),请参阅 CodeCompanion.nvim 文档中的 配置适配器:环境变量 以获取完整详细信息。
支持 Support
OpenCode 通过 ACP 的工作方式与在终端中相同。支持所有功能:
- 内置工具(文件操作、终端命令等)
- 自定义工具和斜杠命令
- 在你的 OpenCode 配置中配置的 MCP 服务器
- 来自
AGENTS.md的项目特定规则 - 自定义格式化器和 linter
- 智能体和权限系统