Ugrás a fő tartalomra

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ípusCél
Chat/completionText/chat modellek provider API-kból
EmbeddingsVektorok dokumentumhoz és memóriához
Image generationKépmodellek és ComfyUI backends
Text-to-speechHangszintézis-szolgáltatók
Speech-to-textÁtírás-szolgáltatók
Audio generationHangszolgáltatók
Video generationAszinkron 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:

  1. Full endpoint override.
  2. base_url + optional api_path.
  3. 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/responseshttps://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:

  • /models végű változatlan;
  • /chat/completions, /completions, /responses, /embeddings, /messages lecserélve;
  • különben /models hozzá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" + providerId exact 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 → PluginsConfigure. 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:

  1. Definition és credential fields.
  2. Discovery list endpoint esetén.
  3. Request mapping chat/embedding/image/TTS/STT.
  4. Missing/bad key és provider errors tesztje.

Kapcsolódó dokumentáció