Zum Hauptinhalt springen

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-Anbieterverbindungen mit Anbietersuche und -auswahl, Verbindungssteuerung, Modellaktualisierung und anbieterbezogenem Fähigkeitskatalog.

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

  1. Melde dich an und öffne Einstellungen > Plugins.
  2. Durchsuche die Anbieterliste links.
  3. Wähle einen Anbieter und prüfe Aktivierung und effektiven Katalog.
  4. Aktiviere ihn für dein Konto.
  5. Ö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-ModusStandardpfadTypisches Feld
chat_completions/chat/completionsmessages
responses/responsesinput

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:

  1. Nichtstandardmäßige vollständige endpoint-Überschreibung.
  2. base_url plus optionales api_path.
  3. 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:

ErgebnisBedeutung
Katalog aktualisiertAnbieter antwortete, Liste unterscheidet sich
Katalog bereits aktuellAnbieter antwortete mit derselben Liste
API-Schlüssel erforderlichKein nutzbarer Schlüssel; keine Anfrage, alter Katalog bleibt
Katalog konnte nicht geladen werdenAnbieter 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 /models bleibt unverändert;
  • bekannte Endungen /chat/completions, /completions, /responses, /embeddings oder /messages werden durch /models ersetzt; und
  • sonst wird /models angehä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-OrtBeispielwurzel
Nativer Prozess, gleicher Rechnerhttp://127.0.0.1:8081/v1
Docker Compose-Diensthttp://ai-gateway:8080/v1
Container zu unterstütztem Hosthttp://host.docker.internal:8081/v1
Vertrauenswürdiges LAN/Tailscalehttp://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

SymptomPrüfung
Anfragen erreichen integrierten EndpunktEntferne veraltete vollständige Überschreibung und speichere Basis-URL/API-Pfad.
Anbieter erhält falsche NutzlastStimme Modus mit Chat Completions oder Responses ab und prüfe Suffix.
Aktualisierung liefert keine IDsTeste /models, data[].id, models_endpoint oder pflege model_map.
Altes Modell bleibt nach RoutenänderungSpeichere; Libre WebUI löscht den veralteten erkannten Katalog.
API-Schlüssel fehltSpeichere benutzerspezifische Anmeldedaten; integrierter Umgebungsfallback folgt Überschreibungen nicht.
Docker erreicht localhost nichtNutze Compose-Dienstnamen, Hostalias oder erreichbare private Adresse.
Chat funktioniert, Bilder nichtKonfiguriere vollständigen image_endpoint separat und wähle ein Bildmodell.
Chat funktioniert, Work lehnt abBestätige kompatible Werkzeugaufrufe; Textvervollständigung reicht nicht.
Anbieter leitet umKonfiguriere 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.

Verwandte Dokumentation