Web interfaces

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

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

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

Основні довідкові матеріали:

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

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

Див. gateway.auth у розділі Налаштування Gateway.

Швидкий спосіб (рекомендовано)

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

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

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

Відкриття в Telegram

Боти Telegram можуть відкривати панель керування як мініпрограму Telegram за допомогою /dashboard.

Вимоги:

  • gateway.tailscale.mode: "serve" або "funnel", щоб Telegram отримав HTTPS-адресу мініпрограми.
  • Відправник у Telegram має бути власником бота: числовий ідентифікатор користувача Telegram у commands.ownerAllowFrom або чинний channels.telegram.allowFrom вибраного облікового запису.
  • Запустіть /dashboard в особистому листуванні з ботом. Виклики в групах лише пропонують відкрити команду в особистому листуванні й не містять кнопки.
  • Установлення Docker: режими Serve/Funnel вимагають, щоб Gateway був прив’язаний до loopback поряд із tailscaled, чого неможливо забезпечити мостовою мережею з опублікованими портами. Запустіть контейнер Gateway з network_mode: host і підключіть до контейнера сокет хоста tailscaled (/var/run/tailscale) та CLI tailscale.

Мініпрограма виконує одноразову передачу власника та переспрямовує до інтерфейсу керування з короткочасним токеном ініціалізації. Вона не розкриває спільний токен Gateway в URL-адресі.

Що не входить до цілей v1:

  • Вебфрейм iframe Telegram не підтримується.
  • Tailscale Serve/Funnel — єдиний підтримуваний спосіб публікації URL-адреси.

Якщо відображається "unauthorized" / 1008

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

Пов’язані матеріали

Was this useful?
On this page

On this page