中文
文档
ACP 支持

ACP 支持

在任意兼容 ACP 的编辑器中使用 OpenCode。

OpenCode 支持 Agent Client Protocol (opens in a new tab)(即 ACP),让你可以直接在兼容的编辑器和 IDE 中使用它。

提示: 想了解支持 ACP 的编辑器和工具列表,请查看 ACP 进展报告 (opens in a new tab)

ACP 是一个开放协议,用于标准化代码编辑器与 AI 编码 agent 之间的通信。


配置

要通过 ACP 使用 OpenCode,请配置你的编辑器运行 opencode acp 命令。

该命令会将 OpenCode 作为兼容 ACP 的子进程启动,通过 stdio 上的 JSON-RPC 与你的编辑器通信。

下面是几个支持 ACP 的流行编辑器的示例。


Zed

添加到你的 Zed (opens in a new tab) 配置中(~/.config/zed/settings.json):

~/.config/zed/settings.json
{
  "agent_servers": {
    "OpenCode": {
      "command": "opencode",
      "args": ["acp"]
    }
  }
}

要打开它,在 命令面板(Command Palette) 中使用 agent: new thread 操作。

你也可以通过编辑 keymap.json 绑定一个键盘快捷键:

keymap.json
[
  {
    "bindings": {
      "cmd-alt-o": [
        "agent::NewExternalAgentThread",
        {
          "agent": {
            "custom": {
              "name": "OpenCode",
              "command": {
                "command": "opencode",
                "args": ["acp"]
              }
            }
          }
        }
      ]
    }
  }
]

JetBrains IDE

按照 文档 (opens in a new tab) 的说明,添加到你的 JetBrains IDE (opens in a new tab) 的 acp.json 中:

acp.json
{
  "agent_servers": {
    "OpenCode": {
      "command": "/absolute/path/bin/opencode",
      "args": ["acp"]
    }
  }
}

要打开它,在 AI Chat 的 agent 选择器中使用新的 'OpenCode' agent。


Avante.nvim

添加到你的 Avante.nvim (opens in a new tab) 配置中:

{
  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 (opens in a new tab) 中将 OpenCode 用作 ACP agent,请将以下内容添加到你的 Neovim 配置中:

require("codecompanion").setup({
  interactions = {
    chat = {
      adapter = {
        name = "opencode",
        model = "claude-sonnet-4",
      },
    },
  },
})

此配置将 CodeCompanion 设置为使用 OpenCode 作为聊天的 ACP agent。

如果你需要传递环境变量(例如 OPENCODE_API_KEY),完整细节请参阅 CodeCompanion.nvim 文档中的 Configuring Adapters: Environment Variables (opens in a new tab)

支持

OpenCode 通过 ACP 的工作方式与在终端中完全相同。所有功能均受支持:

注意: 一些内置斜杠命令,如 /undo/redo,目前不受支持。

  • 内置工具(文件操作、终端命令等)
  • 自定义工具和斜杠命令
  • 在你的 OpenCode 配置中配置的 MCP 服务器
  • 来自 AGENTS.md 的项目专属规则
  • 自定义格式化工具和 linter
  • Agent 和权限系统