Web interfaces
Панель керування
Gateway dashboard — це браузерний інтерфейс керування, який за замовчуванням надається за адресою / (перевизначається за допомогою gateway.controlUi.basePath).
Швидке відкриття (локальний Gateway):
- http://127.0.0.1:18789/ (або http://localhost:18789/)
- З
gateway.tls.enabled: trueвикористовуйтеhttps://127.0.0.1:18789/іwss://127.0.0.1:18789для кінцевої точки WebSocket.
Основні довідкові матеріали:
- Інтерфейс керування — використання та можливості інтерфейсу.
- Tailscale — автоматизація Serve/Funnel.
- Вебповерхні — режими прив’язування та примітки щодо безпеки.
Автентифікація виконується під час установлення з’єднання WebSocket через налаштований шлях автентифікації Gateway:
connect.params.auth.tokenconnect.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) як ключ фрагмента URLtoken; значення токена ніколи не виводиться в журнали. - Якщо інтерфейс запитує автентифікацію за допомогою спільного секрету, вставте налаштований токен або пароль у налаштуваннях інтерфейсу керування.
Основи автентифікації (локально й віддалено)
- Локальний хост: відкрийте
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) та CLItailscale.
Мініпрограма виконує одноразову передачу власника та переспрямовує до інтерфейсу керування з короткочасним токеном ініціалізації. Вона не розкриває спільний токен Gateway в URL-адресі.
Що не входить до цілей v1:
- Вебфрейм iframe Telegram не підтримується.
- Tailscale Serve/Funnel — єдиний підтримуваний спосіб публікації URL-адреси.
Якщо відображається "unauthorized" / 1008
- Переконайтеся, що Gateway доступний: локально —
openclaw status; віддалено — створіть тунель SSHssh -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?