Runbook do Gateway
Use esta página para a inicialização no primeiro dia e operações do segundo dia do serviço Gateway.Solução de problemas avançada
Diagnóstico orientado por sintomas com sequências exatas de comandos e assinaturas de log.
Configuração
Guia de configuração orientado por tarefas + referência completa de configuração.
Gerenciamento de segredos
Contrato de SecretRef, comportamento de snapshot de runtime e operações de migração/recarga.
Contrato do plano de segredos
Regras exatas de destino/caminho de
secrets apply e comportamento de perfil de autenticação somente com refs.Inicialização local em 5 minutos
A recarga de configuração do Gateway monitora o caminho ativo do arquivo de configuração (resolvido a partir dos padrões de perfil/estado ou de
OPENCLAW_CONFIG_PATH quando definido).
O modo padrão é gateway.reload.mode="hybrid".
Após o primeiro carregamento bem-sucedido, o processo em execução atende o snapshot ativo de configuração em memória; uma recarga bem-sucedida troca esse snapshot de forma atômica.Modelo de runtime
- Um processo sempre ativo para roteamento, plano de controle e conexões de canal.
- Uma única porta multiplexada para:
- controle/RPC por WebSocket
- APIs HTTP, compatíveis com OpenAI (
/v1/models,/v1/embeddings,/v1/chat/completions,/v1/responses,/tools/invoke) - interface de Control e hooks
- Modo de bind padrão:
loopback. - A autenticação é obrigatória por padrão. Configurações de segredo compartilhado usam
gateway.auth.token/gateway.auth.password(ouOPENCLAW_GATEWAY_TOKEN/OPENCLAW_GATEWAY_PASSWORD), e configurações de proxy reverso sem loopback podem usargateway.auth.mode: "trusted-proxy".
Endpoints compatíveis com OpenAI
A superfície de compatibilidade de maior impacto do OpenClaw agora é:GET /v1/modelsGET /v1/models/{id}POST /v1/embeddingsPOST /v1/chat/completionsPOST /v1/responses
- A maioria das integrações com Open WebUI, LobeChat e LibreChat faz sondagem de
/v1/modelsprimeiro. - Muitos pipelines de RAG e memória esperam
/v1/embeddings. - Clientes nativos de agente estão preferindo cada vez mais
/v1/responses.
/v1/modelsé orientado a agente: ele retornaopenclaw,openclaw/defaulteopenclaw/<agentId>.openclaw/defaulté o alias estável que sempre mapeia para o agente padrão configurado.- Use
x-openclaw-modelquando quiser uma substituição de provedor/modelo de backend; caso contrário, a configuração normal de modelo e embeddings do agente selecionado continua no controle.
Precedência de porta e bind
| Setting | Resolution order |
|---|---|
| Gateway port | --port → OPENCLAW_GATEWAY_PORT → gateway.port → 18789 |
| Bind mode | CLI/override → gateway.bind → loopback |
Modos de recarga a quente
gateway.reload.mode | Behavior |
|---|---|
off | Sem recarga de configuração |
hot | Aplica apenas alterações seguras a quente |
restart | Reinicia em alterações que exigem recarga |
hybrid (padrão) | Aplica a quente quando seguro, reinicia quando necessário |
Conjunto de comandos do operador
gateway status --deep é para descoberta extra de serviço (LaunchDaemons/unidades systemd do sistema
/schtasks), não para uma sondagem de integridade RPC mais profunda.
Múltiplos gateways (mesmo host)
A maioria das instalações deve executar um gateway por máquina. Um único gateway pode hospedar múltiplos agentes e canais. Você só precisa de múltiplos gateways quando quiser isolamento intencional ou um bot de resgate. Verificações úteis:gateway status --deeppode relatarOther gateway-like services detected (best effort)e imprimir dicas de limpeza quando instalações antigas de launchd/systemd/schtasks ainda estiverem presentes.gateway probepode avisar sobremultiple reachable gatewaysquando mais de um destino responder.- Se isso for intencional, isole portas, configuração/estado e raízes de workspace por gateway.
Acesso remoto
Preferencial: Tailscale/VPN. Fallback: túnel SSH.ws://127.0.0.1:18789 localmente.
Consulte: Gateway remoto, Autenticação, Tailscale.
Supervisão e ciclo de vida do serviço
Use execuções supervisionadas para confiabilidade semelhante à de produção.- macOS (launchd)
- Linux (systemd do usuário)
- Windows (nativo)
- Linux (serviço de sistema)
ai.openclaw.gateway (padrão) ou ai.openclaw.<profile> (perfil nomeado). openclaw doctor audita e repara desvio de configuração do serviço.Múltiplos gateways em um host
A maioria das configurações deve executar um Gateway. Use múltiplos apenas para isolamento/redundância estritos (por exemplo, um perfil de resgate). Checklist por instância:gateway.portexclusivoOPENCLAW_CONFIG_PATHexclusivoOPENCLAW_STATE_DIRexclusivoagents.defaults.workspaceexclusivo
Caminho rápido do perfil de desenvolvimento
19001.
Referência rápida de protocolo (visão do operador)
- O primeiro frame do cliente deve ser
connect. - O Gateway retorna um snapshot
hello-ok(presence,health,stateVersion,uptimeMs, limites/política). hello-ok.features.methods/eventssão uma lista conservadora de descoberta, não um despejo gerado de todos os caminhos auxiliares chamáveis.- Solicitações:
req(method, params)→res(ok/payload|error). - Eventos comuns incluem
connect.challenge,agent,chat,session.message,session.tool,sessions.changed,presence,tick,health,heartbeat, eventos do ciclo de vida de pareamento/aprovação eshutdown.
- Confirmação imediata de aceite (
status:"accepted") - Resposta final de conclusão (
status:"ok"|"error"), com eventosagenttransmitidos entre elas.
Verificações operacionais
Disponibilidade
- Abra o WS e envie
connect. - Espere uma resposta
hello-okcom snapshot.
Prontidão
Recuperação de lacunas
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
| Signature | Likely issue |
|---|---|
refusing to bind gateway ... without auth | Bind sem loopback sem um caminho válido de autenticação do gateway |
another gateway instance is already listening / EADDRINUSE | Conflito de porta |
Gateway start blocked: set gateway.mode=local | Configuração definida para modo remoto, ou carimbo de modo local ausente em uma configuração danificada |
unauthorized during connect | 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).
- Primeiros frames inválidos/não
connectsão rejeitados e a conexão é fechada. - O desligamento gracioso emite o evento
shutdownantes do fechamento do socket.
Relacionado: