--- title: ACP 支援 description: 在任何相容 ACP 的編輯器中使用 OpenCode。 --- OpenCode 支援 [Agent Client Protocol](https://agentclientprotocol.com)(ACP),允許你直接在相容的編輯器和 IDE 中使用它。 :::tip 有關支援 ACP 的編輯器和工具列表,請查看 [ACP 進展報告](https://zed.dev/blog/acp-progress-report#available-now)。 ::: ACP 是一個開放協議,用於標準化程式碼編輯器與 AI 編碼代理之間的通訊。 --- ## 設定 要透過 ACP 使用 OpenCode,請在編輯器中設定執行 `opencode acp` 命令。 該命令會將 OpenCode 作為相容 ACP 的子程序啟動,透過 stdio 上的 JSON-RPC 與編輯器進行通訊。 以下是支援 ACP 的常用編輯器的設定範例。 --- ### Zed 新增到你的 [Zed](https://zed.dev) 設定檔(`~/.config/zed/settings.json`)中: ```json title="~/.config/zed/settings.json" { "agent_servers": { "OpenCode": { "command": "opencode", "args": ["acp"] } } } ``` 開啟方式:在**命令面板**中執行 `agent: new thread` 操作。 你也可以透過編輯 `keymap.json` 來繫結鍵盤快速鍵: ```json title="keymap.json" [ { "bindings": { "cmd-alt-o": [ "agent::NewExternalAgentThread", { "agent": { "custom": { "name": "OpenCode", "command": { "command": "opencode", "args": ["acp"] } } } } ] } } ] ``` --- ### JetBrains IDEs 根據[文件](https://www.jetbrains.com/help/ai-assistant/acp.html),將以下內容新增到你的 [JetBrains IDE](https://www.jetbrains.com/) 的 acp.json 中: ```json title="acp.json" { "agent_servers": { "OpenCode": { "command": "/absolute/path/bin/opencode", "args": ["acp"] } } } ``` 開啟方式:在 AI Chat 代理選擇器中選擇新的 'OpenCode' 代理。 --- ### Avante.nvim 新增到你的 [Avante.nvim](https://github.com/yetone/avante.nvim) 設定中: ```lua { acp_providers = { ["opencode"] = { command = "opencode", args = { "acp" } } } } ``` 如果需要傳遞環境變數: ```lua {6-8} { acp_providers = { ["opencode"] = { command = "opencode", args = { "acp" }, env = { OPENCODE_API_KEY = os.getenv("OPENCODE_API_KEY") } } } } ``` --- ### CodeCompanion.nvim 要在 [CodeCompanion.nvim](https://github.com/olimorris/codecompanion.nvim) 中將 OpenCode 用作 ACP 代理,請將以下內容新增到你的 Neovim 設定中: ```lua require("codecompanion").setup({ interactions = { chat = { adapter = { name = "opencode", model = "claude-sonnet-4", }, }, }, }) ``` 此設定將 CodeCompanion 設為使用 OpenCode 作為聊天的 ACP 代理。 如果需要傳遞環境變數(如 `OPENCODE_API_KEY`),請參閱 CodeCompanion.nvim 文件中的[設定適配器:環境變數](https://codecompanion.olimorris.dev/getting-started#setting-an-api-key)了解詳細資訊。 ## 支援 OpenCode 透過 ACP 使用時與在終端機中使用的效果完全一致。所有功能均受支援: :::note 部分內建斜線命令(如 `/undo` 和 `/redo`)目前暫不支援。 ::: - 內建工具(檔案操作、終端機命令等) - 自訂工具和斜線命令 - 在 OpenCode 設定中設定的 MCP 伺服器 - 來自 `AGENTS.md` 的專案級規則 - 自訂格式化工具和程式碼檢查工具 - 代理和權限系統