Подключите Open WebUI к кастомному OpenAI-совместимому эндпоинту.

Updated 2026-07-29

Open WebUI относится к OpenAI-совместимым подключениям как к полноценной админской настройке: добавьте подключение в Admin Settings с https://api.apisrouter.com/v1 и одним ключом, и каждая модель каталога появится в селекторе моделей для всех ваших пользователей, рядом с тем, что работает локально.

Короткий ответ: одно подключение в Admin Settings.

Как админ, откройте Admin Settings, перейдите в Connections и под разделом OpenAI API нажмите добавление подключения. Важны два поля: URL, установленный в https://api.apisrouter.com/v1, и API-ключ. Сохраните, и Open WebUI запросит листинг /v1/models эндпоинта, чтобы заполнить селектор моделей; проверьте элементом проверки подключения, затем выберите любой ID каталога в новом чате. Подключения, добавленные так, действуют на всё рабочее пространство: каждый пользователь вашего инстанса Open WebUI видит модели, с учётом настроенных вами элементов управления доступом к моделям. Те же значения могут поставляться как переменные окружения на этапе деплоя вместо кликов в UI — OPENAI_API_BASE_URL и OPENAI_API_KEY, — что чище, когда инстанс разворачивается compose-файлами, а не собирается вручную.

URL:      https://api.apisrouter.com/v1
API Key:  sk-YOUR-APISROUTER-KEY

Save → models auto-populate from /v1/models
(optional) Model IDs allowlist to curate the selector

Как Open WebUI использует подключения OpenAI.

Open WebUI (около 145K звёзд на GitHub) — самый дефолтный self-hosted интерфейс для ИИ-чата: полнофункциональный веб-клиент с пользователями и разрешениями, RAG и коллекциями знаний, вызовом инструментов и управлением моделями, классически парный с Ollama для локальных моделей, но одинаково уверенно говорящий с удалёнными API. Его модель подключений аддитивна. Раздел Ollama покрывает локальные рантаймы; раздел OpenAI API покрывает любой эндпоинт, говорящий на стандартном диалекте chat-completions, и можно добавить несколько подключений бок о бок. Каждое подключение вносит свой список моделей в общий селектор, у каждого свой ключ, и каждое можно выключить, не удаляя конфигурацию. Запросы несут ID модели как простую строку к тому подключению, которое её обслуживает. Такой дизайн означает, что подключение шлюза ничего не вытесняет: ваши локальные модели продолжают работать через Ollama без токенной оплаты, пока claude-sonnet-4-6, gpt-5.5, gemini-3.5-flash и deepseek-v4-pro становятся записями селектора для разговоров, которым нужно флагманское качество. Один ключ покрывает их все, а использование на стороне админа остаётся читаемым, потому что облачный трафик выходит ровно через одно место.

Настройка на этапе деплоя: переменные окружения.

Для деплоев docker-compose и Kubernetes подключение может быть частью манифеста. OPENAI_API_BASE_URL несёт эндпоинт, а OPENAI_API_KEY — ключ; инстанс поднимается уже с готовым подключением. Несколько эндпоинтов поддерживаются через формы во множественном числе (OPENAI_API_BASE_URLS и OPENAI_API_KEYS со значениями через точку с запятой), если вы используете больше одного удалённого источника. Два операционных нюанса. Во-первых, значения, заданные через UI, сохраняются в базе данных Open WebUI и после первого запуска имеют приоритет над значениями окружения по умолчанию — задокументированное поведение, которое регулярно удивляет операторов, меняющих env и не видящих эффекта; правьте существующие подключения в Admin Settings, либо установите ENABLE_PERSISTENT_CONFIG=false, если хотите, чтобы окружение оставалось авторитетным. Во-вторых, если листинг моделей эндпоинта большой, используйте allowlist Model IDs подключения, чтобы курировать то, что видят ваши пользователи; селектор из четырёх пунктов используется, а из двух сотен — прокручивается мимо. Заметка о версиях: формулировки меню менялись в быстром темпе релизов проекта (Settings против Admin Settings, названия разделов внутри Connections), так что на старых сборках ищите пару base URL и ключа OpenAI API там, где живут подключения.

services:
  open-webui:
    image: ghcr.io/open-webui/open-webui:main
    environment:
      - OPENAI_API_BASE_URL=https://api.apisrouter.com/v1
      - OPENAI_API_KEY=sk-YOUR-APISROUTER-KEY
    ports:
      - "3000:8080"

Выбор моделей для мультипользовательского рабочего пространства.

Поскольку каждая облачная модель тарифицируется через один ключ, A/B-тестирование — это выбор в селекторе. Прогоните одну и ту же командную нагрузку с разницей в две недели на двух кандидатных дефолтах и позвольте виду использования по модели в консоли APIsRouter судить, по модели и по дню, вместо догадок по бенчмаркам.

  • Выбор модели по умолчанию делает больше всего работы в общем инстансе. claude-haiku-4-5-20251001 или gemini-3.5-flash как модель рабочего пространства по умолчанию держит стоимость обычного разговора на плоском уровне.
  • claude-sonnet-4-6 и gpt-5.5 принадлежат селектору для черновиков, анализа и вопросов по коду; пользователи повышают уровень, когда задача этого заслуживает.
  • RAG-пайплайны умножают входные токены: каждый ответ несёт полученные фрагменты. deepseek-v4-pro стоит протестировать как рабочую лошадку для RAG, где обработка длинного контекста на потраченный токен — решающая черта.
  • Держите по-настоящему приватные материалы на локальных моделях через Ollama и направляйте всё остальное через шлюз; селектор честно держит обе полосы.
  • Используйте allowlist Model IDs как политику: то, чего нет в селекторе, не может вас удивить в логе использования.

Оплата по факту · дешевле официальных цен

Selected models are priced below official list prices. Exact input, output, cache, and per-request prices are shown for each model.

МодельОфициальная ценаНаша цена
Claude Haiku 4.5 20251001$1.00 / $5.00 per M$0.80 / $4.00 per M
Claude Sonnet 4.6$3.00 / $15.00 per M$2.40 / $12.00 per M
GPT-5.5$5.00 / $30.00 per M$4.00 / $24.00 per M
Gemini 3.5 Flash$1.50 / $9.00 per M$1.20 / $7.20 per M
DeepSeek V4 Pro$0.43 / $0.87 per M$0.40 / $0.90 per M

Сбои, специфичные именно для Open WebUI.

Отсутствие моделей после добавления подключения — самая частая жалоба. Причины по рангу: ключ не прошёл против /v1/models (проверьте элементом проверки подключения), URL без суффикса /v1, либо переключатель подключения выключен. Open WebUI строит селектор из того, что возвращает листинг, так что пустой селектор означает, что вызов листинга не удался или вернул пустоту. Изменения окружения, которые кажутся игнорируемыми, — это описанное выше правило персистентной конфигурации: после первого запуска база данных побеждает окружение для настроек, которыми управляет UI. Правьте подключение в Admin Settings, либо явно отключите персистентную конфигурацию. Модель, которая есть в списке, но выдаёт ошибку в чате, обычно — это ID, который листинг показывает, но ваш ключ не может использовать, либо опечатка, внесённая при ручной правке allowlist Model IDs. Сравните с сырым выводом /v1/models. И держите полосы раздельно при отладке: проблемы подключения Ollama и проблемы подключения OpenAI выглядят из окна чата одинаково. Страница Connections показывает, к какой полосе принадлежит модель; протестируйте проблемную полосу напрямую, прежде чем предполагать, что весь инстанс лежит.

Кто направляет Open WebUI через шлюз.

  • Команды, самостоятельно хостящие один чат-фронтенд для всех и желающие флагманские модели доступными без выдачи вендорских ключей отдельным пользователям.
  • Пользователи Ollama, держащие локальные модели для приватной работы, но желающие качество Claude и GPT в том же селекторе для разговоров, которым это нужно.
  • Админы, которым нужен читаемый облачный счёт: одно подключение, один ключ и лог использования по модели вместо квитанций от четырёх вендоров.
  • Операторы в регионах, где регистрация у некоторых вендоров болезненна; доступ на основе пополнения без требования карты убирает зависимость от каждого провайдера.
  • Домашние энтузиасты, запускающие Open WebUI для семьи, где один предоплаченный баланс проще осмыслить, чем любая подписка.

Проверьте эндпоинт и отладьте первый чат.

Сначала подтвердите эндпоинт с сервера, особенно в контейнеризованных деплоях, где сеть контейнера — не сеть вашего ноутбука. Листинг моделей и один chat completion изнутри хоста подтверждают половину со стороны шлюза, прежде чем в картину войдёт Open WebUI. Затем добавьте подключение и понаблюдайте за заполнением селектора. Ошибки аутентификации — это поле ключа; пустой селектор — это вызов листинга; удвоенный путь (/v1/v1/...) в логах сервера означает, что поле URL уже несло /v1, а что-то дописало ещё один, так что читайте URL ровно так, как он сохранён. Как только чаты пойдут, консоль APIsRouter покажет модель на запрос, счётчики токенов и расходы. Для мультипользовательского инстанса это число, которое имеет значение: какие модели реально выбирают ваши пользователи и во что реально обходится неделя рабочего пространства, по модели, по дню, на одной странице.

curl -s https://api.apisrouter.com/v1/models \
  -H "Authorization: Bearer $APISROUTER_API_KEY" | head -50

curl -s https://api.apisrouter.com/v1/chat/completions \
  -H "Authorization: Bearer $APISROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"claude-haiku-4-5-20251001",
       "messages":[{"role":"user","content":"ping"}]}'

Частые вопросы

Как добавить кастомный эндпоинт OpenAI API в Open WebUI?

В Admin Settings откройте Connections и добавьте подключение под разделом OpenAI API: URL https://api.apisrouter.com/v1 плюс свой ключ. Сохраните, и селектор моделей заполнится из листинга /v1/models эндпоинта; используйте allowlist Model IDs, чтобы его курировать.

Нужен ли URL суффикс /v1?

Да. Open WebUI дописывает пути маршрутов вроде /chat/completions к тому base URL, который вы дали, так что правильное значение — https://api.apisrouter.com/v1. Отсутствующий суффикс проявляется как пустой список моделей; удвоенный — как 404 на /v1/v1 в логах.

Можно ли использовать Ollama и подключение шлюза одновременно?

Да, и это стандартная настройка. Подключения Ollama и подключения OpenAI API — отдельные разделы, которые оба питают селектор моделей, так что локальные модели и ID каталога вроде claude-sonnet-4-6 сидят бок о бок, а каждый разговор выбирает свою полосу.

Почему мои изменения переменных окружения игнорируются?

Open WebUI сохраняет настройки в свою базу данных после первого запуска, и сохранённые значения имеют приоритет над значениями окружения по умолчанию. Правьте подключение в Admin Settings, либо установите ENABLE_PERSISTENT_CONFIG=false, чтобы окружение оставалось авторитетным между перезапусками.

Видят ли все пользователи модели от админского подключения?

Подключения, добавленные в Admin Settings, по умолчанию действуют на всё рабочее пространство, с учётом элементов управления доступом к моделям и разрешениями рабочего пространства, которые предлагает ваша версия. Курируйте селектор через allowlist Model IDs и настройки доступа по модели, а не через ключи на пользователя.

Может ли Open WebUI обращаться к Claude и Gemini через одно подключение OpenAI?

Да. Подключение говорит на стандартных chat completions и передаёт ID модели как простую строку, так что работает любой ID, который обслуживает шлюз: Claude, Gemini, DeepSeek и GPT — все через один URL и один ключ.