Drittanbieter und selbst gehostete Anbieter verbinden
Libre WebUI 0.16.0 ergänzt unter Einstellungen > Plugins einen eigenen Arbeitsbereich Anbieterverbindungen. Aktiviere integrierte Anbieter, richte kompatible Plugins auf andere APIs, prüfe den effektiven Modellkatalog oder verbinde ein selbst gehostetes Gateway in einem vertrauenswürdigen Netzwerk.

Libre WebUI unterstützt derzeit diese Anbieterprotokolle:
- OpenAI Chat Completions;
- OpenAI Responses;
- Anthropic Messages; und
- Google Gemini-Inhalte und Funktionsaufrufe.
Die integrierten Anthropic- und Gemini-Definitionen nutzen eigene Adapter anhand ihrer Identität. Ein neu importierter Anbieter verwendet OpenAI Chat Completions oder Responses; eine Anthropic-/Gemini-kompatible URL wählt nicht automatisch deren Adapter. Andere Anfrage-, Streaming-, Werkzeug- oder Antwortformen benötigen einen Backend-Adapter. Plugin-JSON beschreibt Routing und Konfiguration, übersetzt aber kein fremdes Protokoll.
Anbieterverbindungen öffnen
- Melde dich an und öffne Einstellungen > Plugins.
- Durchsuche die Anbieterliste links.
- Wähle einen Anbieter und prüfe Aktivierung und effektiven Katalog.
- Aktiviere ihn für dein Konto.
- Öffne Konfigurieren nur für Anmeldedaten oder Verbindungsüberschreibungen.
Die Konfiguration ist standardmäßig geschlossen. Verbindungseinstellungen erscheinen für Administratoren zuerst; Sampling wie Temperatur und Tokenlimits bleibt unter Erweiterte Parameter getrennt eingeklappt. Geerbte Standards erscheinen als Hinweise, nicht als vorausgefüllte Kontoüberschreibungen.
Definitionen sind gemeinsame Instanzkonfiguration. Nur Administratoren können sie importieren, installieren, aktualisieren oder löschen. Jeder Benutzer kontrolliert eigene Aktivierung, Anmeldedaten und erlaubte Generierungseinstellungen.
Verbindung schnell hinzufügen
Einstellungen > Verbindungen ist der kurze Weg für einen OpenAI-kompatiblen Endpunkt mit API-Schlüssel. Administratoren sehen lokales Ollama mit Zustand und Version, vorhandene Verbindungen und ein Formular.
Erforderlich sind Anzeigename, vollständige Chat-Completions-URL und optionaler Schlüssel. Libre WebUI leitet die ID ab, installiert die Definition, speichert den Schlüssel serverseitig, aktiviert und fragt Modelle ab. Erkannte Modelle ersetzen den Platzhalterkatalog und erscheinen im Chat.
Jede Zeile zeigt Endpunkt, Modellzahl, Schlüsselstatus, Aktivierung, Aktualisierung und Löschen. Responses-Modi, Basis-URL, Kataloge je Fähigkeit und Parameterrichtlinien bleiben im vollständigen Plugin-Arbeitsbereich.
Codex (ChatGPT-Anmeldung)
Der integrierte Anbieter Codex (ChatGPT) braucht keinen API-Schlüssel. Bei einer
Codex CLI-Anmeldung des Servers (codex login als Betriebssystembenutzer) erscheint
er Administratoren und bietet die dokumentierte Codex-Familie über die ChatGPT-
Sitzung. Tokens werden aus auth.json gelesen, mit demselben OAuth-Client erneuert
und zurückgeschrieben; Werte erscheinen nie in Protokollen.
Da Anfragen vom Backend statt aus Aufgabencontainern kommen, unterstützen die Modelle
auch Work mit normaler Sandbox-Schleife. Der Anbieter ist nur für Administratoren,
weil jeder Aufruf das ChatGPT-Abonnement des Servereigentümers nutzt. Blende ihn mit
CODEX_OAUTH_MODELS_ENABLED=false aus oder verwende über CODEX_HOME eine andere
Anmeldung.
Integrierten oder importierten Anbieter wählen
Libre WebUI enthält Definitionen für OpenAI, Anthropic, Gemini, Groq, Mistral, OpenRouter, Kimi Code von Moonshot AI, Hugging Face, GitHub Models, lokales MLX LM und weitere Modell-/Mediendienste. Beginne mit einer integrierten Definition, wenn Protokoll und Authentifizierung passen.
Administratoren können für kompatible Dienste Plugin-JSON importieren. Minimalbeispiel:
{
"id": "private-ai-gateway",
"name": "Private AI Gateway",
"type": "completion",
"endpoint": "http://ai-gateway:8080/v1/chat/completions",
"api_mode": "chat_completions",
"auth": {
"header": "Authorization",
"prefix": "Bearer ",
"key_env": "PRIVATE_AI_GATEWAY_API_KEY"
},
"model_map": ["gateway-chat"]
}
Importiere unter Einstellungen > Plugins, aktiviere und speichere den Schlüssel
für das verwendende Konto. Ergänze Verbindungsvariablen für bearbeitbare Basis-URL,
Pfad, Erkennung oder funktionsbezogene Endpunkte. Das integrierte
plugins/openai.json
ist ein vollständiges Beispiel.
Für ein bewusst authentifizierungsloses Gateway setze auth.header und
auth.key_env leer und lasse auth.prefix weg. Libre WebUI verlangt und sendet
dann keinen Schlüssel.
Chat Completions oder Responses
OpenAI-kompatible Plugins unterstützen beide Modi:
| API-Modus | Standardpfad | Typisches Feld |
|---|---|---|
chat_completions | /chat/completions | messages |
responses | /responses | input |
Der integrierte OpenAI-Anbieter zeigt API-Modus. Libre WebUI bildet fertige und gestreamte Responses-Ausgabe auf Chat und Work ab, einschließlich begrenztem Wiederholungszustand für Schlussfolgern und Werkzeuge.
Der Modus ändert den Standardpfad, nicht das Protokoll des Upstreams. Wähle Responses nur bei kompatiblen Anfrage- und Ereignisformen.
Basis-URL oder vollständigen Endpunkt konfigurieren
Die Vervollständigungsroute wird so aufgelöst:
- Nichtstandardmäßige vollständige
endpoint-Überschreibung. base_urlplus optionalesapi_path.- Endpunkt der Definition.
Basis-URL:
https://gateway.example/v1
Chat Completions ohne eigenen Pfad:
https://gateway.example/v1/chat/completions
Responses:
https://gateway.example/v1/responses
Nutze API-Pfad für eine andere relative Operation und Alter vollständiger Endpunkt nur für die komplette URL. Ein echter vollständiger Endpunkt hat Vorrang.
Bekannte Suffixe /chat/completions, /completions und /responses bestimmen
ebenfalls die Semantik. Unbekannte Pfade behalten den gewählten Modus.
Speichere nach Routen-/Schlüsseländerungen erneut. Eine benutzerdefinierte Route mit Authentifizierung braucht Anmeldedaten desselben Kontos. Ein bewusst offenes Plugin kann Felder leer lassen. Libre WebUI sendet keinen Betreiber-Umgebungsschlüssel an Benutzerziele; Umgebungsfallback gilt nur für die vertrauenswürdige integrierte Route.
Modell-IDs erkennen oder pflegen
Wähle einen aktiven Chat-Anbieter und Modelle aktualisieren. Libre WebUI lädt Anbieterkatalog und Chatliste neu.
Erkennung läuft automatisch, wenn der Katalog fehlt oder älter als
PLUGIN_MODEL_DISCOVERY_TTL_MS ist. Modelle aktualisieren erzwingt sofort:
| Ergebnis | Bedeutung |
|---|---|
| Katalog aktualisiert | Anbieter antwortete, Liste unterscheidet sich |
| Katalog bereits aktuell | Anbieter antwortete mit derselben Liste |
| API-Schlüssel erforderlich | Kein nutzbarer Schlüssel; keine Anfrage, alter Katalog bleibt |
| Katalog konnte nicht geladen werden | Anbieter unerreichbar oder ohne nutzbare Antwort |
Ein reiner Umgebungsschlüssel wird bei installierter statt integrierter Definition nicht verwendet; die Meldung weist darauf hin. Sprach-, Bild- und Embedding-Modelle werden mit Fähigkeiten gelistet, aber aus dem Chatwähler ausgeschlossen.
Für OpenAI-kompatible Routen gilt:
- Endung
/modelsbleibt unverändert; - bekannte Endungen
/chat/completions,/completions,/responses,/embeddingsoder/messageswerden durch/modelsersetzt; und - sonst wird
/modelsangehängt.
Beide Routen ergeben dieselbe Erkennungs-URL:
https://gateway.example/v1/chat/completions
https://gateway.example/v1/responses
-> https://gateway.example/v1/models
Falls die Ableitung falsch ist, exponiere models_endpoint im variables-Array:
{
"name": "models_endpoint",
"type": "string",
"label": "Models Endpoint",
"default": "https://gateway.example/v1/models"
}
Geerbter Standard oder Administratorwert hat Vorrang. Eine oberste
models_endpoint-Eigenschaft wird nicht gelesen. Erwartet wird ein OpenAI-
kompatibles data-Array:
{
"data": [{ "id": "gateway-chat" }, { "id": "gateway-code" }]
}
Erkannte IDs werden je Benutzer gespeichert und schreiben das Plugin nicht um. Ohne
kompatible Erkennung pflege Ersatz-IDs in model_map. Der Katalog ist nur lesbar;
Fähigkeitslabels sind keine Zustandsprüfungen.
Modell-IDs sind nicht global eindeutig. Chat speichert Roh-ID mit exakter Ollama- oder Pluginidentität. Fällt der Anbieter weg, wird die Auswahl nicht verfügbar, statt still umgeleitet.
Bilderzeugung getrennt konfigurieren
Der OpenAI-Anbieter nutzt https://api.openai.com/v1/images/generations und setzt
bei neuen Konfigurationen gpt-image-2 als Standard. Ältere GPT Image-IDs bleiben.
Chat- und Bildrouten sind getrennt. Eine eigene Chat-Basis-URL erhält keine
Bildanfragen. Lasse image_endpoint leer für die Pluginroute oder setze die
vollständige kompatible Operation.
Bildauswahlen sind anbieterbezogen. Bei gleicher ID sendet Libre WebUI nur an den im Bildpanel gewählten Anbieter.
HTTP-Gateway sicher verbinden
Endpunkte dürfen absolute HTTP- oder HTTPS-URLs sein. HTTP eignet sich für vertrauenswürdige LAN-, Tailscale- oder Containernetze, überträgt Schlüssel, Prompts, Ergebnisse und Inhalt aber unverschlüsselt. Bevorzuge HTTPS über Netzwerkgrenzen.
Anfragen kommen vom Backend. Wähle eine erreichbare Adresse:
| Backend-Ort | Beispielwurzel |
|---|---|
| Nativer Prozess, gleicher Rechner | http://127.0.0.1:8081/v1 |
| Docker Compose-Dienst | http://ai-gateway:8080/v1 |
| Container zu unterstütztem Host | http://host.docker.internal:8081/v1 |
| Vertrauenswürdiges LAN/Tailscale | http://192.168.1.20:8081/v1 |
localhost im Container bezeichnet Libre WebUI selbst, nicht andere Dienste oder
automatisch den Host.
Libre WebUI akzeptiert nur HTTP/HTTPS, validiert das Endziel vor Anmeldedaten und folgt keinen Umleitungen. Konfiguriere die endgültige URL direkt.
Gateway vor Aktivierung prüfen
Teste Modellerkennung vom Backend-Rechner oder -Container:
curl http://ai-gateway:8080/v1/models \
-H 'Authorization: Bearer YOUR_GATEWAY_KEY'
Teste danach die passende Operation.
Chat Completions:
curl http://ai-gateway:8080/v1/chat/completions \
-H 'Authorization: Bearer YOUR_GATEWAY_KEY' \
-H 'Content-Type: application/json' \
-d '{
"model": "gateway-chat",
"messages": [{"role": "user", "content": "Reply with: ready"}],
"stream": false
}'
Responses:
curl http://ai-gateway:8080/v1/responses \
-H 'Authorization: Bearer YOUR_GATEWAY_KEY' \
-H 'Content-Type: application/json' \
-d '{
"model": "gateway-chat",
"input": "Reply with: ready",
"store": false
}'
Konfiguriere nach Erfolg Route, Modus, Anmeldedaten und ID identisch. Aktiviere, aktualisiere Modelle und wähle das anbieterbezogene Modell. Work kann es bei zuverlässigen Werkzeugaufrufen ebenfalls nutzen.
Fehlerbehebung
| Symptom | Prüfung |
|---|---|
| Anfragen erreichen integrierten Endpunkt | Entferne veraltete vollständige Überschreibung und speichere Basis-URL/API-Pfad. |
| Anbieter erhält falsche Nutzlast | Stimme Modus mit Chat Completions oder Responses ab und prüfe Suffix. |
| Aktualisierung liefert keine IDs | Teste /models, data[].id, models_endpoint oder pflege model_map. |
| Altes Modell bleibt nach Routenänderung | Speichere; Libre WebUI löscht den veralteten erkannten Katalog. |
| API-Schlüssel fehlt | Speichere benutzerspezifische Anmeldedaten; integrierter Umgebungsfallback folgt Überschreibungen nicht. |
| Docker erreicht localhost nicht | Nutze Compose-Dienstnamen, Hostalias oder erreichbare private Adresse. |
| Chat funktioniert, Bilder nicht | Konfiguriere vollständigen image_endpoint separat und wähle ein Bildmodell. |
| Chat funktioniert, Work lehnt ab | Bestätige kompatible Werkzeugaufrufe; Textvervollständigung reicht nicht. |
| Anbieter leitet um | Konfiguriere endgültige validierte URL; Libre WebUI folgt Umleitungen nicht. |
Details zu Routing, Anmeldedaten, Wiedergabezustand und Autorisierung unter Plugins, Bereitstellungsfehler unter Fehlerbehebung.
Dank an die Gemeinschaft
Diese Anleitung und die Anbieterverbindungen in Libre WebUI 0.16.0 wurden durch ZhengJin (@fangzhengjin) geprägt. Detailliertes Feedback und das KI-gestützte UX-Konzept in #163 halfen beim Ablauf.