Ниже — подробный план проверки и настройки, который обычно решает проблему «OpenClaw запущен, но не виден в OpenWebUI». Приведу и общие причины, и конкретные команды/настройки (включая примеры для случая, когда OpenClaw предоставляет OpenAI‑совместимый HTTP API — это самый частый сценарий).
1) Быстрая проверка работы OpenClaw
- Убедитесь, что сервис действительно слушает на ожидаемом адресе и порту:
- netstat/ss: ss -ltnp | grep <port>
- или curl: curl -v http://<host>:<port>/ (или /health, если есть)
- Если OpenClaw реализует OpenAI‑совместимый API, проверьте:
- curl -H "Authorization: Bearer YOUR_TOKEN" http://<host>:<port>/v1/models
- Ожидаемый ответ — JSON со списком моделей или хотя бы статус 200/JSON.
2) Как правильно указать OpenClaw в OpenWebUI
- В настройках OpenWebUI нужно добавить внешний провайдер/клиента:
- Если OpenClaw OpenAI‑совместим: в OpenWebUI → Settings → Providers (или OpenAI settings) укажите Base URL = http://<host>:<port> (или https://...), и укажите API‑ключ (тот же, которым пользуется OpenClaw).
- Если OpenWebUI предлагает «Custom API» — выберите OpenAI‑compatible или укажите endpoint /v1 и заголовок Authorization: Bearer <key>.
- После сохранения — нажмите «Refresh models» / «Reload providers» в UI.
3) Частые причины, почему модель не появляется
- Неправильный URL/порт (localhost vs 0.0.0.0 vs IP; контейнерное имя в Docker).
- Неправильный путь (нужно указывать корень API, обычно http://host:port или http://host:port/v1).
- Отсутствует/неправильный API‑ключ (или OpenClaw ожидает другой заголовок).
- CORS: если OpenWebUI работает в браузере и OpenClaw на другом домене/порту, нужны Access‑Control‑Allow‑Origin заголовки.
- Брандмауэр/iptables, Docker network (контейнеры в разных сетях), reverse proxy (NGINX) неправильно проксирует.
- SSL: если OpenClaw на https с самоподписанным cert, OpenWebUI может отвергать соединение (нужно доверить сертификат или включить опцию игнорировать проверку).
- Несовместимый протокол (OpenClaw не поддерживает OpenAI API, а OpenWebUI настроен на OpenAI).
4) Проверки и дебаг (пошагово)
- Проверка от OpenWebUI-хоста:
- С той же машины, где работает OpenWebUI, выполните curl как выше. Если curl возвращает ошибку — OpenWebUI тоже не увидит сервис.
- Включите логирование/debug в OpenWebUI и OpenClaw, посмотрите, идут ли запросы и есть ли ошибки.
- Проверьте логи OpenClaw (systemd, docker logs, stdout) на входящие запросы и ошибки авторизации.
- В браузере откройте DevTools → Network: посмотрите запросы к провайдеру, ошибки CORS/401/404/500.
- Используйте tcpdump/ss для проверки соединения, если подозреваете сетевую проблему.
5) Примеры конфигураций и полезные команды
- Простой curl (OpenAI‑совместимый):
curl -H "Authorization: Bearer SECRET" http://127.0.0.1:8080/v1/models
- Заголовки CORS для Nginx (если ставите прокси):
add_header 'Access-Control-Allow-Origin' '*' always;
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS' always;
add_header 'Access-Control-Allow-Headers' 'Authorization, Content-Type' always;
- Docker: если OpenClaw в контейнере и OpenWebUI в другом контейнере, используйте внутреннее имя сервиса:
в OpenWebUI указывайте http://openclaw:8080 (и оба в одной сети docker-compose).
- Пример минимального docker-compose (иллюстрация):
services:
openclaw:
image: your/openclaw
ports:
- "8080:8080"
environment:
- API_KEY=secret
openwebui:
image: your/openwebui
ports:
- "3000:3000"
environment:
- PROVIDER_URL=http://openclaw:8080
- PROVIDER_KEY=secret
6) Если OpenClaw не OpenAI‑совместим
- Узнайте, какой протокол/API он предоставляет (gRPC, websocket, свой REST).
- OpenWebUI должен поддерживать этот протокол или у вас нужен адаптер/прокси, который переводит API в OpenAI‑совместимый интерфейс.
- Возможно, есть готовый «bridge»/плагин для OpenClaw → OpenAI API; посмотрите документацию OpenClaw.
7) Что прислать, если требуется помощь дальше
- Вывод команды, которая показывает, что OpenClaw слушает (ss -ltnp или docker ps + docker logs).
- Результат curl к /v1/models или /health (включая заголовок Authorization, если применимо).
- Конфигурацию, которую вы вписываете в OpenWebUI (URL, порт, используется ли TLS, установлен ли API‑ключ).
- Логи OpenWebUI при попытке подключиться (ошибка 401/404/0, сообщение в браузере).
Если хотите, помогу шаг за шагом — пришлите:
- Как вы запускаете OpenClaw (команда/контейнер/systemd).
- На каком хосте/порту он слушает.
- Какие настройки вы внесли в OpenWebUI (скрин/текст).
- Результат curl-команды, которую я привёл выше.