Połącz Open WebUI z niestandardowym endpointem kompatybilnym z OpenAI.
Updated 2026-07-29
Open WebUI traktuje połączenia kompatybilne z OpenAI jako pełnoprawne ustawienie administracyjne: dodaj połączenie w Admin Settings z https://api.apisrouter.com/v1 i jednym kluczem, a każdy model z katalogu pojawi się w selektorze modeli dla wszystkich Twoich użytkowników, obok wszystkiego, co działa lokalnie.
Szybka odpowiedź: jedno połączenie w Admin Settings.
Jako administrator otwórz Admin Settings, przejdź do Connections i w sekcji OpenAI API kliknij, żeby dodać połączenie. Liczą się dwa pola: URL, ustawiony na https://api.apisrouter.com/v1, oraz klucz API. Zapisz, a Open WebUI odpyta listę /v1/models endpointu, żeby wypełnić selektor modeli; zweryfikuj kontrolką sprawdzania połączenia, a następnie wybierz dowolny identyfikator z katalogu w nowym czacie. Połączenia dodane w ten sposób obejmują cały workspace: każdy użytkownik Twojej instancji Open WebUI widzi modele, z zastrzeżeniem skonfigurowanych przez Ciebie kontrolek dostępu do modeli. Te same wartości mogą zamiast tego trafić jako zmienne środowiskowe w czasie wdrożenia, OPENAI_API_BASE_URL i OPENAI_API_KEY, co jest czystszą ścieżką, gdy instancja jest provisionowana przez pliki compose, a nie klikana ręcznie.
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 selectorJak Open WebUI korzysta z połączeń OpenAI.
Open WebUI (ok. 145 tys. gwiazdek na GitHubie) to domyślny, samodzielnie hostowany front-end czatu AI: pełnofunkcyjny klient webowy z użytkownikami i uprawnieniami, RAG i kolekcjami wiedzy, wywoływaniem narzędzi i zarządzaniem modelami, klasycznie parowany z Ollama dla modeli lokalnych, ale równie dobrze czujący się rozmawiając ze zdalnymi API. Jego model połączeń jest addytywny. Sekcja Ollama obejmuje lokalne runtime'y; sekcja OpenAI API obejmuje dowolny endpoint mówiący standardowym dialektem chat-completions, i możesz dodać kilka połączeń obok siebie. Każde połączenie wnosi swoją listę modeli do współdzielonego selektora, każde ma własny klucz, a każde można wyłączyć bez usuwania jego konfiguracji. Żądania niosą identyfikator modelu jako zwykły string do dowolnego połączenia, które go obsługuje. Ten projekt oznacza, że połączenie z bramką niczego nie wypiera: Twoje lokalne modele nadal działają przez Ollama bez kosztu per token, podczas gdy claude-sonnet-4-6, gpt-5.5, gemini-3.5-flash i deepseek-v4-pro stają się wpisami w selektorze dla konwersacji potrzebujących flagowej jakości. Jeden klucz obejmuje je wszystkie, a użycie po stronie administracyjnej pozostaje czytelne, bo ruch chmurowy wychodzi dokładnie w jednym miejscu.
Konfiguracja w czasie wdrożenia: zmienne środowiskowe.
Dla wdrożeń docker-compose i Kubernetes połączenie może być częścią manifestu. OPENAI_API_BASE_URL przyjmuje endpoint, a OPENAI_API_KEY klucz; instancja startuje z już obecnym połączeniem. Wiele endpointów jest obsługiwanych przez formy mnogie (OPENAI_API_BASE_URLS i OPENAI_API_KEYS z wartościami rozdzielonymi średnikiem), jeśli uruchamiasz więcej niż jedno zdalne źródło. Dwie uwagi operacyjne. Po pierwsze, wartości ustawione przez UI utrwalają się w bazie danych Open WebUI i mają pierwszeństwo przed domyślnymi ustawieniami środowiskowymi po pierwszym starcie — to udokumentowane zachowanie regularnie zaskakuje operatorów, którzy zmieniają zmienną środowiskową i nic się nie dzieje; dostosuj istniejące połączenia w Admin Settings, albo ustaw ENABLE_PERSISTENT_CONFIG=false, jeśli chcesz, żeby środowisko pozostało autorytatywne. Po drugie, jeśli lista modeli endpointu jest duża, użyj listy dozwolonych Model IDs połączenia, żeby wyselekcjonować to, co widzą Twoi użytkownicy; selektor z czterema pozycjami jest używany, a z dwustoma jest przewijany bez zatrzymania. Uwaga o wersji: brzmienie menu dryfowało wraz z szybkim tempem wydań projektu (Settings vs Admin Settings, nazwy sekcji wewnątrz Connections), więc na starszych buildach szukaj pary base URL i klucza OpenAI API tam, gdzie żyją połączenia.
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"Dobór modeli do wieloużytkownikowego workspace'u.
Ponieważ każdy model chmurowy rozlicza się przez jeden klucz, testowanie A/B to wybór w selektorze. Uruchom to samo obciążenie zespołu w odstępie dwóch tygodni na dwóch kandydujących ustawieniach domyślnych i pozwól, żeby widok użycia per model w konsoli APIsRouter sędziował, per model i per dzień, zamiast zgadywać na podstawie benchmarków.
- Wybór modelu domyślnego wykonuje najwięcej pracy we współdzielonej instancji. claude-haiku-4-5-20251001 albo gemini-3.5-flash jako domyślny model workspace'u utrzymuje koszt per konwersacja przy swobodnym użyciu płaski.
- claude-sonnet-4-6 i gpt-5.5 należą do selektora do szkicowania, analizy i pytań o kod; użytkownicy podnoszą poprzeczkę, gdy zadanie na to zasługuje.
- Pipeline'y RAG mnożą tokeny wejściowe: każda odpowiedź niesie pobrane fragmenty. deepseek-v4-pro warto przetestować jako konia roboczego RAG, gdzie obsługa długiego kontekstu per wydany token jest cechą decydującą.
- Trzymaj naprawdę prywatny materiał na lokalnych modelach przez Ollama i kieruj wszystko inne przez bramkę; selektor uczciwie utrzymuje oba tory.
- Użyj listy dozwolonych Model IDs jako polityki: to, czego nie ma w selektorze, nie może Cię zaskoczyć w logu użycia.
Płatność za użycie · poniżej cen oficjalnych
Selected models are priced below official list prices. Exact input, output, cache, and per-request prices are shown for each model.
| Model | Cena oficjalna | Nasza cena |
|---|---|---|
| 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 |
Tryby awarii charakterystyczne dla Open WebUI.
Brak pojawiających się modeli po dodaniu połączenia to najczęstsze zgłoszenie. Przyczyny w kolejności: klucz zawiódł względem /v1/models (sprawdź go kontrolką weryfikacji połączenia), URL brakuje sufiksu /v1, albo przełącznik połączenia jest wyłączony. Open WebUI buduje selektor z tego, co zwraca lista, więc pusty selektor oznacza, że wywołanie listy zawiodło albo nic nie zwróciło. Zmiany środowiskowe, które wydają się ignorowane, to opisana wyżej zasada trwałej konfiguracji: po pierwszym starcie baza danych wygrywa z środowiskiem dla ustawień zarządzanych przez UI. Edytuj połączenie w Admin Settings albo jawnie wyłącz trwałą konfigurację. Model, który się listuje, ale zawodzi w czacie, to zwykle identyfikator, który lista ujawnia, ale Twój klucz nie może go użyć, albo literówka wprowadzona przez ręczną edycję listy dozwolonych Model IDs; porównaj z surowym outputem /v1/models. I trzymaj tory prosto podczas debugowania: problemy z połączeniem Ollama i problemy z połączeniem OpenAI wyglądają identycznie z poziomu okna czatu. Strona Connections pokazuje, do którego toru należy model; przetestuj bezpośrednio zawodzący tor, zanim uznasz, że cała instancja nie działa.
Kto kieruje Open WebUI przez bramkę.
- Zespoły samodzielnie hostujące jeden front-end czatu dla wszystkich, które chcą mieć dostępne flagowe modele bez wydawania kluczy dostawców pojedynczym użytkownikom.
- Użytkownicy Ollama, którzy trzymają lokalne modele do prywatnej pracy, ale chcą mieć jakość Claude i GPT w tym samym selektorze do konwersacji, które tego potrzebują.
- Administratorzy, którzy potrzebują czytelnego rachunku za chmurę: jedno połączenie, jeden klucz i log użycia per model zamiast paragonów od czterech dostawców.
- Operatorzy w regionach, gdzie rejestracja u niektórych dostawców jest uciążliwa; dostęp oparty na doładowaniu, bez wymogu karty, usuwa zależność od każdego providera.
- Homelabowicze uruchamiający Open WebUI dla gospodarstwa domowego, gdzie jedno przedpłacone saldo łatwiej ogarnąć niż jakąkolwiek subskrypcję.
Zweryfikuj endpoint i debuguj pierwszy czat.
Najpierw potwierdź endpoint z poziomu serwera, zwłaszcza przy skonteneryzowanych wdrożeniach, gdzie sieć kontenera nie jest siecią Twojego laptopa. Lista modeli i jedno chat completion z wnętrza hosta potwierdzają połowę dotyczącą bramki, zanim Open WebUI wejdzie do gry. Następnie dodaj połączenie i obserwuj wypełnianie się selektora. Błędy uwierzytelniania to pole klucza; pusty selektor to wywołanie listy; podwojona ścieżka (/v1/v1/...) w logach serwera oznacza, że pole URL już niosło /v1, a coś doklejło kolejne, więc przeczytaj URL dokładnie tak, jak został zapisany. Gdy czaty już płyną, konsola APIsRouter pokazuje model per żądanie, liczbę tokenów i wydatki. Dla wieloużytkownikowej instancji to liczba, która się liczy: które modele faktycznie wybierają Twoi użytkownicy i ile tydzień pracy workspace'u naprawdę kosztuje, per model, per dzień, na jednej stronie.
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"}]}'Częste pytania
Jak dodać niestandardowy endpoint OpenAI API do Open WebUI?
W Admin Settings otwórz Connections i dodaj połączenie w sekcji OpenAI API: URL https://api.apisrouter.com/v1 plus Twój klucz. Zapisz, a selektor modeli wypełni się z listy /v1/models endpointu; użyj listy dozwolonych Model IDs, żeby ją wyselekcjonować.
Czy URL potrzebuje sufiksu /v1?
Tak. Open WebUI dokleja ścieżki tras, takie jak /chat/completions, do podanego przez Ciebie base URL, więc poprawną wartością jest https://api.apisrouter.com/v1. Brakujący sufiks objawia się pustą listą modeli; podwojony objawia się błędami 404 /v1/v1 w logach.
Czy mogę uruchomić Ollama i połączenie z bramką jednocześnie?
Tak, i to jest standardowa konfiguracja. Połączenia Ollama i połączenia OpenAI API to osobne sekcje, które obie zasilają selektor modeli, więc modele lokalne i identyfikatory z katalogu, takie jak claude-sonnet-4-6, siedzą obok siebie, a każda konwersacja wybiera swój tor.
Dlaczego moje zmiany zmiennych środowiskowych są ignorowane?
Open WebUI utrwala ustawienia w swojej bazie danych po pierwszym starcie, a utrwalone wartości mają pierwszeństwo przed domyślnymi ustawieniami środowiskowymi. Zamiast tego edytuj połączenie w Admin Settings, albo ustaw ENABLE_PERSISTENT_CONFIG=false, żeby środowisko pozostało autorytatywne między restartami.
Czy wszyscy użytkownicy widzą modele z połączenia administracyjnego?
Połączenia dodane w Admin Settings domyślnie obejmują cały workspace, z zastrzeżeniem kontrolek dostępu do modeli i uprawnień workspace'u, jakie oferuje Twoja wersja. Wyselekcjonuj selektor listą dozwolonych Model IDs i ustawieniami dostępu per model, zamiast kluczy per użytkownik.
Czy Open WebUI może dotrzeć do Claude i Gemini przez jedno połączenie OpenAI?
Tak. Połączenie mówi standardowymi chat completions i przekazuje identyfikator modelu jako zwykły string, więc działa dowolny identyfikator obsługiwany przez bramkę: identyfikatory Claude, Gemini, DeepSeek i GPT — wszystkie przez jeden URL i jeden klucz.