Anslut tredjepartsleverantörer och självhostade leverantörer
Libre WebUI 0.16.0 lägger till den fokuserade arbetsytan Provider connections i Settings > Plugins. Använd den för att aktivera en medföljande leverantör, rikta ett kompatibelt plugin mot ett annat API, granska den faktiska modellkatalogen eller ansluta en självhostad gateway på ett betrott nätverk.

Libre WebUI har för närvarande stöd för följande kommunikationsformat:
- OpenAI Chat Completions;
- OpenAI Responses;
- Anthropic Messages; och
- Google Gemini-innehåll och funktionsanrop.
De medföljande definitionerna för Anthropic och Gemini använder särskilda adaptrar som väljs genom leverantörsidentiteten. En nyimporterad leverantör använder semantiken för OpenAI Chat Completions eller OpenAI Responses. Att rikta den mot ett API som är kompatibelt med Anthropic eller Gemini väljer inte dessa medföljande adaptrar. En leverantör med en annan struktur för förfrågningar, strömning, verktygsanrop eller svar behöver en backendadapter. Plugin-JSON beskriver dirigering och konfiguration; den översätter inte ett orelaterat protokoll.
Öppna Provider connections
- Logga in och öppna Settings > Plugins.
- Sök i leverantörslistan i den vänstra panelen.
- Välj en leverantör för att granska dess aktiva status och faktiska modellkatalog.
- Aktivera leverantören för ditt konto.
- Välj Configure endast när du behöver spara uppgifter eller åsidosätta en anslutningsinställning.
Leverantörskonfigurationen är stängd som standard. Anslutningsinställningarna visas först för administratörer, medan samplingskontroller som temperature och tokengränser ligger i den separata, infällda sektionen Advanced parameters. Ärvda standardvärden visas som ledtrådar i stället för förifyllda kontoåsidosättningar.
Plugindefinitioner är gemensam instanskonfiguration, så endast administratörer kan importera, installera, uppdatera eller radera dem. Varje autentiserad användare styr sin egen aktiveringsstatus, sina uppgifter och tillåtna genereringsinställningar.
Lägg snabbt till en anslutning
Settings > Connections är en kortare väg för det vanliga fallet: en OpenAI-kompatibel slutpunkt och en API-nyckel. Administratörer ser ett kort för den lokala Ollama-körtiden med hälsa och version, en lista över befintliga OpenAI-kompatibla anslutningar och ett litet formulär för att lägga till en ny.
För att lägga till en anslutning behövs ett visningsnamn, den fullständiga URL:en för Chat Completions och en valfri API-nyckel. Libre WebUI härleder anslutnings-ID:t från namnet, installerar leverantörsdefinitionen, lagrar nyckeln på serversidan, aktiverar anslutningen och frågar slutpunkten vilka modeller den tillhandahåller. De upptäckta modellerna ersätter platshållarkatalogen och visas i chattens modellväljare.
Varje rad visar slutpunkt, modellantal, om en nyckel är lagrad, ett aktiveringsreglage, modelluppdatering och radering. Allt utöver detta — Responses API-lägen, åsidosättningar av Base URL, kataloger per funktion och policy för genereringsparametrar — finns fortfarande i den fullständiga arbetsytan Settings > Plugins som beskrivs ovan.
Codex (inloggning med ChatGPT)
Den medföljande leverantören Codex (ChatGPT) behöver ingen API-nyckel. När servern
har en Codex CLI-inloggning (codex login som serverns operativsystemsanvändare) visas
leverantören för administratörer och erbjuder den dokumenterade Codex-modellfamiljen
genom ChatGPT-sessionen. Åtkomsttoken läses från CLI:ns egen auth.json, uppdateras
genom samma OAuth-klient som CLI:n använder och skrivs tillbaka så att CLI:n fortsätter
fungera. Tokenvärden visas aldrig i loggar.
Eftersom förfrågningarna görs av backend — aldrig inifrån en uppgiftscontainer — kan
dessa modeller även driva Work med den vanliga sandlådebaserade verktygsloopen.
Leverantören är endast för administratörer eftersom varje anrop använder serverägarens
ChatGPT-prenumeration. Dölj den helt med CODEX_OAUTH_MODELS_ENABLED=false eller peka
på en annan inloggning med CODEX_HOME.
Välj en medföljande eller importerad leverantör
Libre WebUI innehåller definitioner för OpenAI, Anthropic, Gemini, Groq, Mistral, OpenRouter, Kimi Code från Moonshot AI, Hugging Face, GitHub Models, lokal MLX LM och andra modell- eller medietjänster. Börja med en medföljande post när dess protokoll och autentiseringskontrakt passar tjänsten du vill använda.
För en annan kompatibel tjänst kan en administratör importera en plugin-JSON-definition. Detta minimala exempel beskriver en OpenAI-kompatibel gateway:
{
"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"]
}
Importera filen från Settings > Plugins, aktivera den och spara API-nyckeln för
kontot som ska använda anslutningen. Lägg till anslutningsvariabler i definitionen när
administratörer behöver redigerbara fält för Base URL, sökväg, modellsökning eller
funktionsspecifika slutpunkter. Den medföljande
plugins/openai.json
är ett fullständigt exempel.
För en avsiktligt oautentiserad gateway på ett betrott nätverk ställer du både
auth.header och auth.key_env till tomma strängar och utelämnar auth.prefix.
Libre WebUI kräver eller skickar då ingen API-nyckel för pluginet.
Välj Chat Completions eller Responses
OpenAI-kompatibla kompletteringsplugin kan använda något av API-lägena:
| API-läge | Standardsökväg för förfrågan | Typiskt förfrågningsfält |
|---|---|---|
chat_completions | /chat/completions | messages |
responses | /responses | input |
Den medföljande OpenAI-leverantören visar API Mode i sin konfiguration. Libre WebUI mappar slutförda och strömmade Responses-resultat tillbaka till Chat och Work, inklusive begränsat återuppspelningstillstånd för resonemang och verktygsanrop.
Att ändra läge påverkar den normala åtgärdssökvägen. Det ändrar inte protokollet som uppströmsservern talar, så välj Responses endast när servern implementerar kompatibla strukturer för Responses-förfrågningar och händelser.
Konfigurera Base URL eller en fullständig slutpunkt
Libre WebUI väljer en kompletteringsrutt i denna ordning:
- En fullständig, icke-standardmässig åsidosättning av
endpoint. base_urlplus en valfriapi_path.- Slutpunkten som deklareras av plugindefinitionen.
Använd Base URL för API-roten:
https://gateway.example/v1
Utan en anpassad sökväg skickar Chat Completions-läget förfrågningar till:
https://gateway.example/v1/chat/completions
Läget Responses skickar dem i stället till:
https://gateway.example/v1/responses
Använd API Path när leverantören exponerar en kompatibel åtgärd på en annan sökväg relativt roten. Använd Legacy Full Endpoint endast när du behöver ange hela åtgärds-URL:en. En verklig fullständig slutpunkt har företräde framför Base URL och API Path.
Kända slutsuffix /chat/completions, /completions och /responses identifierar
också förfrågans semantik. En anpassad, okänd åtgärdssökväg behåller uttryckligen
valt API-läge.
Efter en ändring av rutt eller API-nyckel sparar du leverantören igen innan Chat testas. När pluginet deklarerar autentisering kräver en anpassad anslutningsrutt uppgifter som sparats av samma konto. Ett avsiktligt oautentiserat plugin kan lämna båda autentiseringsfälten tomma. Libre WebUI skickar inte en operatörshanterad miljönyckel till en användardefinierad destination. Miljöreserv är förbehållen den betrodda medföljande rutten.
Upptäck eller underhåll modell-ID:n
Välj en aktiv chattleverantör och använd Refresh models för att köra modellsökning. Libre WebUI läser in både den valda leverantörens katalog och Chat-modellistan igen.
Modellsökning körs också automatiskt. En aktiv leverantörs katalog söks på nytt när den
saknas eller är äldre än PLUGIN_MODEL_DISCOVERY_TTL_MS, så modellerna som visas följer
leverantören snarare än ögonblicket då den aktiverades. Refresh models tvingar fram
en omedelbar kontroll och rapporterar vad som hände:
| Resultat | Betydelse |
|---|---|
| Katalogen uppdaterades | Leverantören svarade och modellistan skiljer sig från den lagrade |
| Katalogen är redan aktuell | Leverantören svarade med samma lista |
| API-nyckel krävs | Ingen användbar nyckel, så ingen förfrågan gjordes; föregående katalog visas |
| Katalogen kunde inte läsas | Leverantören kunde inte nås eller returnerade inget användbart |
En nyckel som endast finns i miljön används inte för en leverantör som kör en installerad definition i stället för den medföljande. Meddelandet förklarar det när det gäller. Tal-, bild- och inbäddningsmodeller som hittas i leverantörskatalogen listas här med sina funktionsetiketter men hålls utanför chattens modellväljare.
För en OpenAI-kompatibel rutt väljs URL:en för modellistan så här:
- en rutt som slutar med
/modelsanvänds som den är; - ett känt åtgärdssuffix som
/chat/completions,/completions,/responses,/embeddingseller/messagesersätts med/models; och - annars läggs
/modelstill efter rutten.
Exempelvis härleder båda kompletteringsrutterna samma sök-URL:
https://gateway.example/v1/chat/completions
https://gateway.example/v1/responses
-> https://gateway.example/v1/models
När härledningen inte kan skapa rätt fullständig URL exponerar du models_endpoint
i pluginets variables-array:
{
"name": "models_endpoint",
"type": "string",
"label": "Models Endpoint",
"default": "https://gateway.example/v1/models"
}
Det ärvda standardvärdet eller det administratörssparade värdet har företräde framför
den härledda adressen. Egenskapen models_endpoint på manifestets toppnivå läses inte.
Sökningen förväntar sig ett OpenAI-kompatibelt svar med modellobjekt i en data-array:
{
"data": [{ "id": "gateway-chat" }, { "id": "gateway-code" }]
}
Upptäckta ID:n lagras per användare och skriver inte om den gemensamma pluginfilen.
Om leverantören saknar kompatibel sökning underhåller du reserv-ID:n i model_map i
pluginets JSON. Katalogen i Provider connections är skrivskyddad. Funktionsetiketter
beskriver vilken pluginrutt som listar en modell och är inte hälsokontroller.
Modell-ID:n är inte globalt unika. Chat lagrar rått modell-ID tillsammans med dess exakta Ollama- eller pluginleverantörsidentitet, så en Ollama-modell och flera plugin kan säkert exponera samma namn. Om den sparade leverantören inte längre är tillgänglig visar Libre WebUI valet som otillgängligt i stället för att dirigera förfrågan till en annan leverantör i tysthet.
Konfigurera bildgenerering separat
Den medföljande OpenAI-leverantören exponerar bildgenerering via
https://api.openai.com/v1/images/generations och använder för närvarande
gpt-image-2 som standard för nya konfigurationer. Äldre GPT Image-ID:n finns kvar i
reservkatalogen för kompatibla befintliga installationer.
Chatt- och bildrutter är avsiktligt isolerade. En anpassad Chat Base URL tar inte
automatiskt emot bildförfrågningar. Lämna image_endpoint tom för att använda
bildslutpunkten som pluginet deklarerar eller ange hela den kompatibla Image API-URL:en
när leverantören tillhandahåller en.
Bildval är leverantörsspecificerade precis som Chat-val. Om två aktiva plugin exponerar samma bildmodell-ID skickar Libre WebUI endast förfrågan till leverantören som valts i bildpanelen.
Anslut en HTTP-gateway säkert
Leverantörsslutpunkter kan använda absoluta HTTP- eller HTTPS-URL:er. HTTP är användbart för en självhostad gateway på ett betrott LAN, Tailscale-nätverk eller privat containernätverk, men skickar API-nycklar, promptar, verktygsresultat och genererat innehåll utan transportkryptering. Föredra HTTPS när rutten korsar en nätverksgräns eller gatewayen stöder TLS.
Förfrågningar kommer från Libre WebUI:s backend, inte från webbläsaren. Välj en adress som kan nås från backend:
| Backendplats | Exempel på leverantörsrot |
|---|---|
| Inbyggd process, samma maskin | http://127.0.0.1:8081/v1 |
| Docker Compose-tjänst | http://ai-gateway:8080/v1 |
| Container till värd som stöds | http://host.docker.internal:8081/v1 |
| Betrodd LAN- eller Tailscale-värd | http://192.168.1.20:8081/v1 |
Inuti en container identifierar localhost Libre WebUI-containern själv. Det
identifierar inte en annan Compose-tjänst och når inte automatiskt värden.
Libre WebUI accepterar endast HTTP- och HTTPS-URL:er för leverantörer, validerar den slutliga destinationen innan uppgifter väljs och följer inte omdirigeringar för leverantörs- eller sökförfrågningar. Konfigurera den slutliga åtgärds-URL:en direkt.
Verifiera gatewayen före aktivering
Testa modellsökning från maskinen eller containern som kör Libre WebUI:s backend:
curl http://ai-gateway:8080/v1/models \
-H 'Authorization: Bearer YOUR_GATEWAY_KEY'
Testa sedan åtgärden som motsvarar valt API-läge.
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
}'
När båda anropen fungerar konfigurerar du samma rutt, läge, uppgifter och modell-ID i Provider connections. Aktivera leverantören, välj Refresh models och välj sedan dess leverantörsspecificerade modell i Chat. Work kan också använda den när modellen tillförlitligt stöder verktygsanrop.
Felsökning
| Symptom | Kontrollera |
|---|---|
| Förfrågningar når fortfarande medföljande slutpunkt | Ta bort en gammal fullständig slutpunktsåsidosättning och spara avsedd Base URL och API Path |
| Leverantören får fel nyttolast | Matcha API Mode mot uppströms protokoll för Chat Completions eller Responses och verifiera slutsuffixet |
| Refresh models returnerar inga ID:n | Testa /models, verifiera formen data[].id, exponera/konfigurera models_endpoint eller underhåll model_map |
| En tidigare modell finns kvar efter ruttändring | Spara anslutningsändringen; Libre WebUI rensar användarens gamla upptäckta katalog före uppdatering |
| API-nyckeln rapporteras saknad | Spara uppgifter per användare för den anpassade rutten; medföljande miljöreserv följer inte åsidosättningar |
| En Docker-installation når inte localhost | Använd gatewayens Compose-tjänstenamn, ett värdalias som stöds eller en nåbar privat nätverksadress |
| Chat fungerar men bildgenerering gör det inte | Konfigurera en separat fullständig image_endpoint och välj en modell som exponerats av bildfunktionen |
| Chat fungerar men Work avvisar modellen | Bekräfta att modellen stöder kompatibla verktygsanrop; vanlig textkomplettering räcker inte |
| Leverantören returnerar en omdirigering | Konfigurera den slutliga validerade URL:en direkt; Libre WebUI följer avsiktligt inte leverantörsomdirigeringar |
Läs Plugin för detaljer om dirigering, uppgifter, återuppspelningstillstånd och auktorisering. Se Felsökning för distributionsspecifika fel.
Tack till gemenskapen
Denna guide och upplevelsen Provider connections i Libre WebUI 0.16.0 formades av ZhengJin (@fangzhengjin), vars detaljerade återkoppling om tredjepartsleverantörer och AI-stödda UX-koncept i #163 bidrog till arbetsflödet.