Рецепт · OpenClaw

Open WebUI поверх OpenClaw: PWA, логины и отдельные сессии

Схема подключения Open WebUI к локальному Gateway: отдельные сессии, карточки вызовов инструментов и восстановление после перезапуска.

· 3 мин чтения

Коротко

  • Open WebUI становится внешним фронтом, а Gateway остаётся локальным и недоступным из интернета.
  • Каждый пользователь получает свои чаты и сессии.
  • Вызовы инструментов открываются как карточки, а работа субагентов отображается в отдельной панели.

Сверено с документацией OpenClaw 2026.10.9, 30 октября 2026.

Рецепт «Локальный Gateway под Open WebUI» переносит интерфейс в Open WebUI: Он добавляет PWA на телефоне, реальные логины и отдельные чаты для каждого участника.

Схема: Open WebUI снаружи, Gateway на loopback

Телефон обращается только к Open WebUI. Тот связывается с Gateway через протокол OpenClaw: WebSocket-транспорт и RPC-методы. Gateway остаётся на 127.0.0.1:18789, поэтому напрямую из интернета он не принимает подключения.

Внешнее приложение запускает работу через RPC agent и ждёт результата через agent.wait. Для постоянного состояния используются методы sessions.*. Для интерфейса рекомендуется подписываться на события Gateway и отображать только те семейства событий, которые приложение понимает.

Установка через интеграцию Open WebUI

  1. Откройте репозиторий https://github.com/Eliav2/openclaw-openwebui-integration. Eliav2 собрал интеграцию, добавляющую карточки вызовов инструментов и живую панель субагентов; код писал его агент.
  2. Передайте агенту задание с docs-сайтом https://eliav2.github.io/openclaw-openwebui-integration/ и попросите открыть llms.txt. Документация рассчитана на установку агентом.
  3. После установки откройте Open WebUI с телефона как PWA. Войдите отдельными учётными записями и создайте для каждого человека собственный чат.

В отдельном чате попросите агента выполнить действие инструментом. Вызов откроется как карточка, вопрос агента поступит отдельной карточкой, ответы cron и субагентов появятся в чате. Файлы, голос, общий доступ и поиск по всем чатам остаются функциями Open WebUI.

Gateway: оставить локальным и включить токен

Перед подключением внешнего фронта оставьте Gateway на loopback и включите аутентификацию по токену. Если один бот принимает сообщения от нескольких людей, используйте session.dmScope: "per-channel-peer". Если доступны обычные каналы обмена сообщениями, задайте dmPolicy: "pairing" либо строгий allowFrom, вместо dmPolicy: "open".

{
  gateway: {
    bind: "loopback",
    auth: {
      mode: "token",
      token: "replace-with-a-long-random-token",
    },
  },
  session: {
    dmScope: "per-channel-peer",
  },
  agents: {
    defaults: {
      sandbox: { mode: "non-main" },
    },
  },
  tools: {
    profile: "messaging",
    exec: { security: "deny", ask: "always" },
    elevated: { enabled: false },
  },
}

Проверка доступа и восстановления

Сначала пройдите базовые проверки. Затем отправьте авторизованный запрос к локальному Gateway, не полагаясь на конфигурацию текущего терминала.

openclaw doctor
openclaw security audit
openclaw security audit --deep
openclaw health
openclaw gateway probe --url ws://127.0.0.1:18789 --token "$OPENCLAW_GATEWAY_TOKEN"
  • Войдите в Open WebUI двумя пользователями и откройте разные чаты. Проверьте, что история не смешивается.
  • Запустите действие с вызовом инструмента и субагента. Карточка должна открываться, панель субагентов должна показывать выполнение.
  • Перезапустите Gateway и обновите страницу во время ответа. История должна сохраниться, а прерванный основной ход — автоматически восстановиться после перезапуска.
  • Проверьте, что неавторизованное подключение отклоняется: запрос к порту Gateway извне должен быть отклонён.

Где ломается и когда не применять

  • Каждый отдельный чат получает отдельную сессию OpenClaw.
  • Телефон подключается к Open WebUI, а не к порту 18789 Gateway.
  • Перезапуск Gateway не стирает историю: разговоры, cron, записи субагентов и очередь доставки хранятся на диске. Но терминалы Gateway (PTY) завершаются вместе с процессом и не восстанавливаются.
  • Не применяйте эту схему, если Telegram или WhatsApp уже закрывают ваши задачи. Open WebUI нужен ради PWA, логинов, групповых чатов и подробных карточек вызовов инструментов.