Panel de control
El panel de control de Gateway es la interfaz de usuario de control del navegador que se sirve en / de forma predeterminada
(anular con gateway.controlUi.basePath).
Apertura rápida (Gateway local):
- http://127.0.0.1:18789/ (o http://localhost:18789/)
- Con
gateway.tls.enabled: true, usehttps://127.0.0.1:18789/ywss://127.0.0.1:18789para el endpoint de WebSocket.
Referencias clave:
- Control UI para el uso y las capacidades de la interfaz de usuario.
- Tailscale para la automatización de Serve/Funnel.
- Web surfaces para los modos de enlace y notas de seguridad.
La autenticación se aplica en el protocolo de enlace WebSocket a través de la ruta de autenticación de la gateway configurada:
connect.params.auth.tokenconnect.params.auth.password- Encabezados de identidad de Tailscale Serve cuando
gateway.auth.allowTailscale: true - encabezados de identidad de proxy de confianza cuando
gateway.auth.mode: "trusted-proxy"
Consulte gateway.auth en Gateway configuration.
Nota de seguridad: la interfaz de usuario de control es una superficie de administración (chat, configuración, aprobaciones de ejecución). No la exponga públicamente. La interfaz de usuario mantiene los tokens de URL del panel en sessionStorage para la sesión de la pestaña del navegador actual y la URL de la gateway seleccionada, y los elimina de la URL después de la carga. Se prefiere localhost, Tailscale Serve o un túnel SSH.
Ruta rápida (recomendado)
Sección titulada «Ruta rápida (recomendado)»- Después de la incorporación, la CLI abre automáticamente el panel e imprime un enlace limpio (sin token).
- Vuelva a abrir en cualquier momento:
openclaw dashboard(copia el enlace, abre el navegador si es posible, muestra un consejo de SSH si no tiene interfaz gráfica). - Si fallan la entrega al portapapeles y al navegador,
openclaw dashboardtodavía imprime la URL limpia y le indica que utilice el token deOPENCLAW_GATEWAY_TOKENogateway.auth.tokencomo la clave de fragmento de URLtoken; no imprime los valores de los tokens en los registros. - Si la interfaz de usuario solicita autenticación de secreto compartido, pegue el token o contraseña configurada en la configuración de Control UI.
Conceptos básicos de autenticación (local vs remota)
Sección titulada «Conceptos básicos de autenticación (local vs remota)»- Localhost: abra
http://127.0.0.1:18789/. - Gateway TLS: cuando
gateway.tls.enabled: true, los enlaces del panel de estado usanhttps://y los enlaces WebSocket de Control UI usanwss://. - Fuente del token de secreto compartido:
gateway.auth.token(oOPENCLAW_GATEWAY_TOKEN);openclaw dashboardpuede pasarlo a través del fragmento de URL para un arranque inicial único, y Control UI lo mantiene en sessionStorage para la sesión actual de la pestaña del navegador y la URL de gateway seleccionada en lugar de localStorage. - Si
gateway.auth.tokenestá administrado por SecretRef,openclaw dashboardimprime/copia/abre una URL sin token por diseño. Esto evita exponer tokens administrados externamente en los registros del shell, el historial del portapapeles o los argumentos de inicio del navegador. - Si
gateway.auth.tokenestá configurado como SecretRef y no está resuelto en su shell actual,openclaw dashboardtodavía imprime una URL sin token más orientación de configuración de autenticación accionable. - Contraseña de secreto compartido: use el
gateway.auth.passwordconfigurado (oOPENCLAW_GATEWAY_PASSWORD). El panel no persiste las contraseñas entre recargas. - Modos con identidad: Tailscale Serve puede satisfacer la autenticación de Control UI/WebSocket mediante encabezados de identidad cuando
gateway.auth.allowTailscale: true, y un proxy inverso con conocimiento de identidad que no sea de bucle local puede satisfacergateway.auth.mode: "trusted-proxy". En esos modos, el panel de control no necesita un secreto compartido pegado para el WebSocket. - No localhost: use Tailscale Serve, un enlace de secreto compartido que no sea de bucle local, un proxy inverso con conocimiento de identidad que no sea de bucle local con
gateway.auth.mode: "trusted-proxy", o un túnel SSH. Las API HTTP aún usan autenticación de secreto compartido a menos que ejecute intencionalmente private-ingressgateway.auth.mode: "none"o autenticación HTTP de proxy confiable. Consulte Web surfaces.
Si ve “unauthorized” / 1008
Sección titulada «Si ve “unauthorized” / 1008»- Asegúrese de que la puerta de enlace sea alcanzable (local:
openclaw status; remoto: túnel SSHssh -N -L 18789:127.0.0.1:18789 user@hosty luego abrirhttp://127.0.0.1:18789/). - Para
AUTH_TOKEN_MISMATCH, los clientes pueden hacer un reintento confiable con un token de dispositivo almacenado en caché cuando la puerta de enlace devuelve sugerencias de reintento. Ese reintento con token en caché reutiliza los alcances aprobados en caché del token; los llamadores explícitosdeviceToken/ explícitosscopesmantienen su conjunto de alcances solicitados. Si la autenticación aún falla después de ese reintento, resuelva la deriva del token manualmente. - Para
AUTH_SCOPE_MISMATCH, el token del dispositivo se reconoció pero no lleva los alcances solicitados por el panel; vuelva a emparejar o apruebe el contrato de alcance solicitado en lugar de rotar el token compartido de la puerta de enlace. - Fuera de esa ruta de reintento, la precedencia de autenticación de conexión es primero el token/contraseña compartido explícito, luego
deviceTokenexplícito, luego el token de dispositivo almacenado y luego el token de arranque. - En la ruta asíncrona de la interfaz de usuario de control de Tailscale Serve, los intentos fallidos para el mismo
{scope, ip}se serializan antes de que el limitador de autenticación fallida los registre, por lo que el segundo reintento incorrecto simultáneo ya puede mostrarretry later. - Para los pasos de reparación de deriva de tokens, siga la Lista de verificación de recuperación de deriva de tokens.
- Recupere o proporcione el secreto compartido del host de la puerta de enlace:
- Token:
openclaw config get gateway.auth.token - Contraseña: resuelva el
gateway.auth.passwordoOPENCLAW_GATEWAY_PASSWORDconfigurado - Token administrado por SecretRef: resuelva el proveedor de secretos externo o exporte
OPENCLAW_GATEWAY_TOKENen este shell, luego vuelva a ejecutaropenclaw dashboard - No se ha configurado ningún secreto compartido:
openclaw doctor --generate-gateway-token
- Token:
- En la configuración del panel, pegue el token o la contraseña en el campo de autenticación, luego conéctese.
- El selector de idioma de la interfaz de usuario está en Overview -> Gateway Access -> Language. Es parte de la tarjeta de acceso, no de la sección Appearance.