Runbook del gateway
Usa esta página para el arranque del día 1 y las operaciones del día 2 del servicio Gateway.Solución de problemas avanzada
Diagnósticos orientados por síntomas con secuencias exactas de comandos y firmas de logs.
Configuración
Guía de configuración orientada a tareas + referencia completa de configuración.
Gestión de secretos
Contrato de SecretRef, comportamiento de instantáneas en tiempo de ejecución y operaciones de migración/recarga.
Contrato del plan de secretos
Reglas exactas de destino/ruta de
secrets apply y comportamiento de perfiles de autenticación solo con refs.Inicio local en 5 minutos
La recarga de configuración del Gateway observa la ruta del archivo de configuración activo (resuelta a partir de los valores predeterminados de profile/state, o
OPENCLAW_CONFIG_PATH cuando está definido).
El modo predeterminado es gateway.reload.mode="hybrid".
Después de la primera carga correcta, el proceso en ejecución sirve la instantánea de configuración activa en memoria; una recarga correcta intercambia esa instantánea de forma atómica.Modelo de tiempo de ejecución
- Un proceso siempre activo para enrutamiento, plano de control y conexiones de canales.
- Un único puerto multiplexado para:
- Control/RPC WebSocket
- API HTTP, compatible con OpenAI (
/v1/models,/v1/embeddings,/v1/chat/completions,/v1/responses,/tools/invoke) - Control UI y hooks
- Modo de enlace predeterminado:
loopback. - La autenticación es obligatoria de forma predeterminada. Las configuraciones con secreto compartido usan
gateway.auth.token/gateway.auth.password(oOPENCLAW_GATEWAY_TOKEN/OPENCLAW_GATEWAY_PASSWORD), y las configuraciones de proxy inverso no loopback pueden usargateway.auth.mode: "trusted-proxy".
Endpoints compatibles con OpenAI
La superficie de compatibilidad de mayor impacto de OpenClaw ahora es:GET /v1/modelsGET /v1/models/{id}POST /v1/embeddingsPOST /v1/chat/completionsPOST /v1/responses
- La mayoría de las integraciones de Open WebUI, LobeChat y LibreChat primero consultan
/v1/models. - Muchos pipelines de RAG y memoria esperan
/v1/embeddings. - Los clientes nativos de agentes prefieren cada vez más
/v1/responses.
/v1/modelsestá orientado a agentes: devuelveopenclaw,openclaw/defaultyopenclaw/<agentId>.openclaw/defaultes el alias estable que siempre apunta al agente predeterminado configurado.- Usa
x-openclaw-modelcuando quieras una sobrescritura de proveedor/modelo del backend; en caso contrario, la configuración normal de modelo y embeddings del agente seleccionado sigue teniendo el control.
Precedencia de puerto y enlace
| Ajuste | Orden de resolución |
|---|---|
| Puerto del Gateway | --port → OPENCLAW_GATEWAY_PORT → gateway.port → 18789 |
| Modo de enlace | CLI/override → gateway.bind → loopback |
Modos de hot reload
gateway.reload.mode | Comportamiento |
|---|---|
off | Sin recarga de configuración |
hot | Aplicar solo cambios seguros para hot reload |
restart | Reiniciar en cambios que requieren recarga |
hybrid (predeterminado) | Aplicar en caliente cuando sea seguro, reiniciar cuando sea necesario |
Conjunto de comandos de operador
gateway status --deep es para descubrimiento adicional de servicios (LaunchDaemons/unidades systemd del sistema
/schtasks), no para una sonda RPC de estado más profunda.
Múltiples gateways (mismo host)
La mayoría de las instalaciones deberían ejecutar un gateway por máquina. Un único gateway puede alojar múltiples agentes y canales. Solo necesitas múltiples gateways cuando quieres aislamiento intencional o un bot de rescate. Comprobaciones útiles:gateway status --deeppuede informarOther gateway-like services detected (best effort)e imprimir sugerencias de limpieza cuando aún existen instalaciones antiguas de launchd/systemd/schtasks.gateway probepuede advertir sobremultiple reachable gatewayscuando más de un destino responde.- Si eso es intencional, aísla puertos, config/state y raíces de workspace por gateway.
Acceso remoto
Preferido: Tailscale/VPN. Respaldo: túnel SSH.ws://127.0.0.1:18789 localmente.
Consulta: Remote Gateway, Authentication, Tailscale.
Supervisión y ciclo de vida del servicio
Usa ejecuciones supervisadas para una fiabilidad tipo producción.- macOS (launchd)
- Linux (systemd de usuario)
- Windows (nativo)
- Linux (servicio del sistema)
ai.openclaw.gateway (predeterminada) o ai.openclaw.<profile> (profile con nombre). openclaw doctor audita y repara la deriva de configuración del servicio.Múltiples gateways en un mismo host
La mayoría de las configuraciones deberían ejecutar un Gateway. Usa varios solo para aislamiento/redundancia estrictos (por ejemplo, un profile de rescate). Lista de verificación por instancia:gateway.portúnicoOPENCLAW_CONFIG_PATHúnicoOPENCLAW_STATE_DIRúnicoagents.defaults.workspaceúnico
Ruta rápida del profile dev
19001.
Referencia rápida del protocolo (vista de operador)
- El primer frame del cliente debe ser
connect. - El Gateway devuelve una instantánea
hello-ok(presence,health,stateVersion,uptimeMs, limits/policy). hello-ok.features.methods/eventsson una lista conservadora de descubrimiento, no un volcado generado de cada ruta auxiliar invocable.- Solicitudes:
req(method, params)→res(ok/payload|error). - Los eventos comunes incluyen
connect.challenge,agent,chat,session.message,session.tool,sessions.changed,presence,tick,health,heartbeat, eventos del ciclo de vida de pairing/aprobación yshutdown.
- Ack inmediato de aceptación (
status:"accepted") - Respuesta final de finalización (
status:"ok"|"error"), con eventosagenttransmitidos entre ambas.
Comprobaciones operativas
Disponibilidad
- Abre WS y envía
connect. - Espera una respuesta
hello-okcon instantánea.
Preparación
Recuperación ante huecos
Los eventos no se vuelven a reproducir. Cuando haya huecos de secuencia, actualiza el estado (health, system-presence) antes de continuar.
Firmas comunes de fallos
| Firma | Problema probable |
|---|---|
refusing to bind gateway ... without auth | Enlace no loopback sin una ruta válida de autenticación del gateway |
another gateway instance is already listening / EADDRINUSE | Conflicto de puertos |
Gateway start blocked: set gateway.mode=local | La configuración está en modo remoto, o falta la marca de modo local en una configuración dañada |
unauthorized during connect | Incompatibilidad de autenticación entre cliente y gateway |
Garantías de seguridad
- Los clientes del protocolo Gateway fallan rápidamente cuando el Gateway no está disponible (sin fallback implícito a canales directos).
- Los primeros frames inválidos/no
connectse rechazan y la conexión se cierra. - El apagado ordenado emite un evento
shutdownantes de cerrar el socket.
Relacionado: