Bővítmények
A Libre WebUI pluginokkal kapcsol külső AI-szolgáltatókat és képességeket a helyi Ollama mellé.
Plugintípusok
| Típus | Cél |
|---|---|
| Chat/completion | Text/chat modellek provider API-kból |
| Embeddings | Vektorok dokumentumhoz és memóriához |
| Image generation | Képmodellek és ComfyUI backends |
| Text-to-speech | Hangszintézis-szolgáltatók |
| Speech-to-text | Átírás-szolgáltatók |
| Audio generation | Hangszolgáltatók |
| Video generation | Aszinkron videószolgáltatók |
Plugin statikus model mapet és támogatás esetén provider API-s frissítést adhat.
Beépített szolgáltatócsaládok
A Libre definíciókat tartalmaz:
- OpenAI és OpenAI-kompatibilis API-k
- Anthropic
- Google Gemini
- Groq
- Kimi Code a Moonshot AI-tól
- Mistral
- OpenRouter
- Hugging Face
- GitHub Models
- MLX LM helyi Apple Silicon inferencehez
- ComfyUI
- ElevenLabs
A catalogok gyakran változnak; live discoverynél a UI az igazságforrás.
Tulajdon és engedélyezés
Definition shared instance config. Minden /api/plugins authot kér, és csak admin
upload/install/update/delete. Aktiválás accountonként, SQLite-ban, restartot túlél és más usert nem érint.
Upgradekor global .status.json egyszer existing accountsra másolódik, csak compiled
trust anchors-szal exact definitionnél. Legacy custom/shadow quarantine/inactive, új account plugin nélkül.
Bundled csak normalized content és compiled hash egyezésnél trusted. Writable SQLite approval normalized path/full hash alapján. Admin install/update/re-import rögzíti, direct edit invalidálja. Approval/update csere előtt minden activationt töröl, user reactivate. Pre-upgrade custom admin re-import nélkül nincs catalog/discovery/credential/capability.
Változók cél szerint; routingot csak admin ment:
endpoint, base_url, api_path, models_endpoint, api_url,
image_endpoint, embedding_endpoint, stt_endpoint, tts_endpoint,
voice_clone_endpoint, api_mode, model, model_id. Deklarált
config.endpoint_variable, config.models_endpoint_variable,
config.voice_clone_endpoint_variable szintén útválasztási változónak számít, más néven is.
Nem admin menthet temperature/streaming generationt. Régi routing rows ignoráltak, nem returned, full reset törli, így későbbi role promotion nem éleszt dormant route-ot.
Hitelesítő adatok
Környezeti változóból vagy user settingsből.
Példák:
OPENAI_API_KEY=sk-...
ANTHROPIC_API_KEY=sk-ant-...
GROQ_API_KEY=gsk_...
GEMINI_API_KEY=...
MISTRAL_API_KEY=...
OPENROUTER_API_KEY=sk-or-...
KIMI_API_KEY=...
GITHUB_API_KEY=github_pat_...
ELEVENLABS_API_KEY=...
Shared telepítésben user-level jobb saját billing/limits miatt. Env key single-user/demo/managed célra.
Env key fallback csak unshadowed bundled routing/auth projectionnél. Import, writable shadow vagy admin override ugyanazon account credentialjét kéri. Libre összeveti root, auth fields, capability endpoints/selectors és routing defaults értékeket. Compiled manifest hash authoritative még közös legacy/bundled path esetén; overwritten package manifest nem teremthet bizalmat.
Discovery, Chat, Work, availability és catalog esetén is; custom endpoint/old manifest nem kap operator secretet.
User credential savekor source/full hash/auth contract/capability/routing bindinget kap. Változás után unavailable review/re-save-ig. Legacy unbound csak exact anchored bundled route-on, első siker bindinget ír decrypted key előtt.
OpenAI-kompatibilis szolgáltatók
Plugin definiálhat full API URL-t, env keyt, Chat behavior, embeddinget, discoveryt és fallback mapet.
- Teljes API endpoint URL
- API key környezeti változó
- Chat endpoint viselkedés
- Embedding support
- Model discovery
- Opcionális fallback map
Live discovery nélkül configured map. Imported JSON OpenAI Chat/Responses, Anthropic, Gemini wire formatot támogat. Arbitrary proprietary protocolhoz backend adapter kell.
OpenAI képgenerálás
Bundled endpoint https://api.openai.com/v1/images/generations, current
gpt-image-2; régi gpt-image-1.5, gpt-image-1, gpt-image-1-mini compatibility miatt.
Ugyanaz effective credential mint Chat: user key vagy trusted env fallback. Külön
image_endpoint akadályozza custom Chat image requestet; üresen bundled.
Provider-qualified választás, azonos ID csak választotthoz. Base64 app image-ként user
galleryba. Auth kell és direct requestben pluginId, model; n JSON integer 1–10,
string/fraction elutasítva.
Chat Completions és Responses API-módok
chat_completions vagy responses, választás Settings → Plugins alatt.
Sorrend:
- Full
endpointoverride. base_url+ optionalapi_path.- Legacy
endpoint.
Manifesttal exact érték default, nem override, így old stored default nem árnyékol új Base URL-t. Genuine custom full endpoint első.
Default /chat/completions vagy /responses. base_url API root, pl.
https://api.example.com/v1; api_path más relative operation. Full endpoint teljes
path és elsőbbség. Ismert suffix semantics, custom path megtartja api_mode-ot.
Imported JSON ugyanazokat adhatja:
{
"endpoint": "https://api.example.com/v1/chat/completions",
"api_mode": "responses",
"base_url": "https://api.example.com/v1",
"api_path": "/responses"
}
Responses input, max_output_tokens, flattened tools, store: false és encrypted
reasoning stateless continuationhöz. Completed/streamed output Chat/Work eventsre
normalizált. Replay csak teljes ordered Item array max 64 Items/90 KB, exact és field
truncation nélkül. Unique non-empty IDs/types és validated structures kell. Oversized
Chat visible historyre esik és raw function Items-et eldob tool output hiánya miatt.
Tool-bearing Work bounded exact replay nélkül side effect előtt elutasítva.
SQLite Chat message-dzsel titkosít state-et; Work hidden context rowsba tool-onlyt.
Hashed scope provider/model/mode/final endpoint és credential fingerprinthez köt replayt.
Változás, key rotation esetén normalized history, nem provider Items auth boundaryn át.
Active run routing/credential fingerprintet minden round előtt validál; változás stop.
Tool state replay limit és teljes 100 KB metadata wrapperbe kell side effect előtt.
Interrupted batch missing result exact call ID-val és outcome-unknown warninggal áll vissza,
hogy inspect legyen, ne blind repeat. Incomplete Responses nem success; incomplete_details.reason marad.
Discovery /models-t képez, pl. https://api.example.com/v1/responses →
https://api.example.com/v1/models. Compatible list nélkül model_map. Current user
variables/credentials, result per user, nem shared manifest. Activation/refresh/key/
connection/reset után fut, unrelated generation nem hálózati request.
Plugin list olvasása újrafuttat hiányzó vagy PLUGIN_MODEL_DISCOVERY_TTL_MS-nél régebbi
catalogot. Per-provider backoff és deadline; késő refresh következő requestnél. Final URL
credential/header előtt validált, import manifestnél is. Discovery/capability nincs
redirect. Final Chat, Work, model-list, image, embedding, transcription, speech,
voice-clone, audio, video endpoint közvetlenül, hogy credential ne menjen unvalidated redirectre.
HTTP/HTTPS endpoint; HTTP key/prompt/result/content titkosítás nélkül, csak trusted
gateway, TLS-nél HTTPS. Backendből, containerben service URL pl.
http://ai-gateway:8080/v1, localhost Libre container. Capability routes requester
account variables/credentials értékeit használják. Nincs unauthenticated single-user mode.
Képességspecifikus végpontok
Chat override elkülönül image, embedding, transcription, TTS, audio, video értékektől.
Multi plugin image_endpoint, embedding_endpoint, stt_endpoint, tts_endpoint vagy
config.endpoint_variable; voice clone config.voice_clone_endpoint_variable. Üresen
declared capability endpoint; generikus Chat endpoint soha nem capability override.
GitHub Models üres override-nál models.github.ai/inference/chat/completions-t örököl.
Hugging Face task-specific hf-inference/models/{model} routes/payloads embedding/image/TTS-re, nem Chat endpoint.
Végpontfelülírások
endpoint teljes URL operation path-tal, pl. https://provider.example/v1/chat/completions,
nem csak https://provider.example. Legacy api_url alias accepted, de non-empty endpoint első.
Absolute HTTP/HTTPS accepted, más protocol elutasítva. HTTP trusted self-hostedhez, private boundaryn túl HTTPS. Üres override definition full endpoint; explicit invalid elutasítva silent fallback helyett.
Provider requests nem redirectelnek; final validated URL, redirect provider error, nincs credential forwarding.
Backendből jön; containerben localhost önmaga, nem host/service. Használjon service nevet vagy host.docker.internal-t.
Modellfelderítés
Provider connections a Settings → Plugins alatt. Bal oldali keresés, jobb oldali active state/catalog. Config collapsed Configure választásig, így endpoint/credential/ advanced generation nincs default viewban.
Chat/completion Refresh models discovery és reload catalog/Chat list. Read-only rows
user discovered IDs és capability maps. Labels route-ot, nem healthöt mutat. Fallback/manual ID a JSON model_map-ban.
Activation effective account endpoint/credentialdel keres. Admin custom route azonos account credential, env fallback csak trusted manifest. URL derivation:
/modelsvégű változatlan;/chat/completions,/completions,/responses,/embeddings,/messageslecserélve;- különben
/modelshozzáadva.
Explicit models_endpoint elsőbbséggel, azonos outbound policyval, redirect nélkül.
endpoint, api_url, models_endpoint, base_url, api_path, api_mode save/reset
clear/refresh user catalogot UI reload előtt.
Custom routes credential előtt validált. Stored custom route nem használ server env keyt; per-user key kell. Env fallback trusted definition endpointra.
OpenAI-compatible data kell. Activation vár, így első refresh tartalmazhat catalogot.
Result userenként, shared JSON nem rewrite és nincs cross-account ID. Nincs compatible
endpoint/unreachable/other shape esetén normál activation previous-t tart. Szándékos
connection change előbb clear és failure model_map fallback.
Routing save/reset clear előző catalogot, így régi destination model nem marad route change után.
Status, Work availability, catalogs és capability routes azonos user context/credential boundary. Image/variables/credentials requesterhez.
Pontos szolgáltatóválasztás a Chatben
IDs nem globálisak; Ollama és pluginok adhatnak example-model nevet. Chat raw ID-t és optional identityt ment:
providerType: "ollama"Ollama;providerType: "plugin"+providerIdexact plugin.
Qualified URL-encoded csak collision-safe selector key; request raw ID-t küld. Duplicates külön és reopen exact választást állít vissza.
Explicit identity fail closed. Deactivate/remove/missing model unavailable-ként marad, nincs silent same-name switch. Reactivate vagy más model.
Legacy session providerType/providerId unset vagy null, name-only routingot tart,
mert eredeti nem rekonstruálható. "provider not recorded" jelenik meg. Concrete választás exact providert ír; új persona persona:<id> és Ollama backing.
Szolgáltatói beállítások és öröklés
Settings → Plugins → Configure. Panels default closed. Admin shared definitions/ routing, más users activation, own keys és generation, de nincs upload/install/export/delete/routing UI.
Admin connection override first; sampling Advanced parameters alatt closed. Inherited values blank input hinttel; panelnyitás nem másol manifest defaultot accountba.
Save csak changed fields. Nem sensitive clear override-t töröl/defaultot visszaállít; blank masked sensitive unchanged. Reset to Defaults allowed overrides-t töröl. Failure unsaved values-t megtart retryhez.
Custom endpointhoz admin üresen örököl bundled URL-t vagy teljes compatible URL-t ad.
Pluginok a Workben
Work active completion/chat plugint használhat, ha:
- active, modell user catalogban/mapben és admin credential available.
Provider type/ID taskon/runon, exact saved provider alapján, nem név. Azonos plugin nem redirectel taskot.
Work OpenAI/Anthropic/Gemini tools adaptert használ. Modelnek tools kell. Elutasítás/ incompatible response hibázik másik provider fallback nélkül.
Remote Work sok requestet tehet. Provider system promptot, conversation contextet, tool definitions/results-et kap source/directory/output tartalommal. Disclosure userenként, de operator ellenőrizze pricing/retention/training policyt.
Embeddings
Embedding plugin megjelenik document settingsben. Libre felismeri nomic-embed-text, bge, e5, gte Ollama modelleket.
Discovery nélkül UI local default nomic-embed-text.
Pluginfejlesztési megjegyzések
Definition pontos capabilityt írjon, ne állítson nem exposed feature-t. Map legyen kis fallback, gyors megbízható list API-nál discovery.
Provider hozzáadásakor:
- Definition és credential fields.
- Discovery list endpoint esetén.
- Request mapping chat/embedding/image/TTS/STT.
- Missing/bad key és provider errors tesztje.