--- title: Suporte ACP description: Use o opencode em qualquer editor compatível com ACP. --- O opencode suporta o [Agent Client Protocol](https://agentclientprotocol.com) ou (ACP), permitindo que você o utilize diretamente em editores e IDEs compatíveis. :::tip Para uma lista de editores e ferramentas que suportam ACP, confira o [relatório de progresso do ACP](https://zed.dev/blog/acp-progress-report#available-now). ::: O ACP é um protocolo aberto que padroniza a comunicação entre editores de código e agentes de codificação de IA. --- ## Configuração Para usar opencode via ACP, configure seu editor para executar o comando `opencode acp`. Este comando inicia o opencode como um subprocesso compatível com ACP que se comunica com seu editor via JSON-RPC através do stdio. Abaixo estão exemplos para editores populares que suportam ACP. --- ### Zed Adicione à sua configuração do [Zed](https://zed.dev) (`~/.config/zed/settings.json`): ```json title="~/.config/zed/settings.json" { "agent_servers": { "OpenCode": { "command": "opencode", "args": ["acp"] } } } ``` Para abri-lo, use a ação `agent: new thread` na **Paleta de Comandos**. Você também pode vincular um atalho de teclado editando seu `keymap.json`: ```json title="keymap.json" [ { "bindings": { "cmd-alt-o": [ "agent::NewExternalAgentThread", { "agent": { "custom": { "name": "OpenCode", "command": { "command": "opencode", "args": ["acp"] } } } } ] } } ] ``` --- ### IDEs JetBrains Adicione ao seu acp.json do [JetBrains IDE](https://www.jetbrains.com/) de acordo com a [documentação](https://www.jetbrains.com/help/ai-assistant/acp.html): ```json title="acp.json" { "agent_servers": { "OpenCode": { "command": "/absolute/path/bin/opencode", "args": ["acp"] } } } ``` Para abri-lo, use o novo agente 'opencode' no seletor de agentes do AI Chat. --- ### Avante.nvim Adicione à sua configuração do [Avante.nvim](https://github.com/yetone/avante.nvim): ```lua { acp_providers = { ["opencode"] = { command = "opencode", args = { "acp" } } } } ``` Se você precisar passar variáveis de ambiente: ```lua {6-8} { acp_providers = { ["opencode"] = { command = "opencode", args = { "acp" }, env = { OPENCODE_API_KEY = os.getenv("OPENCODE_API_KEY") } } } } ``` --- ### CodeCompanion.nvim Para usar opencode como um agente ACP no [CodeCompanion.nvim](https://github.com/olimorris/codecompanion.nvim), adicione o seguinte à sua configuração do Neovim: ```lua require("codecompanion").setup({ interactions = { chat = { adapter = { name = "opencode", model = "claude-sonnet-4", }, }, }, }) ``` Esta configuração configura o CodeCompanion para usar opencode como o agente ACP para chat. Se você precisar passar variáveis de ambiente (como `OPENCODE_API_KEY`), consulte [Configurando Adaptadores: Variáveis de Ambiente](https://codecompanion.olimorris.dev/getting-started#setting-an-api-key) na documentação do CodeCompanion.nvim para detalhes completos. ## Suporte O opencode funciona da mesma forma via ACP como funciona no terminal. Todos os recursos são suportados: :::note Alguns comandos de barra integrados, como `/undo` e `/redo`, atualmente não são suportados. ::: - Ferramentas integradas (operações de arquivo, comandos de terminal, etc.) - Ferramentas personalizadas e comandos de barra - Servidores MCP configurados na sua configuração do opencode - Regras específicas do projeto do `AGENTS.md` - Formatadores e linters personalizados - Sistema de agentes e permissões