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.
Por que existia
- Limite de segurança: a ponte expõe uma pequena lista de permissões em vez de toda a superfície da API do Gateway.
- Pareamento + identidade do Node: a admissão de Node é controlada pelo Gateway e vinculada a um token por Node.
- UX de descoberta: os nós podem descobrir gateways via Bonjour na LAN ou se conectar diretamente por uma tailnet.
- WS de local loopback: o plano de controle WS completo permanece local, a menos que seja tunelado via SSH.
Transporte
- TCP, um objeto JSON por linha (JSONL).
- TLS opcional (quando
bridge.tls.enabledé true). - A porta histórica padrão do listener era
18790(as builds atuais não iniciam uma ponte TCP).
bridgeTls=1 mais bridgeTlsSha256 como uma dica não secreta. Observe que os registros TXT Bonjour/mDNS não são autenticados; os clientes não devem tratar a impressão digital anunciada como um pin autoritativo sem intenção explícita do usuário ou outra verificação fora de banda.
Handshake + pareamento
- O cliente envia
hellocom metadados do Node + token (se já estiver pareado). - Se não estiver pareado, o Gateway responde
error(NOT_PAIRED/UNAUTHORIZED). - O cliente envia
pair-request. - O Gateway aguarda aprovação e então envia
pair-okehello-ok.
hello-ok retornava serverName; as superfícies de Plugin hospedadas agora são anunciadas por meio de pluginSurfaceUrls. Canvas/A2UI usa pluginSurfaceUrls.canvas; o alias obsoleto canvasHostUrl não faz parte do protocolo refatorado.
Quadros
Cliente → Gateway:req/res: RPC do Gateway com escopo (chat, sessões, configuração, integridade, voicewake, skills.bins)event: sinais do Node (transcrição de voz, solicitação de agente, assinatura de chat, ciclo de vida de exec)
invoke/invoke-res: comandos de Node (canvas.*,camera.*,screen.record,location.get,sms.send)event: atualizações de chat para sessões assinadasping/pong: keepalive
src/gateway/server-bridge.ts (removido).
Eventos do ciclo de vida de exec
Os Nodes podem emitir eventosexec.finished ou exec.denied para expor a atividade de system.run.
Eles são mapeados para eventos do sistema no Gateway. (Nodes legados ainda podem emitir exec.started.)
Campos do payload (todos opcionais, salvo indicação em contrário):
sessionKey(obrigatório): sessão do agente que deve receber o evento do sistema.runId: id de exec único para agrupamento.command: string de comando bruta ou formatada.exitCode,timedOut,success,output: detalhes de conclusão (somente finished).reason: motivo da negação (somente denied).
Uso histórico de tailnet
- Vincule a ponte a um IP de tailnet:
bridge.bind: "tailnet"em~/.openclaw/openclaw.json(apenas histórico;bridge.*não é mais válido). - Os clientes se conectam via nome MagicDNS ou IP da tailnet.
- Bonjour não atravessa redes; use host/porta manual ou DNS-SD de área ampla quando necessário.