Execute a ponte Agent Client Protocol (ACP) que se comunica com um Gateway do OpenClaw. Este comando fala ACP por stdio para IDEs e encaminha prompts para o Gateway por WebSocket. Ele mantém sessões ACP mapeadas para chaves de sessão do Gateway.Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
openclaw acp é uma ponte ACP apoiada pelo Gateway, não um tempo de execução de
editor totalmente nativo de ACP. Ele se concentra em roteamento de sessão,
entrega de prompts e atualizações básicas de streaming.
Se você quiser que um cliente MCP externo fale diretamente com conversas de
canal do OpenClaw em vez de hospedar uma sessão de ambiente ACP, use
openclaw mcp serve.
O que isto não é
Esta página é frequentemente confundida com sessões de ambiente ACP.openclaw acp significa:
- O OpenClaw atua como um servidor ACP
- uma IDE ou um cliente ACP se conecta ao OpenClaw
- o OpenClaw encaminha esse trabalho para uma sessão do Gateway
acpx.
Regra rápida:
- editor/cliente quer falar ACP com o OpenClaw: use
openclaw acp - o OpenClaw deve iniciar Codex/Claude/Gemini como um ambiente ACP: use
/acp spawne Agentes ACP
Matriz de compatibilidade
| Área ACP | Status | Observações |
|---|---|---|
initialize, newSession, prompt, cancel | Implementado | Fluxo central da ponte por stdio para chat/send + abort do Gateway. |
listSessions, comandos de barra | Implementado | A lista de sessões funciona contra o estado de sessão do Gateway com paginação de cursor limitada e filtragem por cwd quando as linhas de sessão do Gateway carregam metadados de workspace; comandos são anunciados via available_commands_update. |
| Metadados de linhagem de sessão | Implementado | Listagens de sessão e snapshots de informações de sessão incluem a linhagem pai e filha do OpenClaw em _meta para que clientes ACP possam renderizar grafos de subagentes sem canais laterais privados do Gateway. |
resumeSession, closeSession | Implementado | Resume revincula uma sessão ACP a uma sessão existente do Gateway sem reproduzir o histórico. Close cancela o trabalho ativo da ponte, resolve prompts pendentes como cancelados e libera o estado da sessão da ponte. |
loadSession | Parcial | Revincula a sessão ACP a uma chave de sessão do Gateway e reproduz o histórico do livro-razão de eventos ACP para sessões criadas pela ponte. Sessões antigas/sem livro-razão recorrem ao texto armazenado de usuário/assistente. |
Conteúdo do prompt (text, resource incorporado, imagens) | Parcial | Texto/recursos são achatados em entrada de chat; imagens viram anexos do Gateway. |
| Modos de sessão | Parcial | session/set_mode é compatível, e a ponte expõe controles iniciais de sessão apoiados pelo Gateway para nível de pensamento, verbosidade de ferramentas, raciocínio, detalhe de uso e ações elevadas. Superfícies mais amplas de modo/configuração nativas de ACP ainda estão fora do escopo. |
| Informações de sessão e atualizações de uso | Parcial | A ponte emite notificações session_info_update e usage_update de melhor esforço a partir de snapshots de sessão do Gateway em cache. O uso é aproximado e só é enviado quando os totais de tokens do Gateway são marcados como atualizados. |
| Streaming de ferramentas | Parcial | Eventos tool_call / tool_call_update incluem E/S bruta, conteúdo de texto e locais de arquivos de melhor esforço quando argumentos/resultados de ferramentas do Gateway os expõem. Terminais incorporados e saída mais rica nativa de diff ainda não são expostos. |
| Aprovações de exec | Parcial | Prompts de aprovação de exec do Gateway durante turnos ativos de prompt ACP são retransmitidos para o cliente ACP com session/request_permission. |
Servidores MCP por sessão (mcpServers) | Sem suporte | O modo de ponte rejeita solicitações de servidor MCP por sessão. Configure o MCP no gateway ou agente do OpenClaw. |
Métodos de sistema de arquivos do cliente (fs/read_text_file, fs/write_text_file) | Sem suporte | A ponte não chama métodos de sistema de arquivos do cliente ACP. |
Métodos de terminal do cliente (terminal/*) | Sem suporte | A ponte não cria terminais do cliente ACP nem transmite ids de terminal por chamadas de ferramentas. |
| Planos de sessão / streaming de pensamento | Sem suporte | Atualmente, a ponte emite texto de saída e status de ferramentas, não atualizações ACP de plano ou pensamento. |
Limitações conhecidas
loadSessionsó consegue reproduzir o histórico completo do livro-razão de eventos ACP para sessões criadas pela ponte. Sessões antigas/sem livro-razão ainda usam fallback de transcrição e não reconstroem chamadas de ferramentas históricas nem avisos do sistema.- Se vários clientes ACP compartilharem a mesma chave de sessão do Gateway, o
roteamento de eventos e cancelamentos será de melhor esforço em vez de
estritamente isolado por cliente. Prefira as sessões isoladas padrão
acp:<uuid>quando precisar de turnos locais do editor limpos. - Estados de parada do Gateway são traduzidos para motivos de parada ACP, mas esse mapeamento é menos expressivo do que um tempo de execução totalmente nativo de ACP.
- Controles iniciais de sessão atualmente expõem um subconjunto focado de opções do Gateway: nível de pensamento, verbosidade de ferramentas, raciocínio, detalhe de uso e ações elevadas. Seleção de modelo e controles de host de exec ainda não são expostos como opções de configuração ACP.
session_info_updateeusage_updatesão derivados de snapshots de sessão do Gateway, não de contabilização de tempo de execução nativa de ACP ao vivo. O uso é aproximado, não inclui dados de custo e só é emitido quando o Gateway marca os dados de tokens totais como atualizados.- Dados de acompanhamento de ferramentas são de melhor esforço. A ponte pode expor caminhos de arquivos que aparecem em argumentos/resultados conhecidos de ferramentas, mas ainda não emite terminais ACP nem diffs de arquivos estruturados.
- A retransmissão de aprovação de exec é limitada ao turno ativo de prompt ACP; aprovações de outras sessões do Gateway são ignoradas.
Uso
Cliente ACP (depuração)
Use o cliente ACP integrado para validar rapidamente a ponte sem uma IDE. Ele inicia a ponte ACP e permite que você digite prompts interativamente.- A aprovação automática é baseada em lista de permissões e se aplica apenas a IDs de ferramentas centrais confiáveis.
- A aprovação automática de
readé limitada ao diretório de trabalho atual (--cwdquando definido). - O ACP só aprova automaticamente classes somente leitura estreitas: chamadas
readcom escopo sob o cwd ativo, além de ferramentas de busca somente leitura (search,web_search,memory_search). Ferramentas desconhecidas/não centrais, leituras fora do escopo, ferramentas capazes de exec, ferramentas de plano de controle, ferramentas mutantes e fluxos interativos sempre exigem aprovação explícita por prompt. toolCall.kindfornecido 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 de ambiente ACPX. Se você executar o OpenClaw por meio do backend
acpx,plugins.entries.acpx.config.permissionMode=approve-allé o interruptor de emergência “yolo” para essa sessão de ambiente.
Teste smoke de protocolo
Para depuração em nível de protocolo, inicie um Gateway com estado isolado e conduzaopenclaw acp por stdio com um cliente ACP JSON-RPC. Cubra
initialize, session/new, session/list com um cwd absoluto,
session/resume, session/close, fechamento duplicado e retomada ausente.
A prova deve incluir as capacidades de ciclo de vida anunciadas, uma linha de
sessão apoiada pelo Gateway, notificações de atualização e o log
sessions.list do Gateway:
openclaw gateway call sessions.list como a única prova ACP. Esse
caminho da CLI pode solicitar uma elevação de escopo de operador com token
recente; a correção da ponte ACP é comprovada por frames stdio ACP mais o log
sessions.list do Gateway.
Como usar isto
Use ACP quando uma IDE (ou outro cliente) fala Agent Client Protocol e você quer que ela conduza uma sessão do Gateway do OpenClaw.- Garanta que o Gateway esteja em execução (local ou remoto).
- Configure o destino do Gateway (configuração ou flags).
- Aponte sua IDE para executar
openclaw acppor stdio.
Selecionando agentes
ACP não escolhe agentes diretamente. Ele roteia pela chave de sessão do Gateway. Use chaves de sessão com escopo de agente para direcionar um agente específico:acp:<uuid> isolada, a menos que você substitua
a chave ou o rótulo.
mcpServers por sessão não é compatível no modo 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 Plugin do OpenClaw ou ferramentas
integradas selecionadas, como cron, habilite as pontes MCP 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 a partir do acpx (Codex, Claude, outros clientes ACP)
Se você quiser que um agente de codificação, como Codex ou Claude Code, converse com seu
bot OpenClaw via ACP, use acpx com seu destino openclaw integrado.
Fluxo típico:
- Execute o Gateway e garanta que a ponte ACP possa alcançá-lo.
- Aponte
acpx openclawparaopenclaw acp. - Direcione para a chave de sessão do OpenClaw que você quer que o agente de codificação use.
acpx openclaw direcione para um Gateway e uma chave de sessão específicos sempre,
substitua o comando do agente openclaw em ~/.acpx/config.json:
Configuração do editor Zed
Adicione um agente ACP personalizado em~/.config/zed/settings.json (ou use a interface de Configurações do Zed):
Mapeamento de sessões
Por padrão, sessões ACP recebem uma chave de sessão do Gateway isolada com um prefixoacp:.
Para reutilizar uma sessão conhecida, passe uma chave ou rótulo de sessão:
--session <key>: use uma chave de sessão específica do Gateway.--session-label <label>: resolva uma sessão existente por rótulo.--reset-session: crie um novo ID de sessão para essa chave (mesma chave, nova transcrição).
Opções
--url <url>: URL WebSocket do Gateway (usa gateway.remote.url por padrão quando configurado).--token <token>: token de autenticação do Gateway.--token-file <path>: leia o token de autenticação do Gateway a partir de um arquivo.--password <password>: senha de autenticação do Gateway.--password-file <path>: leia a senha de autenticação do Gateway a partir de um arquivo.--session <key>: chave de sessão padrão.--session-label <label>: rótulo de sessão padrão a resolver.--require-existing: falhe se a chave/rótulo de sessão não existir.--reset-session: redefina a chave de sessão antes do primeiro uso.--no-prefix-cwd: não prefixe prompts com o diretório de trabalho.--provenance <off|meta|meta+receipt>: inclua metadados ou recibos de proveniência ACP.--verbose, -v: registro detalhado em stderr.
--tokene--passwordpodem ficar visíveis em listagens de processos locais em alguns sistemas.- Prefira
--token-file/--password-fileou variáveis de ambiente (OPENCLAW_GATEWAY_TOKEN,OPENCLAW_GATEWAY_PASSWORD). - A resolução de autenticação do Gateway segue o contrato compartilhado usado por outros clientes Gateway:
- modo local: env (
OPENCLAW_GATEWAY_*) ->gateway.auth.*-> fallback degateway.remote.*somente quandogateway.auth.*não está definido (SecretRefs locais configurados mas não resolvidos falham fechados) - modo remoto:
gateway.remote.*com fallback de env/config conforme regras de precedência remota --urlé seguro para substituição e não reutiliza credenciais implícitas de config/env; passe--token/--passwordexplícitos (ou variantes de arquivo)
- modo local: env (
- Processos filhos do backend de runtime ACP recebem
OPENCLAW_SHELL=acp, que pode ser usado para regras de shell/perfil específicas do contexto. openclaw acp clientdefineOPENCLAW_SHELL=acp-clientno processo de ponte iniciado.
Opções de acp client
--cwd <dir>: diretório de trabalho para a sessão ACP.--server <command>: comando do servidor ACP (padrão:openclaw).--server-args <args...>: argumentos extras passados ao servidor ACP.--server-verbose: habilite registro detalhado no servidor ACP.--verbose, -v: registro detalhado do cliente.