Runbook de 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 en profundidad
Diagnósticos orientados por síntomas con secuencias exactas de comandos y firmas de registro.
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 referencias.Inicio local en 5 minutos
La recarga de configuración de Gateway observa la ruta activa del archivo de configuración (resuelta a partir de los valores predeterminados del perfil/estado, o
OPENCLAW_CONFIG_PATH cuando está establecido).
El modo predeterminado es gateway.reload.mode="hybrid".
Después de la primera carga correcta, el proceso en ejecución sirve la instantánea activa de configuración en memoria; una recarga correcta intercambia esa instantánea de forma atómica.Modelo de tiempo de ejecución
- Un proceso siempre activo para el enrutamiento, el plano de control y las conexiones de canal.
- Un único puerto multiplexado para:
- control/RPC por WebSocket
- APIs HTTP, compatibles 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 con proxy inverso sin 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 sondean primero
/v1/models. - Muchos flujos de RAG y de 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 se asigna al agente predeterminado configurado.- Usa
x-openclaw-modelcuando quieras una anulación de proveedor/modelo de backend; en caso contrario, el modelo normal y la configuración de embeddings del agente seleccionado siguen teniendo el control.
Precedencia de puerto y enlace
| Configuración | Orden de resolución |
|---|---|
| Puerto Gateway | --port → OPENCLAW_GATEWAY_PORT → gateway.port → 18789 |
| Modo de enlace | CLI/override → gateway.bind → loopback |
Modos de recarga en caliente
gateway.reload.mode | Comportamiento |
|---|---|
off | Sin recarga de configuración |
hot | Aplicar solo cambios seguros en caliente |
restart | Reiniciar en cambios que requieran recarga |
hybrid (default) | Aplicar en caliente cuando sea seguro, reiniciar cuando sea necesario |
Conjunto de comandos del operador
gateway status --deep es para descubrimiento adicional de servicios (LaunchDaemons/unidades systemd del sistema
/schtasks), no para un sondeo de estado RPC más profundo.
Varios gateways (mismo host)
La mayoría de las instalaciones deben ejecutar un gateway por máquina. Un solo gateway puede alojar varios agentes y canales. Solo necesitas varios gateways cuando deseas intencionalmente aislamiento 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 hay instalaciones obsoletas de launchd/systemd/schtasks.gateway probepuede advertir sobremultiple reachable gatewayscuando responde más de un destino.- Si eso es intencional, aísla puertos, configuración/estado y raíces del espacio de trabajo por gateway.
Acceso remoto
Preferido: Tailscale/VPN. Alternativa: túnel SSH.ws://127.0.0.1:18789.
Ver: Gateway remoto, Autenticación, Tailscale.
Supervisión y ciclo de vida del servicio
Usa ejecuciones supervisadas para una confiabilidad similar a producción.- macOS (launchd)
- Linux (systemd de usuario)
- Windows (nativo)
- Linux (servicio del sistema)
ai.openclaw.gateway (predeterminada) o ai.openclaw.<profile> (perfil con nombre). openclaw doctor audita y repara desviaciones de configuración del servicio.Varios gateways en un host
La mayoría de las configuraciones deben ejecutar un Gateway. Usa varios solo para aislamiento o redundancia estrictos (por ejemplo, un perfil 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.
Referencia rápida del protocolo (vista del operador)
- La primera trama del cliente debe ser
connect. - Gateway devuelve la instantánea
hello-ok(presence,health,stateVersion,uptimeMs, limits/policy). hello-ok.features.methods/eventsson una lista de descubrimiento conservadora, 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 vinculación/aprobación yshutdown.
- Acuse inmediato de aceptación (
status:"accepted") - Respuesta final de finalización (
status:"ok"|"error"), con eventosagenttransmitidos entre medias.
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. En huecos de secuencia, actualiza el estado (health, system-presence) antes de continuar.
Firmas comunes de fallo
| Firma | Problema probable |
|---|---|
refusing to bind gateway ... without auth | Enlace sin loopback sin una ruta válida de autenticación de gateway |
another gateway instance is already listening / EADDRINUSE | Conflicto de puerto |
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 Gateway no está disponible (sin alternativa implícita a canal directo).
- Las primeras tramas inválidas o distintas de
connectse rechazan y se cierran. - El apagado ordenado emite el evento
shutdownantes del cierre del socket.
Relacionado: