Web interfaces

Панель управления

Панель управления Gateway — это браузерный интерфейс управления, который по умолчанию доступен по адресу / (можно переопределить с помощью 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; значение токена никогда не выводится в журналы.
  • Если интерфейс запрашивает аутентификацию с помощью общего секрета, вставьте настроенный токен или пароль в настройках интерфейса управления.

Основы аутентификации (локальный и удалённый доступ)

  • Localhost: откройте 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. HTTP API по-прежнему используют аутентификацию с помощью общего секрета, если вы намеренно не настроили частный входящий трафик gateway.auth.mode: "none" или HTTP-аутентификацию доверенного прокси. См. Веб-интерфейсы.

Открытие в Telegram

Боты Telegram могут открывать панель управления как мини-приложение Telegram с помощью /dashboard.

Требования:

  • gateway.tailscale.mode: "serve" или "funnel", чтобы Telegram получил HTTPS URL мини-приложения.
  • Отправитель в 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