Open WebUI
Подключение Hubris к Open WebUI — self-hosted веб-интерфейсу для чата с моделями. Один ключ открывает весь каталог в выпадающем списке.
Open WebUI — self-hosted веб-интерфейс для работы с языковыми моделями: чаты с историей, папки и теги, загрузка документов (RAG), голосовой ввод, доступ для нескольких пользователей. Ставится одним контейнером на свой сервер или ноутбук.
Hubris подключается как соединение типа OpenAI: интерфейс сам запрашивает список моделей, и весь каталог появляется в выпадающем меню чата. Один ключ — все модели, оплата в рублях с общего баланса.
Требования
- Развёрнутый Open WebUI (Docker или
pip install open-webui) с правами администратора в нём - Аккаунт на hubris.pw и API-ключ
Подключение через интерфейс
- Откройте ⚙️ Settings → раздел Admin → Connections → блок OpenAI API.
- Нажмите ➕ — откроется окно Add Connection.
- Заполните поля:
| Поле | Значение |
|---|---|
| URL | https://api.hubris.pw/v1 |
| API Key | ваш ключ из личного кабинета, начинается на sk-gw- |
| Model IDs | необязательно: список ID моделей, которые оставить в меню; пусто — весь каталог |
- Нажмите Verify Connection — Open WebUI запросит
/v1/modelsи ответит «Server connection verified». Затем Save: каталог подтянется, и модели появятся в выпадающем меню над окном чата.
URL — именно api.hubris.pw, с api. в начале. Адрес hubris.pw — это сайт и личный кабинет: запросы к API он не обслуживает и в ответ на них объясняет, куда обращаться. Подключение по нему выглядит как «сервис не отвечает».
Подключение через переменные окружения
Если поднимаете контейнер с нуля, соединение можно задать сразу:
docker run -d -p 3000:8080 \
-e OPENAI_API_BASE_URL=https://api.hubris.pw/v1 \
-e OPENAI_API_KEY=sk-gw-ваш-ключ \
-v open-webui:/app/backend/data \
--name open-webui \
ghcr.io/open-webui/open-webui:mainПеременные задают значения по умолчанию при первом запуске; дальше соединение живёт в базе Open WebUI и правится через Settings → Admin → Connections.
Выбор моделей
В каталоге Hubris больше 500 моделей, и по умолчанию Open WebUI выведет в меню их все. Два способа держать список коротким:
- Model IDs в настройках соединения — перечислите нужные ID, остальные не попадут в меню.
- Settings → Admin → Models — скрыть лишние модели у всех пользователей рабочего пространства.
Точные ID берите из каталога — они пишутся полностью, вместе с вендором, в точности как в каталоге: z-ai/glm-5.2, а не glm-5.2 и не z-ai/glm-5.2-20260616.
| ID | Когда подходит |
|---|---|
anthropic/claude-haiku-4.5 | быстрые ответы, ежедневная переписка |
openai/gpt-5.6-luna | универсальный выбор для сложных задач |
z-ai/glm-5.2 | длинные диалоги и код |
Служебные запросы и расход
Open WebUI фоном обращается к модели ради интерфейсных мелочей: заголовок чата в боковой панели, теги, подсказки продолжения, автодополнение в строке ввода. По умолчанию их обслуживает та же модель, в которой идёт разговор, — то есть заголовок «Список покупок» пишет флагман, и это видно в расходах как короткие лишние запросы.
В Settings → Admin → Experience → Interface назначьте External Task Model — например anthropic/claude-haiku-4.5 — либо отключите ненужные из этих функций там же.
Документы и RAG
Для загрузки документов Open WebUI нужна модель-эмбеддер. В Settings → Admin → Tools → Documents выберите движок OpenAI и укажите тот же адрес и ключ, что и для чата, а моделью — эмбеддер из нашего каталога, например openai/text-embedding-3-small.
Через переменные окружения то же самое:
-e RAG_EMBEDDING_ENGINE=openai \
-e RAG_OPENAI_API_BASE_URL=https://api.hubris.pw/v1 \
-e RAG_OPENAI_API_KEY=sk-gw-ваш-ключ \
-e RAG_EMBEDDING_MODEL=openai/text-embedding-3-smallРешение проблем
«Connection failed» или пустой список моделей
- Проверьте адрес:
https://api.hubris.pw/v1— сapi.в начале, с/v1в конце, без косой черты после. - Проверьте ключ: он начинается на
sk-gw-, без пробелов по краям. Ключ виден целиком только при создании; если не сохранили — выпустите новый в разделе «Ключи». - Если Open WebUI работает за медленным каналом, список моделей может не успевать загрузиться — увеличьте таймаут переменной
AIOHTTP_CLIENT_TIMEOUT_MODEL_LIST(в секундах, по умолчанию 10).
Модель есть в каталоге, но чат отвечает ошибкой про модель
ID должен совпадать с каталожным символ в символ, включая вендора перед косой чертой. Имена с датой (...-20260616) и короткие имена без вендора мы не принимаем — Open WebUI покажет «Model not found».
Ошибка про недостаточный баланс
Пополните баланс в кабинете — от 500 ₽, через СБП, банковской картой или по счёту для юридических лиц.
Ответ пустой, хотя запрос списался
Модели с размышлением (Gemini Flash, GPT-5, DeepSeek с включённым режимом рассуждения) сначала тратят токены на размышление. Если в настройках чата (Chat Controls → Advanced Params) задан маленький максимум токенов ответа, на сам текст их не остаётся — уберите ограничение или поднимите его.
Ответы приходят целиком, а не по словам
Потоковую передачу Open WebUI включает сам, отдельной настройки не требуется. Если ответ приходит одним куском — дело обычно в обратном прокси перед Open WebUI: он должен отдавать ответ без буферизации (proxy_buffering off в nginx).
Что дальше
- Каталог моделей — ID для меню Open WebUI.
- Управление ключами — отдельный ключ под установку Open WebUI, чтобы расход был виден отдельно.
- Расходы — детализация по запросам и моделям.
- Chat Completions — что именно уходит в Hubris из Open WebUI.
Обновлено: