diff options
| author | Jay V <[email protected]> | 2025-10-27 17:49:24 -0400 |
|---|---|---|
| committer | Jay V <[email protected]> | 2025-10-27 17:49:24 -0400 |
| commit | 198d7f7e5f7598eded642db4ef465585164fcac2 (patch) | |
| tree | 610b76a2240a15b9314e375a23a6e7f2ee504194 | |
| parent | 3c56dbcf5840e540eb8970805a6c725cce8e4f85 (diff) | |
| parent | e3e9fd7aa8fbf5a7d7b21d721d014b15e16c41bb (diff) | |
| download | opencode-198d7f7e5f7598eded642db4ef465585164fcac2.tar.gz opencode-198d7f7e5f7598eded642db4ef465585164fcac2.zip | |
Merge branch 'doc-acp' into dev
| -rw-r--r-- | packages/web/astro.config.mjs | 1 | ||||
| -rw-r--r-- | packages/web/src/content/docs/acp.mdx | 103 |
2 files changed, 104 insertions, 0 deletions
diff --git a/packages/web/astro.config.mjs b/packages/web/astro.config.mjs index 3bcd98cb7..7d509cabc 100644 --- a/packages/web/astro.config.mjs +++ b/packages/web/astro.config.mjs @@ -85,6 +85,7 @@ export default defineConfig({ "permissions", "lsp", "mcp-servers", + "acp", "custom-tools", ], }, diff --git a/packages/web/src/content/docs/acp.mdx b/packages/web/src/content/docs/acp.mdx new file mode 100644 index 000000000..15ec1a1f0 --- /dev/null +++ b/packages/web/src/content/docs/acp.mdx @@ -0,0 +1,103 @@ +--- +title: ACP Support +description: Use OpenCode in any ACP-compatible editor. +--- + +OpenCode supports the [Agent Client Protocol](https://agentclientprotocol.com) or (ACP), allowing you to use it directly in compatible editors and IDEs. + +:::tip +For a list of editors and tools that support ACP, check out the [ACP progress report](https://zed.dev/blog/acp-progress-report#available-now). +::: + +ACP is an open protocol that standardizes communication between code editors and AI coding agents. + +--- + +## Configure + +To use OpenCode via ACP, configure your editor to run the `opencode acp` command. + +The command starts OpenCode as an ACP-compatible subprocess that communicates with your editor over JSON-RPC via stdio. + +Below are examples for popular editors that support ACP. + +--- + +### Zed + +Add to your [Zed](https://zed.dev) configuration (`~/.config/zed/settings.json`): + +```json title="~/.config/zed/settings.json" +{ + "agent_servers": { + "OpenCode": { + "command": "opencode", + "args": ["acp"] + } + } +} +``` + +To open it, use the `agent: new thread` action in the **Command Palette**. + +You can also bind a keyboard shortcut by editing your `keymap.json`: + +```json title="keymap.json" +[ + { + "bindings": { + "cmd-alt-o": ["agent::NewExternalAgentThread", { "agent": "OpenCode" }] + } + } +] +``` + +--- + +### Avante.nvim + +Add to your [Avante.nvim](https://github.com/yetone/avante.nvim) configuration: + +```lua +{ + acp_providers = { + ["opencode"] = { + command = "opencode", + args = { "acp" } + } + } +} +``` + +If you need to pass environment variables: + +```lua {6-8} +{ + acp_providers = { + ["opencode"] = { + command = "opencode", + args = { "acp" }, + env = { + OPENCODE_API_KEY = os.getenv("OPENCODE_API_KEY") + } + } + } +} +``` + +--- + +## Support + +OpenCode works the same via ACP as it does in the terminal. All features are supported: + +:::note +Some built-in slash commands like `/undo` and `/redo` are currently unsupported. +::: + +- Built-in tools (file operations, terminal commands, etc.) +- Custom tools and slash commands +- MCP servers configured in your OpenCode config +- Project-specific rules from `AGENTS.md` +- Custom formatters and linters +- Agents and permissions system |
