OpenClawSkills
GitHub
Referencia CLI • 5 min de lectura

Gateway

CLI de OpenClaw Gateway (openclaw gateway) — ejecuta, inspecciona y descubre gateways.

Gateway es el servidor WebSocket de OpenClaw (canales, nodos, sesiones, hooks).

Los subcomandos en esta página están bajo ''openclaw gateway …''.

Docs relacionados:

- ''/gateway/bonjour''

- ''/gateway/discovery''

- ''/gateway/configuration''

Tutorial.step

Ejecutar gateway

Ejecuta un proceso de gateway local:

Bash
openclaw gateway

Alias en primer plano:

Bash
openclaw gateway run

Notas:

- Por defecto, el gateway se niega a iniciar a menos que ''gateway.mode=local'' esté establecido en ''~/.openclaw/openclaw.json''. Usa ''--allow-unconfigured'' para ejecuciones temporales/dev.

- Vincular fuera de loopback sin autorización está bloqueado (salvaguardas de seguridad).

- ''SIGUSR1'' dispara reinicio en-proceso cuando está autorizado (habilita ''commands.restart'' o usa herramienta de gateway/config apply/update).

- Los manejadores ''SIGINT''/''SIGTERM'' detienen el proceso del gateway, pero no restauran ningún estado de terminal personalizado. Si usas TUI o wrappers de entrada raw mode para CLI, restaura el terminal antes de salir.

### Opciones

- ''--port <port>'': Puerto WebSocket (predeterminado desde config/env; típicamente ''18789'').

- ''--bind <loopback|lan|tailnet|auto|custom>'': Modo de vinculación del listener.

- ''--auth <token|password>'': Anulación de modo de auth.

- ''--token <token>'': Anulación de token (también establece ''OPENCLAW_GATEWAY_TOKEN'' para el proceso).

- ''--password <password>'': Anulación de password (también establece ''OPENCLAW_GATEWAY_PASSWORD'' para el proceso).

- ''--tailscale <off|serve|funnel>'': Expone gateway vía Tailscale.

- ''--tailscale-reset-on-exit'': Resetea la config de servicio/funnel de Tailscale al apagar.

- ''--allow-unconfigured'': Permite que el gateway inicie sin ''gateway.mode=local'' en config.

- ''--dev'': Crea una config+workspace de dev si falta (salta BOOTSTRAP.md).

- ''--reset'': Resetea config+credentials+sessions+workspace de dev (requiere ''--dev'').

- ''--force'': Mata cualquier listener existente en el puerto seleccionado antes de iniciar.

- ''--verbose'': Logging verboso.

- ''--claude-cli-logs'': Muestra logs de claude-cli solo en consola (y habilita su stdout/stderr).

- ''--ws-log <auto|full|compact>'': estilo de log websocket (predeterminado ''auto'').

Tutorial.step

Consultar gateway en ejecución

Todos los comandos de consulta usan WebSocket RPC.

Modos de salida:

- Predeterminado: Legible por humanos (coloreado en TTY).

- ''--json'': JSON legible por máquina (sin estilo/spinners).

- ''--no-color'' (o ''NO_COLOR=1''): Deshabilita ANSI manteniendo layout humano.

Opciones compartidas (si soportadas):

- ''--url <url>'': URL WebSocket del Gateway.

- ''--token <token>'': Token del Gateway.

- ''--password <password>'': Password del Gateway.

- ''--timeout <ms>'': Timeout/presupuesto (varía por comando).

#

Tutorial.step

`gateway health`

Bash
openclaw gateway health --url ws://127.0.0.1:18789

#

Tutorial.step

`gateway status`

''gateway status'' muestra el servicio del gateway (launchd/systemd/schtasks) y probe RPC opcional.

Bash
openclaw gateway status
openclaw gateway status --json

Opciones:

- ''--url <url>'': Anula URL de probe.

- ''--token <token>'': Auth de token para probe.

- ''--password <password>'': Auth de password para probe.

- ''--timeout <ms>'': Timeout de probe (predeterminado ''10000'').

- ''--no-probe'': Salta probe RPC (solo vista de servicio).

- ''--deep'': También escanea servicios a nivel de sistema.

#

Tutorial.step

`gateway probe`

''gateway probe'' es el comando "depura todo". Siempre hace probe:

- Tu gateway remoto configurado (si está establecido), y

- Localhost (loopback) incluso si remote está configurado.

Bash
openclaw gateway probe
openclaw gateway probe --json

##

Tutorial.step

Remoto vía SSH (paridad con app Mac)

macOS app "Remote via SSH" mode uses local port forwarding, so remote gateway is accessible at ''ws://127.0.0.1:<port>'' (may only bind to loopback).

CLI equivalent:

Bash
openclaw gateway probe --ssh user@gateway-host

Options:

- ''--ssh <target>'': ''user@host'' or ''user@host:port'' (port defaults to ''22'').

- ''--ssh-identity <path>'': Identity file.

- ''--ssh-auto'': Pick first discovered gateway host as SSH target (LAN/WAB only).

Config (optional, used as defaults):

- ''gateway.remote.sshTarget''

- ''gateway.remote.sshIdentity''

#

Tutorial.step

`gateway call &lt;method&gt;`

Low-level RPC helper.

Bash
openclaw gateway call status
openclaw gateway call logs.tail --params '{"sinceMs": 60000}'
Tutorial.step

Gestionar servicio de gateway

Bash
openclaw gateway install
openclaw gateway start
openclaw gateway stop
openclaw gateway restart
openclaw gateway uninstall

- ''gateway install'' supports ''--port'', ''--runtime'', ''--token'', ''--force'', ''--json''.

- Lifecycle commands accept ''--json'' for scripting.

Tutorial.step

Discover gateways (Bonjour)

''gateway discover'' scans for gateway beacons (''_openclaw-gw._tcp'').

- Multicast DNS-SD: ''local.''

- Unicast DNS-SD (Wide-Area Bonjour): Pick a domain (e.g., ''openclaw.internal.'') and set split DNS + DNS server; see ''/gateway/bonjour''

Only gateways with Bonjour discovery enabled (default) advertise beacons.

Wide-area discovery records include (TXT):

- ''role'' (gateway role hint)

- ''transport'' (transport hint, e.g., ''gateway'')

- ''gatewayPort'' (WebSocket port, typically ''18789'')

- ''sshPort'' (SSH port; defaults to ''22'' if absent)

- ''tailnetDns'' (MagicDNS hostname, if available)

- ''gatewayTls'' / ''gatewayTlsSha256'' (TLS enabled + cert fingerprint)

- ''cliPath'' (optional hint for remote install)

##

#

Tutorial.step

`gateway discover`

Bash
openclaw gateway discover

Options:

- ''--timeout <ms>'': Per-command timeout (browse/resolve); default ''2000''.

- ''--json'': Machine-readable output (also disables styling/spinners).

Examples:

Bash
openclaw gateway discover --timeout 4000
openclaw gateway discover --json | jq '.beacons[].wsUrl'