Manual operativo del servicio Gateway
Utiliza esta página para el arranque del día 1 y las operaciones del día 2 del servicio Gateway.Deep troubleshooting
Diagnósticos orientados a síntomas con secuencias de comandos exactas y firmas de registros.
Configuration
Guía de configuración orientada a tareas + referencia completa de configuración.
Inicio local en 5 minutos
La recarga de configuración del Gateway supervisa la ruta activa del archivo de configuración (resuelta desde los valores predeterminados del perfil/estado, o
OPENCLAW_CONFIG_PATH cuando está establecido).
Modo predeterminado: gateway.reload.mode="hybrid" (aplica en caliente cambios seguros, reinicia en cambios críticos).Modelo de ejecución
- Un proceso siempre activo para el enrutamiento, el plano de control y las conexiones de canales.
- Multiplexado de puerto único.
- Control/RPC por WebSocket
- OpenResponses (HTTP):
/v1/responses. - UI de control y hooks
- Modo de enlace predeterminado:
loopback. - La autenticación del Gateway es requerida por defecto: configure
gateway.auth.token(oOPENCLAW_GATEWAY_TOKEN) ogateway.auth.password.
Precedencia de puerto y enlace
| Configuración | Orden de resolución |
|---|---|
| Puerto del Gateway | Precedencia de puertos: --port > OPENCLAW_GATEWAY_PORT > gateway.port > predeterminado 18789. |
| Modo de enlace | CLI/override → gateway.bind → loopback |
Modos de recarga en caliente
Deshabilite con gateway.reload.mode="off". | Comportamiento de keepalive |
|---|---|
off | Sin recarga de configuración |
hot | Aplicar solo cambios seguros en caliente |
restart | Reiniciar en cambios que requieren recarga |
hybrid (predeterminado) | Aplicar en caliente cuando sea seguro, reiniciar cuando sea necesario |
Conjunto de comandos del operador
Acceso remoto
Tailscale/VPN es preferido; de lo contrario, túnel SSH: Alternativa: túnel SSH.ws://127.0.0.1:18789 a través del túnel.
Ver: Remote Gateway, Authentication, Tailscale.
Supervisión y ciclo de vida del servicio
Utiliza ejecuciones supervisadas para una fiabilidad similar a producción.- macOS (launchd)
- Linux (systemd user)
- Linux (system service)
ai.openclaw.gateway (predeterminado) o ai.openclaw.<profile> al ejecutar un perfil con nombre. openclaw doctor audita y repara la desviación de configuración del servicio.Múltiples gateways (mismo host)
Por lo general es innecesario: un Gateway puede servir múltiples canales de mensajería y agentes. Use múltiples Gateways solo para redundancia o aislamiento estricto (ej.: bot de rescate). Lista de verificación por instancia:gateway.portúnicoOPENCLAW_CONFIG_PATHúnicoOPENCLAW_STATE_DIRúnicoagents.defaults.workspaceúnico
Ruta rápida del perfil de desarrollo
19001.
Protocolo (vista del operador)
- El primer frame del cliente debe ser
connect. - El Gateway devuelve una instantánea
hello-ok(presence,health,stateVersion,uptimeMs, límites/política). - Solicitudes:
{type:"req", id, method, params}→{type:"res", id, ok, payload|error} - Eventos comunes:
connect.challenge,agent,chat,presence,tick,health,heartbeat,shutdown.
- Acuse de recibo inmediato de aceptación (
status:"accepted") - Las respuestas
agentson de dos etapas: primero un ackres{runId,status:"accepted"}, luego unres{runId,status:"ok"|"error",summary}final tras finalizar la ejecución; la salida en streaming llega comoevent:"agent".
Verificaciones operativas
Vitalidad
- Abre WS y envía
connect. - Espera una respuesta
hello-okcon la instantánea.
Preparación
Recuperación de brechas
Los eventos no se reproducen. En brechas de secuencia, actualiza el estado (health, system-presence) antes de continuar.
Firmas de fallo comunes
| Firma | Problema probable |
|---|---|
refusing to bind gateway ... without auth | Vinculación no loopback sin token/contraseña |
another gateway instance is already listening / EADDRINUSE | Conflicto de puerto |
Gateway start blocked: set gateway.mode=local | Configuración establecida en modo remoto |
unauthorized during connect | Desajuste de autenticación entre el cliente y el Gateway |
Garantías de seguridad
- Los clientes del protocolo Gateway fallan rápidamente cuando el Gateway no está disponible (sin retroceso implícito a canal directo).
- Los primeros frames no-connect o JSON malformado se rechazan y el socket se cierra.
- Apagado ordenado: emite el evento
shutdownantes de cerrar; los clientes deben manejar cierre + reconexión.
Relacionado: