Runbook do serviço Gateway
Use esta página para a inicialização do dia 1 e as operações do dia 2 do serviço Gateway.Deep troubleshooting
Diagnósticos orientados por sintomas com sequências exatas de comandos e assinaturas de logs.
Configuration
Guia de configuração orientado a tarefas + referência completa de configuração.
Inicialização local em 5 minutos
O recarregamento de configuração do Gateway monitora o caminho do arquivo de configuração ativo (resolvido a partir dos padrões de perfil/estado ou
OPENCLAW_CONFIG_PATH quando definido).
Modo padrão: gateway.reload.mode="hybrid" (aplica mudanças seguras a quente, reinicia em críticas).Modelo de runtime
- Um processo sempre ativo para roteamento, plano de controle e conexões de canal.
- Multiplexação em porta única.
- Controle/RPC via WebSocket
- OpenResponses (HTTP):
/v1/responses. - Interface de controle e hooks
- Modo de bind padrão:
loopback. - A autenticação do Gateway é exigida por padrão: defina
gateway.auth.token(ouOPENCLAW_GATEWAY_TOKEN) ougateway.auth.password.
Precedência de porta e bind
| Configuração | Ordem de resolução |
|---|---|
| Porta do Gateway | Precedência de portas: --port > OPENCLAW_GATEWAY_PORT > gateway.port > padrão 18789. |
| Modo de bind | CLI/override → gateway.bind → loopback |
Modos de hot reload
Desative com gateway.reload.mode="off". | Comportamento de keepalive |
|---|---|
off | Sem recarregamento de configuração |
hot | Aplicar apenas alterações seguras para hot reload |
restart | Reiniciar quando houver alterações que exigem reload |
hybrid (padrão) | Aplicar via hot quando seguro, reiniciar quando necessário |
Conjunto de comandos do operador
Acesso remoto
Tailscale/VPN é preferido; caso contrário, túnel SSH: Fallback: túnel SSH.ws://127.0.0.1:18789 através do túnel.
Veja: Remote Gateway, Authentication, Tailscale.
Supervisão e ciclo de vida do serviço
Use execuções supervisionadas para confiabilidade semelhante à de produção.- macOS (launchd)
- Linux (systemd user)
- Linux (system service)
ai.openclaw.gateway (padrão) ou ai.openclaw.<profile> (perfil nomeado). openclaw doctor audita e corrige desvios na configuração do serviço.Múltiplos gateways (mesmo host)
Geralmente desnecessário: um Gateway pode atender a vários canais de mensagens e agentes. Use múltiplos Gateways apenas para redundância ou isolamento rigoroso (ex: bot de resgate). Checklist por instância:gateway.portexclusivoOPENCLAW_CONFIG_PATHexclusivoOPENCLAW_STATE_DIRexclusivoagents.defaults.workspaceexclusivo
Perfil Dev (--dev)
19001.
Protocolo (visão do operador)
- O primeiro frame do cliente deve ser
connect. - O Gateway retorna um snapshot
hello-ok(presence,health,stateVersion,uptimeMs, limits/policy). - Requisições:
{type:"req", id, method, params}→{type:"res", id, ok, payload|error} - Eventos comuns:
connect.challenge,agent,chat,presence,tick,health,heartbeat,shutdown.
- Ack de aceitação imediato (
status:"accepted") - As respostas
agentsão em duas etapas: primeiroresack{runId,status:"accepted"}, depois umres{runId,status:"ok"|"error",summary}final após o término da execução; a saída em streaming chega comoevent:"agent".
Verificações operacionais
Vitalidade
- Abra o WS e envie
connect. - Espere a resposta
hello-okcom o snapshot.
Prontidão
Recuperação de lacunas
Os eventos não são reproduzidos. Em caso de lacunas na sequência, atualize o estado (health, system-presence) antes de continuar.
Assinaturas comuns de falha
| Assinatura | Problema provável |
|---|---|
refusing to bind gateway ... without auth | Bind fora de loopback sem token/senha |
another gateway instance is already listening / EADDRINUSE | Conflito de porta |
Gateway start blocked: set gateway.mode=local | Configuração definida para modo remoto |
unauthorized durante a conexão | Incompatibilidade de autenticação entre cliente e gateway |
Garantias de segurança
- Clientes do protocolo Gateway falham rapidamente quando o Gateway está indisponível (sem fallback implícito para canal direto).
- Frames iniciais não-connect ou JSON malformado são rejeitados e o socket é fechado.
- Desligamento gracioso: emite evento
shutdownantes de fechar; os clientes devem lidar com fechamento + reconexão.
Relacionado: