Web interfaces

Панель керування

Gateway dashboard — це браузерний інтерфейс керування, який за замовчуванням обслуговується за / (перевизначається через gateway.controlUi.basePath).

Швидке відкриття (локальний Gateway):

Ключові посилання:

Автентифікація застосовується під час WebSocket handshake через налаштований шлях автентифікації gateway:

  • connect.params.auth.token
  • connect.params.auth.password
  • заголовки ідентичності Tailscale Serve, коли gateway.auth.allowTailscale: true
  • заголовки ідентичності довіреного проксі, коли gateway.auth.mode: "trusted-proxy"

Див. gateway.auth у Конфігурації Gateway.

Нотатка щодо безпеки: інтерфейс керування є адміністративною поверхнею (чат, конфігурація, схвалення виконання). Не відкривайте його публічно. UI зберігає URL-токени dashboard у sessionStorage для поточної сесії вкладки браузера й вибраного URL gateway та видаляє їх з URL після завантаження. Віддавайте перевагу localhost, Tailscale Serve або SSH-тунелю.

Швидкий шлях (рекомендовано)

  • Після онбордингу CLI автоматично відкриває dashboard і виводить чисте (без токена) посилання.
  • Повторне відкриття будь-коли: openclaw dashboard (копіює посилання, відкриває браузер, якщо можливо, показує підказку SSH у headless-режимі).
  • Якщо доставити через буфер обміну й браузер не вдалося, openclaw dashboard все одно виводить чистий URL і повідомляє використати токен з OPENCLAW_GATEWAY_TOKEN або gateway.auth.token як ключ фрагмента URL token; значення токенів у логи не виводяться.
  • Якщо UI запитує автентифікацію зі спільним секретом, вставте налаштований токен або пароль у налаштування інтерфейсу керування.

Основи автентифікації (локально чи віддалено)

  • Localhost: відкрийте http://127.0.0.1:18789/.
  • Gateway TLS: коли gateway.tls.enabled: true, посилання dashboard/status використовують https://, а WebSocket-посилання інтерфейсу керування використовують wss://.
  • Джерело токена спільного секрету: gateway.auth.token (або OPENCLAW_GATEWAY_TOKEN); openclaw dashboard може передати його через фрагмент URL для одноразового початкового налаштування, а інтерфейс керування зберігає його в sessionStorage для поточної сесії вкладки браузера й вибраного URL gateway замість localStorage.
  • Якщо gateway.auth.token керується SecretRef, openclaw dashboard навмисно виводить/копіює/відкриває URL без токена. Це запобігає розкриттю зовнішньо керованих токенів у shell-логах, історії буфера обміну або аргументах запуску браузера.
  • Якщо gateway.auth.token налаштовано як SecretRef і він не розв’язаний у вашому поточному shell, openclaw dashboard все одно виводить URL без токена та практичні інструкції з налаштування автентифікації.
  • Пароль спільного секрету: використовуйте налаштований gateway.auth.password (або OPENCLAW_GATEWAY_PASSWORD). Dashboard не зберігає паролі між перезавантаженнями.
  • Режими з передаванням ідентичності: Tailscale Serve може задовольнити автентифікацію інтерфейсу керування/WebSocket через заголовки ідентичності, коли gateway.auth.allowTailscale: true, а не-loopback reverse proxy з підтримкою ідентичності може задовольнити gateway.auth.mode: "trusted-proxy". У цих режимах dashboard не потребує вставленого спільного секрету для WebSocket.
  • Не localhost: використовуйте Tailscale Serve, прив’язування зі спільним секретом не на loopback, не-loopback reverse proxy з підтримкою ідентичності та gateway.auth.mode: "trusted-proxy" або SSH-тунель. HTTP API все ще використовують автентифікацію зі спільним секретом, якщо ви навмисно не запускаєте приватний вхід gateway.auth.mode: "none" або HTTP-автентифікацію trusted-proxy. Див. Вебповерхні.

Якщо бачите "unauthorized" / 1008

  • Переконайтеся, що gateway доступний (локально: openclaw status; віддалено: SSH-тунель ssh -N -L 18789:127.0.0.1:18789 user@host, потім відкрийте http://127.0.0.1:18789/).
  • Для AUTH_TOKEN_MISMATCH клієнти можуть виконати одну довірену повторну спробу з кешованим токеном пристрою, коли gateway повертає підказки для повторної спроби. Така повторна спроба з кешованим токеном повторно використовує кешовані схвалені області дії токена; виклики з явним deviceToken / явними scopes зберігають запитаний набір областей дії. Якщо автентифікація все ще не вдається після цієї повторної спроби, усуньте розбіжність токенів вручну.
  • Поза цим шляхом повторної спроби пріоритет автентифікації підключення такий: спочатку явний спільний токен/пароль, потім явний deviceToken, потім збережений токен пристрою, потім bootstrap-токен.
  • На асинхронному шляху інтерфейсу керування Tailscale Serve невдалі спроби для тієї самої {scope, ip} серіалізуються до того, як обмежувач невдалої автентифікації їх фіксує, тому друга конкурентна невдала повторна спроба вже може показати retry later.
  • Для кроків відновлення після розбіжності токенів дотримуйтеся контрольного списку відновлення після розбіжності токенів.
  • Отримайте або надайте спільний секрет з хоста gateway:
    • Токен: openclaw config get gateway.auth.token
    • Пароль: розв’яжіть налаштований gateway.auth.password або OPENCLAW_GATEWAY_PASSWORD
    • Токен, керований SecretRef: розв’яжіть зовнішній постачальник секретів або експортуйте OPENCLAW_GATEWAY_TOKEN у цьому shell, потім повторно запустіть openclaw dashboard
    • Спільний секрет не налаштовано: openclaw doctor --generate-gateway-token
  • У налаштуваннях dashboard вставте токен або пароль у поле автентифікації, потім підключіться.
  • Перемикач мови UI розташований у Огляд -> Доступ до Gateway -> Мова. Він є частиною картки доступу, а не розділу Appearance.

Пов’язане