Skip to main content
Execute a ponte do Agent Client Protocol (ACP) que se comunica com um Gateway do OpenClaw. openclaw acp usa ACP por stdio para IDEs e encaminha prompts ao Gateway por WebSocket, mantendo as sessões ACP mapeadas para chaves de sessão do Gateway. É uma ponte ACP apoiada pelo Gateway, não um ambiente de execução de editor totalmente nativo de ACP: ela se concentra no roteamento de sessões, na entrega de prompts e nas atualizações por streaming. Se você quiser que um cliente MCP externo se comunique diretamente com conversas de canais do OpenClaw em vez de hospedar uma sessão de ambiente ACP, use openclaw mcp serve.

O que isto não é

openclaw acp significa que o OpenClaw atua como um servidor ACP: uma IDE ou um cliente ACP se conecta ao OpenClaw, e o OpenClaw encaminha esse trabalho para uma sessão do Gateway. Isso é diferente de Agentes ACP, em que o OpenClaw executa um ambiente externo, como Codex ou Claude Code, por meio do acpx. Regra rápida:
  • o editor/cliente quer se comunicar via ACP com o OpenClaw: use openclaw acp
  • o OpenClaw deve iniciar Codex/Claude/Gemini como um ambiente ACP: use /acp spawn e Agentes ACP

Matriz de compatibilidade

Limitações conhecidas

  • loadSession reproduz o histórico completo do registro de eventos ACP apenas para sessões criadas pela ponte. Sessões antigas ou sem registro usam o histórico da conversa como alternativa e não reconstroem chamadas históricas de ferramentas nem avisos do sistema.
  • Se vários clientes ACP compartilharem a mesma chave de sessão do Gateway, o roteamento de eventos e cancelamentos funciona com melhor esforço, em vez de ser estritamente isolado por cliente. Prefira as sessões isoladas padrão acp-bridge:<uuid> quando precisar de turnos locais do editor claramente separados.
  • Os estados de parada do Gateway são convertidos em motivos de parada do ACP, mas esse mapeamento é menos expressivo do que o de um ambiente de execução totalmente nativo de ACP.
  • Os controles de sessão apresentam um subconjunto específico das opções do Gateway: nível de pensamento, detalhamento das ferramentas, raciocínio, detalhes de uso e ações elevadas. A seleção de modelo e os controles do host de execução não são expostos como opções de configuração do ACP.
  • session_info_update e usage_update são derivados de instantâneos das sessões do Gateway, não da contabilização em tempo real de um ambiente de execução nativo de ACP. O uso é aproximado, não inclui dados de custo e só é emitido quando o Gateway marca os dados totais de tokens como atuais.
  • Os dados de acompanhamento das ferramentas funcionam com melhor esforço: a ponte apresenta caminhos de arquivos que aparecem em argumentos/resultados conhecidos das ferramentas, mas não emite terminais ACP nem diffs estruturados de arquivos.
  • O retransmissão de aprovações de execução é limitada ao turno ativo do prompt ACP; aprovações de outras sessões do Gateway são ignoradas.

Uso

Cliente ACP (depuração)

Use o cliente ACP integrado para fazer uma verificação básica da ponte sem uma IDE. Ele inicia a ponte ACP e permite que você digite prompts interativamente.
Modelo de permissões (modo de depuração do cliente):
  • A aprovação automática é baseada em uma lista de permissões e se aplica somente a IDs confiáveis de ferramentas principais.
  • A aprovação automática de read é limitada ao diretório de trabalho atual (--cwd, quando definido).
  • O ACP aprova automaticamente apenas classes restritas somente leitura: chamadas read limitadas ao cwd ativo, além de ferramentas de pesquisa somente leitura (search, web_search, memory_search). Ferramentas desconhecidas ou não pertencentes ao núcleo, leituras fora do escopo, ferramentas capazes de executar comandos, ferramentas do plano de controle, ferramentas que realizam alterações e fluxos interativos sempre exigem aprovação explícita no prompt.
  • O toolCall.kind fornecido pelo servidor é tratado como metadado não confiável, não como fonte de autorização.
  • Esta política da ponte ACP é separada das permissões do ambiente ACPX. Se você executar o OpenClaw por meio do backend acpx, plugins.entries.acpx.config.permissionMode=approve-all será o interruptor emergencial “yolo” para essa sessão do ambiente.

Teste de fumaça do protocolo

Para depuração no nível do protocolo, inicie um Gateway com estado isolado e controle openclaw acp via stdio com um cliente JSON-RPC ACP. Abranja initialize, session/new, session/list com um cwd absoluto, session/resume, session/close, fechamento duplicado e retomada inexistente. A comprovação deve incluir os recursos de ciclo de vida anunciados, uma linha de sessão apoiada pelo Gateway, notificações de atualização e o log sessions.list do Gateway:
Evite usar openclaw gateway call sessions.list como a única comprovação do ACP. Esse caminho da CLI pode solicitar uma elevação de escopo do operador com token novo; a correção da ponte ACP é comprovada pelos quadros ACP via stdio junto com o log sessions.list do Gateway.

Como usar

Use o ACP quando uma IDE (ou outro cliente) usar o Agent Client Protocol e você quiser que ela controle uma sessão do Gateway do OpenClaw.
  1. Certifique-se de que o Gateway esteja em execução (local ou remoto).
  2. Configure o destino do Gateway (configuração ou flags).
  3. Configure sua IDE para executar openclaw acp via stdio.
Exemplo de configuração (persistente):
Exemplo de execução direta (sem gravar configuração):

Seleção de agentes

O ACP não seleciona agentes diretamente. Ele roteia pela chave de sessão do Gateway. Use chaves de sessão com escopo de agente para direcionar a um agente específico:
Cada sessão ACP é mapeada para uma única chave de sessão do Gateway. Um agente pode ter muitas sessões; por padrão, o ACP usa uma sessão isolada acp-bridge:<uuid>, a menos que você substitua a chave ou o rótulo. mcpServers por sessão não são compatíveis com o modo de ponte. Se um cliente ACP os enviar durante newSession ou loadSession, a ponte retornará um erro claro em vez de ignorá-los silenciosamente. Se você quiser que sessões baseadas em ACPX vejam ferramentas de plugins do OpenClaw ou ferramentas integradas selecionadas, como cron, habilite as pontes MCP do ACPX no lado do Gateway em vez de tentar passar mcpServers por sessão. Consulte Agentes ACP e Ponte MCP de ferramentas do OpenClaw.

Uso pelo acpx (Codex, Claude e outros clientes ACP)

Se você quiser que um agente de programação, como Codex ou Claude Code, se comunique com seu bot OpenClaw via ACP, use o acpx com seu destino openclaw integrado. Fluxo típico:
  1. Execute o Gateway e verifique se a ponte ACP consegue acessá-lo.
  2. Direcione acpx openclaw para openclaw acp.
  3. Defina como destino a chave de sessão do OpenClaw que você quer que o agente de programação use.
Exemplos:
Se você quiser que acpx openclaw sempre tenha como destino um Gateway e uma chave de sessão específicos, substitua o comando do agente openclaw em ~/.acpx/config.json:
Para um checkout local do repositório do OpenClaw, use o ponto de entrada direto da CLI em vez do executor de desenvolvimento, para manter o fluxo ACP limpo:
Essa é a maneira mais fácil de permitir que Codex, Claude Code ou outro cliente compatível com ACP obtenha informações contextuais de um agente OpenClaw sem extrair dados de um terminal.

Configuração do editor Zed

Adicione um agente ACP personalizado em ~/.config/zed/settings.json (ou use a interface Settings do Zed):
Para definir como destino um Gateway ou agente específico:
No Zed, abra o painel Agent e selecione “OpenClaw ACP” para iniciar uma conversa.

Mapeamento de sessões

Por padrão, as sessões da ponte ACP recebem uma chave de sessão isolada do Gateway com o prefixo acp-bridge:. Essas sessões de ponte de modelo normal são sintéticas e descartáveis: estão sujeitas à remoção de entradas obsoletas e não são tratadas como superfícies protegidas de conversas humanas. Para reutilizar uma sessão conhecida, passe uma chave ou um rótulo de sessão:
  • --session <key>: usa uma chave de sessão específica do Gateway.
  • --session-label <label>: resolve uma sessão existente pelo rótulo.
  • --reset-session: gera um novo ID de sessão para essa chave (mesma chave, nova transcrição).
Se o seu cliente ACP for compatível com metadados, você poderá substituir essas configurações por sessão:
Saiba mais sobre chaves de sessão em /concepts/session.

Opções

  • --url <url>: URL WebSocket do Gateway (o padrão é gateway.remote.url quando configurado).
  • --token <token>: token de autenticação do Gateway.
  • --token-file <path>: lê o token de autenticação do Gateway de um arquivo.
  • --password <password>: senha de autenticação do Gateway.
  • --password-file <path>: lê a senha de autenticação do Gateway de um arquivo.
  • --session <key>: chave de sessão padrão.
  • --session-label <label>: rótulo de sessão padrão a ser resolvido.
  • --require-existing: falha se a chave ou o rótulo da sessão não existir.
  • --reset-session: redefine a chave da sessão antes do primeiro uso.
  • --no-prefix-cwd: não adiciona o diretório de trabalho como prefixo aos prompts.
  • --provenance <off|meta|meta+receipt>: inclui metadados ou recibos de proveniência do ACP.
  • --verbose, -v: registro detalhado em stderr.
Observação de segurança:
  • --token e --password podem ficar visíveis nas listas de processos locais em alguns sistemas. Prefira --token-file/--password-file ou variáveis de ambiente (OPENCLAW_GATEWAY_TOKEN, OPENCLAW_GATEWAY_PASSWORD).
  • A resolução da autenticação do Gateway segue o contrato compartilhado usado por outros clientes do Gateway:
    • modo local: variáveis de ambiente (OPENCLAW_GATEWAY_*) e depois gateway.auth.*, recorrendo a gateway.remote.* somente quando gateway.auth.* não estiver definido (uma SecretRef local configurada, mas não resolvida, falha de forma segura em vez de recorrer silenciosamente a outra opção)
    • modo remoto: gateway.remote.*, com fallback para variáveis de ambiente/configuração de acordo com as regras de precedência remota
    • --url é seguro para substituição e não reutiliza credenciais implícitas da configuração ou das variáveis de ambiente; passe --token/--password explicitamente (ou as variantes de arquivo)

Opções de acp client

  • --cwd <dir>: diretório de trabalho da sessão ACP.
  • --server <command>: comando do servidor ACP (padrão: openclaw).
  • --server-args <args...>: argumentos adicionais passados ao servidor ACP.
  • --server-verbose: habilita o registro detalhado no servidor ACP.
  • --verbose, -v: registro detalhado do cliente.
  • openclaw acp client define OPENCLAW_SHELL=acp-client no processo da ponte iniciado, o que pode ser usado para regras de shell/perfil específicas do contexto.

Relacionados