Dashboard (Control UI)
El dashboard del Gateway es la interfaz de Control UI servida en / por defecto
(sobreescribe con gateway.controlUi.basePath).
Acceso rápido (Gateway local):
Referencias clave:
- Control UI para uso y capacidades de la UI.
- Tailscale para automatización de Serve/Funnel.
- Superficies web para modos de bind y notas de seguridad.
La autenticación se aplica en el handshake WebSocket mediante connect.params.auth
(token o contraseña). Consulta gateway.auth en Configuración del Gateway.
Nota de seguridad: el Control UI es una superficie de administración (chat, configuración, aprobaciones exec). No lo expongas públicamente. La UI mantiene los tokens de URL del dashboard en sessionStorage para la sesión actual de la pestaña del navegador y la URL del gateway seleccionada, y los elimina de la URL tras la carga. Prefiere localhost, Tailscale Serve o un túnel SSH.
Ruta rápida (recomendado)
- Tras el onboarding, el CLI auto-abre el dashboard e imprime un enlace limpio (sin token).
- Vuelve a abrir en cualquier momento:
openclaw dashboard(copia el enlace, abre el navegador si es posible, muestra indicación SSH si es headless). - Si la UI solicita auth, pega el token de
gateway.auth.token(oOPENCLAW_GATEWAY_TOKEN) en los ajustes del Control UI.
Conceptos básicos de tokens (local vs remoto)
- Localhost: abre
http://127.0.0.1:18789/. - Origen del token:
gateway.auth.token(oOPENCLAW_GATEWAY_TOKEN);openclaw dashboardpuede pasarlo vía fragmento de URL para bootstrap único, y el Control UI lo mantiene en sessionStorage para la sesión actual de la pestaña del navegador y la URL del gateway seleccionada en lugar de localStorage. - Si
gateway.auth.tokenestá gestionado por SecretRef,openclaw dashboardimprime/copia/abre una URL sin token por diseño. Esto evita exponer tokens gestionados externamente en logs del shell, historial del portapapeles o argumentos de lanzamiento del navegador. - Si
gateway.auth.tokenestá configurado como SecretRef y no está resuelto en tu shell actual,openclaw dashboardsigue imprimiendo una URL sin token más guía de configuración de auth accionable. - No localhost: usa Tailscale Serve (sin token para Control UI/WebSocket si
gateway.auth.allowTailscale: true, asume host del gateway de confianza; los endpoints HTTP API siguen necesitando token/contraseña), bind a tailnet con token, o un túnel SSH. Consulta Superficies web.
Si ves “unauthorized” / 1008
- Asegúrate de que el gateway sea accesible (local:
openclaw status; remoto: túnel SSHssh -N -L 18789:127.0.0.1:18789 user@hostluego abrehttp://127.0.0.1:18789/). - Para
AUTH_TOKEN_MISMATCH, los clientes pueden hacer un reintento de confianza con un token de dispositivo en caché cuando el gateway devuelve indicaciones de reintento. Si la auth sigue fallando después de ese reintento, resuelve la desincronización de tokens manualmente. - Para pasos de reparación de desincronización de tokens, sigue Lista de verificación de recuperación de desincronización de tokens.
- Recupera o proporciona el token desde el host del gateway:
- Config en texto plano:
openclaw config get gateway.auth.token - Config gestionada por SecretRef: resuelve el proveedor de secretos externo o exporta
OPENCLAW_GATEWAY_TOKENen este shell, luego vuelve a ejecutaropenclaw dashboard - Sin token configurado:
openclaw doctor --generate-gateway-token
- Config en texto plano:
- En los ajustes del dashboard, pega el token en el campo de auth, luego conecta.