CLI commands
Gateway
El Gateway es el servidor WebSocket de OpenClaw (canales, nodos, sesiones, hooks). Todos los subcomandos siguientes se encuentran bajo openclaw gateway ....
Configuración de mDNS local + DNS-SD de área amplia.
Cómo OpenClaw anuncia y encuentra gateways.
Claves de configuración de nivel superior del gateway.
Ejecutar el Gateway
openclaw gatewayopenclaw gateway run # forma explícita equivalenteComportamiento de inicio
- Se niega a iniciarse a menos que
gateway.mode=localesté establecido en~/.openclaw/openclaw.json. Use--allow-unconfiguredpara ejecuciones ad hoc o de desarrollo; omite la comprobación sin escribir ni reparar la configuración. openclaw onboard --mode localyopenclaw setupescribengateway.mode=local. Si el archivo de configuración existe, pero faltagateway.mode, se considera que la configuración está dañada o sobrescrita y el Gateway se niega a deducirlocal— vuelva a ejecutar la incorporación, establezca la clave manualmente o pase--allow-unconfigured.- Se bloquea la vinculación más allá de la interfaz de bucle invertido sin autenticación.
- Actualmente, los valores
lan,tailnetycustomde--bindse resuelven mediante rutas exclusivas de IPv4; las configuraciones de host propio exclusivas de IPv6 necesitan un proceso auxiliar IPv4 o un proxy delante del Gateway. SIGUSR1activa un reinicio dentro del proceso cuando está autorizado.commands.restart(valor predeterminado: habilitado) controla losSIGUSR1enviados externamente; establézcalo enfalsepara bloquear los reinicios manuales mediante señales del SO, pero seguir permitiendo el reinicio mediante el comandogateway restart, la herramienta del gateway y la aplicación o actualización de la configuración.SIGINT/SIGTERMdetienen el proceso, pero no restauran el estado personalizado del terminal; si la CLI está encapsulada en una TUI o una entrada en modo sin procesar, restaure el terminal antes de salir.
Opciones
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tcG9ydCA8cG9ydA
" type="number">
Puerto WebSocket (valor predeterminado de la configuración o el entorno; normalmente 18789).
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tYmluZCA8bW9kZQ
" type="string">
Modo de vinculación: loopback (predeterminado), lan, tailnet, auto, custom.
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tdG9rZW4gPHRva2Vu
" type="string">
Token compartido para connect.params.auth.token. El valor predeterminado es OPENCLAW_GATEWAY_TOKEN cuando está establecido.
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tYXV0aCA8bW9kZQ
" type="string">
Modo de autenticación: none, token, password, trusted-proxy.
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tcGFzc3dvcmQgPHBhc3N3b3Jk
" type="string">
Contraseña para --auth password.
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tdGFpbHNjYWxlIDxtb2Rl
" type="string">
Exposición de Tailscale: off, serve, funnel.
--tailscale-reset-on-exitbooleanRestablecer la configuración serve/funnel de Tailscale al cerrar.
--allow-unconfiguredbooleanIniciar sin aplicar gateway.mode=local. Solo para el arranque ad hoc o de desarrollo; no conserva ni repara la configuración.
--devbooleanCrear una configuración y un espacio de trabajo de desarrollo si no existen (omite BOOTSTRAP.md).
--resetbooleanRestablecer la configuración de desarrollo, las credenciales, las sesiones y el espacio de trabajo. Requiere --dev.
--forcebooleanFinalizar cualquier proceso de escucha existente en el puerto de destino antes de iniciar.
--verbosebooleanRegistro detallado en stdout/stderr.
--cli-backend-logsbooleanMostrar únicamente los registros del backend de la CLI en la consola (también habilita stdout/stderr).
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0td3MtbG9nIDxzdHlsZQ
" type="string" default="auto">
Estilo de registro de WebSocket: auto, full, compact.
--compactbooleanAlias de --ws-log compact.
--raw-streambooleanRegistrar los eventos sin procesar del flujo del modelo en JSONL.
--claude-cli-logs es un alias obsoleto de --cli-backend-logs.
Para --bind custom, establezca gateway.customBindHost en una dirección IPv4. Cualquier dirección distinta de 127.0.0.1 o 0.0.0.0 también requiere 127.0.0.1 en el mismo puerto para los clientes del mismo host; el inicio falla si alguno de los procesos de escucha no puede vincularse. El comodín 0.0.0.0 no añade un alias obligatorio independiente. Las configuraciones de host propio exclusivas de IPv6 necesitan un proceso auxiliar IPv4 o un proxy delante del Gateway.
Reiniciar el Gateway
openclaw gateway restartopenclaw gateway restart --safeopenclaw gateway restart --safe --skip-deferralopenclaw gateway restart --forceopenclaw gateway restart --wait 30s--safe solicita al Gateway en ejecución que compruebe previamente el trabajo activo y programe un único reinicio consolidado una vez que dicho trabajo termine. La espera está limitada por gateway.reload.deferralTimeoutMs (valor predeterminado: 5 minutos / 300000); cuando se agota el tiempo disponible, se fuerza el reinicio. Establezca deferralTimeoutMs: 0 para esperar indefinidamente (con advertencias periódicas de que continúa pendiente) en lugar de forzarlo. --safe no puede combinarse con --force ni --wait.
--skip-deferral omite la comprobación de aplazamiento por trabajo activo en un reinicio seguro, por lo que el Gateway se reinicia inmediatamente incluso si se notifican bloqueos. Requiere --safe; úselo cuando un aplazamiento quede bloqueado por una tarea fuera de control.
--wait <duration> sustituye el tiempo disponible para el vaciado en un reinicio normal (no seguro). Acepta milisegundos sin unidad o los sufijos de unidad ms, s, m, h, d (por ejemplo, 30s, 5m, 1h30m); --wait 0 espera indefinidamente. No es compatible con --force ni --safe.
--force omite el vaciado del trabajo activo y reinicia inmediatamente. restart normal (sin indicadores) mantiene el comportamiento de reinicio existente del gestor de servicios.
Perfilado del Gateway
OPENCLAW_GATEWAY_STARTUP_TRACE=1registra los tiempos de las fases durante el inicio, incluidos el retrasoeventLoopMaxpor fase y los tiempos de las tablas de consulta de plugins (índice instalado, registro de manifiestos, planificación del inicio y procesamiento del mapa de propietarios).OPENCLAW_GATEWAY_RESTART_TRACE=1registra líneasrestart trace:correspondientes al reinicio: gestión de señales, vaciado del trabajo activo, fases de cierre, siguiente inicio, tiempo hasta estar listo y métricas de memoria.OPENCLAW_DIAGNOSTICS=timelineconOPENCLAW_DIAGNOSTICS_TIMELINE_PATH=<path>escribe, en la medida de lo posible, una cronología JSONL de diagnóstico del inicio para sistemas externos de QA (equivale a la configuracióndiagnostics.flags: ["timeline"]; la ruta sigue disponible únicamente mediante el entorno). AñadaOPENCLAW_DIAGNOSTICS_EVENT_LOOP=1para incluir muestras del bucle de eventos.pnpm buildy despuéspnpm test:startup:gateway -- --runs 5 --warmup 1evalúan comparativamente el inicio del Gateway con respecto al punto de entrada integrado de la CLI: primera salida del proceso,/healthz,/readyz, tiempos de seguimiento del inicio, retraso del bucle de eventos y tiempo de las tablas de consulta de plugins.pnpm buildy despuéspnpm test:restart:gateway -- --case skipChannels --runs 1 --restarts 5evalúan comparativamente el reinicio dentro del proceso en macOS o Linux (no se admite en Windows; el reinicio requiereSIGUSR1). UsaSIGUSR1, habilita ambos seguimientos en el proceso secundario y registra los siguientes/healthzy/readyz, el tiempo de inactividad, el tiempo hasta estar listo, la CPU, la RSS y las métricas de seguimiento del reinicio./healthzindica actividad;/readyzindica disponibilidad operativa. Considere las líneas de seguimiento y la salida de la evaluación comparativa como una señal de atribución al propietario, no como una conclusión completa sobre el rendimiento basada en un único intervalo o muestra.
Consultar un Gateway en ejecución
Todos los comandos de consulta usan RPC mediante WebSocket.
Modos de salida
- Valor predeterminado: legible para personas (con colores en TTY).
--json: JSON legible por máquinas (sin estilos ni indicador de progreso).--no-color(oNO_COLOR=1): deshabilita ANSI y conserva el diseño legible para personas.
Opciones compartidas
--url <url>: URL WebSocket del Gateway.--token <token>: token del Gateway.--password <password>: contraseña del Gateway.--timeout <ms>: tiempo de espera o tiempo disponible (el valor predeterminado varía según el comando; consulte cada comando a continuación).--expect-final: espera una respuesta «final» (llamadas de agentes).
gateway health
openclaw gateway health --url ws://127.0.0.1:18789openclaw gateway health --port 18789/healthz es una sonda de actividad: devuelve una respuesta en cuanto el servidor puede responder mediante HTTP. /readyz es más estricta y permanece en rojo mientras los procesos auxiliares de plugins, los canales o los hooks configurados durante el inicio siguen estabilizándose. Las respuestas detalladas locales o autenticadas de /readyz incluyen un bloque de diagnóstico eventLoop (retraso, utilización, proporción de núcleos de CPU e indicador degraded).
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tcG9ydCA8cG9ydA
" type="number">
Usar como destino un Gateway local de bucle invertido en este puerto. Sustituye OPENCLAW_GATEWAY_URL y OPENCLAW_GATEWAY_PORT para esta llamada.
gateway usage-cost
Obtener resúmenes de costes de uso de los registros de sesiones.
openclaw gateway usage-costopenclaw gateway usage-cost --days 7openclaw gateway usage-cost --agent work --jsonopenclaw gateway usage-cost --all-agentsopenclaw gateway usage-cost --json"--days"--agent--all-agentsbooleanAgregar todos los agentes configurados. No puede combinarse con --agent.
gateway stability
Obtener el registro reciente de estabilidad de diagnóstico de un Gateway en ejecución.
openclaw gateway stabilityopenclaw gateway stability --type payload.largeopenclaw gateway stability --bundle latestopenclaw gateway stability --bundle latest --exportopenclaw gateway stability --jsonOPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tbGltaXQgPGxpbWl0
" type="number" default="25">
Número máximo de eventos recientes que se incluirán (máximo: 1000).
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tdHlwZSA8dHlwZQ
" type="string">
Filtrar por tipo de evento de diagnóstico, por ejemplo, payload.large o diagnostic.memory.pressure.
"--since-seq--bundle [path]stringLeer un paquete de estabilidad almacenado en lugar de llamar al Gateway en ejecución. --bundle latest (o simplemente --bundle) selecciona el paquete más reciente del directorio de estado; también se puede pasar directamente una ruta JSON de paquete.
--exportbooleanEscribir un archivo zip compartible con diagnósticos para soporte en lugar de imprimir los detalles de estabilidad.
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tb3V0cHV0IDxwYXRo
" type="string">
Ruta de salida para --export.
Privacidad y comportamiento del paquete
- Los registros conservan metadatos operativos: nombres de eventos, recuentos, tamaños en bytes, lecturas de memoria, estado de colas/sesiones, identificadores de aprobación, nombres de canales/plugins y resúmenes de sesiones censurados. Excluyen el texto de los chats, los cuerpos de webhooks, las salidas de herramientas, los cuerpos sin procesar de solicitudes/respuestas, los tokens, las cookies, los valores secretos, los nombres de host y los identificadores de sesión sin procesar. Establezca
diagnostics.enabled: falsepara desactivar por completo el registrador. - Las salidas fatales del Gateway, los tiempos de espera agotados durante el apagado y los fallos de inicio tras un reinicio escriben la misma instantánea de diagnóstico en
~/.openclaw/logs/stability/openclaw-stability-*.jsoncuando el registrador contiene eventos. Inspeccione el paquete más reciente conopenclaw gateway stability --bundle latest;--limit,--typey--since-seqtambién se aplican a la salida del paquete.
gateway diagnostics export
Escribe un archivo zip de diagnóstico local diseñado para informes de errores. Para obtener información sobre el modelo de privacidad y el contenido del paquete, consulte Exportación de diagnósticos.
openclaw gateway diagnostics exportopenclaw gateway diagnostics export --output openclaw-diagnostics.zipopenclaw gateway diagnostics export --json"--log-lines"--log-bytes"--url"--token"--password"--timeout--no-stability-bundlebooleanOmite la búsqueda del paquete de estabilidad persistente.
--jsonbooleanMuestra como JSON la ruta escrita, el tamaño y el manifiesto.
La exportación agrupa: manifest.json (inventario de archivos), summary.md (resumen en Markdown), diagnostics.json (resumen de nivel superior de configuración/registros/detección/estabilidad/estado/salud), config/sanitized.json, status/gateway-status.json, health/gateway-health.json, logs/openclaw-sanitized.jsonl y stability/latest.json cuando existe un paquete.
Está diseñada para compartirse. Conserva detalles operativos útiles para la depuración —campos de registro seguros, nombres de subsistemas, códigos de estado, duraciones, modos configurados, puertos, identificadores de plugins/proveedores, ajustes de funciones no secretos y mensajes operativos de registro censurados— y omite o censura el texto de los chats, los cuerpos de webhooks, las salidas de herramientas, las credenciales, las cookies, los identificadores de cuentas/mensajes, el texto de prompts/instrucciones, los nombres de host y los valores secretos. Cuando un mensaje de registro parece contener texto de una carga útil de usuario/chat/herramienta (por ejemplo, "el usuario dijo", "texto del chat", "salida de la herramienta", "cuerpo del webhook"), la exportación conserva únicamente el hecho de que se omitió un mensaje y su recuento de bytes.
gateway status
Muestra el servicio del Gateway (launchd/systemd/schtasks), además de una comprobación opcional de conectividad/autenticación.
openclaw gateway statusopenclaw gateway status --jsonopenclaw gateway status --require-rpc"--url"--token"--password"--timeout--no-probebooleanOmite la comprobación de conectividad (vista exclusiva del servicio).
--deepbooleanTambién examina los servicios del sistema.
--require-rpcbooleanEleva la comprobación de conectividad a una comprobación de lectura y finaliza con un código distinto de cero si falla. No se puede combinar con --no-probe.
Semántica del estado
- Permanece disponible para diagnósticos incluso cuando falta la configuración local de la CLI o esta no es válida.
- La salida predeterminada demuestra el estado del servicio, la conexión WebSocket y la capacidad de autenticación visible durante el protocolo de enlace, no las operaciones de lectura/escritura/administración.
- Las comprobaciones no realizan cambios en la autenticación inicial del dispositivo: reutilizan un token de dispositivo existente en caché cuando lo hay, pero nunca crean una nueva identidad de dispositivo de la CLI ni un registro de emparejamiento de solo lectura únicamente para comprobar el estado.
- Resuelve las SecretRefs de autenticación configuradas para autenticar la comprobación cuando es posible. Si una SecretRef obligatoria no se resuelve,
--jsoninforma derpc.authWarningcuando falla la conectividad/autenticación de la comprobación; proporcione--token/--passwordexplícitamente o corrija el origen del secreto. Las advertencias de autenticación sin resolver se suprimen una vez que la comprobación se realiza correctamente. - La salida JSON incluye
gateway.versioncuando el Gateway en ejecución lo comunica;--require-rpcpuede recurrir a la carga útil RPC destatus.runtimeVersionsi la comprobación del protocolo de enlace no puede proporcionar metadatos de versión. - Utilice
--require-rpcen scripts/automatizaciones cuando no baste con que un servicio esté escuchando y también sea necesario que el RPC con ámbito de lectura funcione correctamente. --deepbusca instalaciones adicionales de launchd/systemd/schtasks; cuando se encuentran varios servicios similares a Gateway, la salida para personas muestra sugerencias de limpieza (normalmente, ejecutar un Gateway por máquina) e informa de una transferencia de reinicio reciente del supervisor cuando corresponde.--deeptambién ejecuta la validación de la configuración en modo compatible con plugins (pluginValidation: "full") y muestra las advertencias de los manifiestos de plugins (por ejemplo, metadatos de configuración de canal ausentes). El valor predeterminadogateway statusconserva la ruta rápida de solo lectura que omite la validación de plugins.- La salida para personas incluye la ruta resuelta del archivo de registro, además de las rutas y la validez de la configuración de la CLI frente a las del servicio, para ayudar a diagnosticar divergencias del perfil o del directorio de estado.
Comprobaciones de divergencia de autenticación de systemd en Linux
- Las comprobaciones de divergencia de autenticación del servicio leen tanto
Environment=comoEnvironmentFile=de la unidad (incluidos%h, las rutas entre comillas, varios archivos y los archivos opcionales-). - Resuelve las SecretRefs de
gateway.auth.tokenmediante el entorno de ejecución combinado (primero el entorno del comando del servicio y después, como alternativa, el entorno del proceso). - Las comprobaciones de divergencia de tokens omiten la resolución del token de configuración cuando la autenticación mediante token no está activa de forma efectiva (
gateway.auth.modeestablecido explícitamente enpassword/none/trusted-proxy, o el modo no está establecido cuando puede prevalecer la contraseña y ningún token candidato puede prevalecer).
gateway probe
El comando para «depurarlo todo». Siempre comprueba:
- el Gateway remoto configurado (si se estableció), y
- localhost (bucle invertido), aunque haya un remoto configurado.
Al proporcionar --url, se añade ese destino explícito delante de ambos. La salida para personas etiqueta los destinos como URL (explicit), Remote (configured) / Remote (configured, inactive) y Local loopback.
openclaw gateway probeopenclaw gateway probe --jsonopenclaw gateway probe --port 18789OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tcG9ydCA8cG9ydA
" type="number">
Utiliza este puerto para el destino de comprobación del bucle invertido local y el puerto remoto del túnel SSH. Sin --url, selecciona únicamente el destino de bucle invertido local en lugar de la URL del entorno del Gateway configurado, el puerto del entorno o los destinos remotos.
Interpretación
Reachable: yessignifica que al menos un destino aceptó una conexión WebSocket.Capability: read-only|write-capable|admin-capable|pairing-pending|connect-onlyinforma de lo que la comprobación pudo demostrar sobre la autenticación, independientemente de la accesibilidad.Read probe: oksignifica que las llamadas RPC de detalles con ámbito de lectura (health/status/system-presence/config.get) también se realizaron correctamente.Read probe: limited - missing scope: operator.readsignifica que la conexión se realizó correctamente, pero el RPC con ámbito de lectura es limitado. Se informa como accesibilidad degradada, no como fallo total.Read probe: faileddespués deConnect: oksignifica que el WebSocket se conectó, pero los diagnósticos de lectura posteriores agotaron el tiempo de espera o fallaron; también se considera degradado, no inaccesible.- Al igual que
gateway status, la comprobación reutiliza la autenticación de dispositivo existente en caché, pero no crea una identidad de dispositivo inicial ni un estado de emparejamiento. - El código de salida solo es distinto de cero cuando ninguno de los destinos comprobados es accesible.
Salida JSON
Nivel superior:
ok: al menos un destino es accesible.degraded: al menos un destino aceptó una conexión, pero no completó todos los diagnósticos RPC detallados.capability: mejor capacidad observada entre los destinos accesibles (read_only,write_capable,admin_capable,pairing_pending,connected_no_operator_scopeounknown).primaryTargetId: mejor destino que se debe tratar como el ganador activo, en este orden: URL explícita, túnel SSH, remoto configurado, bucle invertido local.warnings[]: registros de advertencias según el mejor esfuerzo concode,messageytargetIdsopcional.network: sugerencias de URL de bucle invertido local/tailnet derivadas de la configuración actual y de la red del host.discovery.timeoutMs/discovery.count: el presupuesto de detección y el número de resultados reales utilizados para esta ejecución de la comprobación.
Por destino (targets[].connect): ok (accesibilidad y clasificación degradada), rpcOk (éxito completo del RPC detallado), scopeLimited (el RPC detallado falló porque faltaba el ámbito de operador).
Por destino (targets[].auth): role y scopes se incluyen en hello-ok cuando están disponibles, además de la clasificación capability mostrada.
Códigos de advertencia habituales
ssh_tunnel_failed: falló la configuración del túnel SSH; el comando recurrió a comprobaciones directas.multiple_gateways: se podía acceder a identidades de Gateway distintas o OpenClaw no pudo demostrar que los destinos accesibles fueran el mismo Gateway. Un túnel SSH, una URL de proxy o una URL remota configurada que apunten al mismo Gateway no activan esta advertencia.auth_secretref_unresolved: no se pudo resolver una SecretRef de autenticación configurada para un destino cuya comprobación falló.probe_scope_limited: la conexión WebSocket se realizó correctamente, pero la comprobación de lectura quedó limitada porque faltabaoperator.read.local_tls_runtime_unavailable: TLS está habilitado en el Gateway local, pero OpenClaw no pudo cargar la huella digital del certificado local.
Remoto mediante SSH (equivalencia con la aplicación para Mac)
El modo "Remote over SSH" de la aplicación para macOS utiliza un reenvío de puerto local para que se pueda acceder en ws://127.0.0.1:<port> a un Gateway remoto restringido al bucle invertido.
Equivalente en la CLI:
openclaw gateway probe --ssh user@gateway-hostOPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tc3NoIDx0YXJnZXQ
" type="string">
user@host o user@host:port (el puerto predeterminado es 22).
--ssh-autobooleanSelecciona el primer host del Gateway detectado como destino SSH desde el punto de conexión de detección resuelto (local. más el dominio de área extensa configurado, si existe). Se ignoran las sugerencias basadas únicamente en TXT.
Valores predeterminados de configuración (opcionales): gateway.remote.sshTarget, gateway.remote.sshIdentity.
gateway call <method>
Asistente de RPC de bajo nivel.
openclaw gateway call statusopenclaw gateway call logs.tail --params '{"limit": 200}'"--params"--url"--token"--password"--timeout--expect-finalbooleanPrincipalmente para RPC de estilo agente que transmiten eventos intermedios antes de una carga útil final.
--jsonbooleanSalida JSON legible por máquina.
Gestionar el servicio Gateway
openclaw gateway installopenclaw gateway startopenclaw gateway stopopenclaw gateway restartopenclaw gateway uninstallInstalar con un contenedor
Use --wrapper cuando el servicio gestionado deba iniciarse mediante otro ejecutable, por ejemplo, un adaptador de un gestor de secretos o una utilidad de ejecución como otro usuario. El contenedor recibe los argumentos normales del Gateway y es responsable de ejecutar finalmente openclaw o Node con esos argumentos.
cat > ~/.local/bin/openclaw-doppler <<'EOF'#!/usr/bin/env bashset -euo pipefailexec doppler run --project my-project --config production -- openclaw "$@"EOFchmod +x ~/.local/bin/openclaw-doppler openclaw gateway install --wrapper ~/.local/bin/openclaw-doppler --forceopenclaw gateway restartTambién se puede configurar el contenedor mediante el entorno. gateway install valida que la ruta corresponda a un archivo ejecutable, escribe el contenedor en el ProgramArguments del servicio y conserva OPENCLAW_WRAPPER en el entorno del servicio para posteriores reinstalaciones forzadas, actualizaciones y reparaciones de doctor.
OPENCLAW_WRAPPER="$HOME/.local/bin/openclaw-doppler" openclaw gateway install --forceopenclaw doctorPara eliminar un contenedor conservado, borre OPENCLAW_WRAPPER durante la reinstalación:
OPENCLAW_WRAPPER= openclaw gateway install --forceopenclaw gateway restartOpciones del comando
gateway status:--url,--token,--password,--timeout,--no-probe,--require-rpc,--deep,--jsongateway install:--port,--runtime <node>(valor predeterminado:node),--token,--wrapper <path>,--force,--jsongateway restart:--safe,--skip-deferral,--force,--wait <duration>,--jsongateway uninstall|start:--jsongateway stop:--disable,--json
Comportamiento del ciclo de vida
- Use
gateway restartpara reiniciar un servicio administrado. No encadenegateway stopygateway startcomo sustituto de un reinicio. - En macOS,
gateway stopusalaunchctl bootoutde forma predeterminada, lo que elimina el LaunchAgent de la sesión de arranque actual sin conservar una desactivación; la recuperación automática de KeepAlive permanece activa para futuros fallos ygateway startvuelve a habilitarlo correctamente sin necesidad de ejecutar manualmentelaunchctl enable. Pase--disablepara suprimir de forma persistente KeepAlive y RunAtLoad, de modo que el Gateway no vuelva a iniciarse hasta el siguientegateway startexplícito; use esta opción cuando una detención manual deba mantenerse tras los reinicios. - Los comandos del ciclo de vida aceptan
--jsonpara su uso en scripts.
Autenticación y SecretRefs durante la instalación
- Cuando la autenticación mediante token requiere un token y
gateway.auth.tokenestá administrado mediante SecretRef,gateway installvalida que SecretRef se pueda resolver, pero no conserva el token resuelto en los metadatos del entorno del servicio. - Si la autenticación mediante token requiere un token y no se puede resolver el SecretRef del token configurado, la instalación se bloquea de forma segura en lugar de conservar texto sin formato como alternativa.
- Para la autenticación mediante contraseña en
gateway run, se recomienda usarOPENCLAW_GATEWAY_PASSWORD,--password-fileogateway.auth.passwordrespaldado por SecretRef en lugar de--passwordinsertado directamente. - En el modo de autenticación inferido,
OPENCLAW_GATEWAY_PASSWORDdisponible solo en el shell no flexibiliza los requisitos de token de la instalación; al instalar un servicio administrado, use una configuración persistente (gateway.auth.passwordoenven la configuración). - Si se configuran tanto
gateway.auth.tokencomogateway.auth.passwordygateway.auth.modeno está establecido, la instalación se bloquea hasta que el modo se establezca explícitamente.
Descubrir gateways (Bonjour)
gateway discover busca señales de Gateway (_openclaw-gw._tcp).
- DNS-SD de multidifusión:
local. - DNS-SD de unidifusión (Bonjour de área amplia): elija un dominio (por ejemplo:
openclaw.internal.) y configure DNS dividido y un servidor DNS; consulte Bonjour.
Solo los gateways que tienen habilitado el descubrimiento mediante Bonjour (valor predeterminado) anuncian la señal.
Indicaciones TXT en cada señal: role (indicación del rol del Gateway), transport (indicación del transporte, p. ej., gateway), gatewayPort (puerto WebSocket, normalmente 18789), tailnetDns (nombre de host de MagicDNS, cuando está disponible), gatewayTls / gatewayTlsSha256 (TLS habilitado y huella digital del certificado). sshPort y cliPath solo se publican en el modo de descubrimiento completo (discovery.mdns.mode: "full"; el valor predeterminado es "minimal", que los omite; en ese caso, los clientes usan de forma predeterminada el puerto 22 para los destinos SSH).
gateway discover
openclaw gateway discover"--timeout--jsonbooleanSalida legible por máquina (también deshabilita los estilos y el indicador de progreso).
Ejemplos:
openclaw gateway discover --timeout 4000openclaw gateway discover --json | jq '.beacons[].wsUrl'