प्लगइन
Libre WebUI स्थानीय Ollama के साथ बाहरी प्रदाता और मॉडल क्षमताएँ प्लगइन से जोड़ता है।
प्लगइन प्रकार
| प्रकार | उद्देश्य |
|---|---|
| Chat/completion | प्रदाता पाठ/chat मॉडल |
| Embeddings | दस्तावेज़ खोज और memory |
| इमेज जनरेशन | इमेज मॉडल और ComfyUI |
| पाठ-to-speech | आवाज़ synthesis |
| Speech-to-पाठ | Transcription |
| ऑडियो जनरेशन | Sound प्रदाता |
| वीडियो जनरेशन | Async वीडियो प्रदाता |
प्लगइन static मॉडल maps और supported होने पर प्रदाता API से live खोज दे सकते हैं।
Built-In प्रदाता Families
OpenAI/compatible APIs, Anthropic, Google Gemini, Groq, Moonshot AI Kimi Code, Mistral, OpenRouter, Hugging Face, GitHub मॉडल, Apple Silicon MLX LM, ComfyUI, ElevenLabs। Catalogs अक्सर बदलते; खोज हो तो UI सत्य का स्रोत।
Ownership और Authorization
प्लगइन definitions instance-साझा हैं। हर /api/plugins रूट auth चाहता; अपलोड/स्थापित/अपडेट/हटाएँ व्यवस्थापक-केवल। Activation प्रति उपयोगकर्ता, SQLite में स्थायी।
Upgrade पर पुराना .status.json केवल सटीक compiled trust anchors से match definitions के लिए मौजूदा accounts में once copy। पुराना कस्टम/shadow quarantined और inactive; बाद के accounts नहीं सक्रिय प्लगइन।
Bundled परिभाषा तभी विश्वसनीय जब normalized सामग्री compiled हैश से match। Writable definitions स्रोत पथ/पूर्ण हैश से SQLite approved। व्यवस्थापक स्थापित/अपडेट/re-import अनुमोदन लिखता; सीधा फ़ाइल edit invalidates। अनुमोदन/अपडेट सभी खाता activations साफ़ करता, उपयोगकर्ता reviewed परिभाषा reactivate। Pre-upgrade कस्टम re-import से पहले catalogs/खोज/क्रेडेंशियल/execution में नहीं।
केवल admins कनेक्शन-रूटिंग variables बचाते:
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। config.endpoint_variable, config.models_endpoint_variable, config.voice_clone_endpoint_variable भी रूटिंग।
Others temperature/streaming save कर सकते। Non-व्यवस्थापक पुराना रूटिंग ignored/not returned और पूर्ण रीसेट में हटाया; बाद में भूमिका promotion revive नहीं।
क्रेडेंशियल
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=...
साझा deployments में उपयोगकर्ता-level क्रेडेंशियल बेहतर; पर्यावरण एकल-उपयोगकर्ता/demo/managed।
पर्यावरण कुंजी केवल unshadowed bundled रूटिंग/auth पर वैकल्पिक। Imported, writable shadow ID या व्यवस्थापक संग्रहीत कस्टम रूट उसी खाते का क्रेडेंशियल चाहता। Libre root एंडपॉइंट, auth फ़ील्ड, capability endpoints/selectors और recognized रूटिंग defaults compare करता। Compiled मैनिफ़ेस्ट हैश authoritative; overwritten मैनिफ़ेस्ट trust नहीं बना सकता।
यह खोज, Chat, Work, availability और catalogs पर लागू; कस्टम एंडपॉइंट operator रहस्य नहीं पाता।
उपयोगकर्ता क्रेडेंशियल effective स्रोत, पूर्ण हैश, auth contract, capability endpoints/selectors और रूटिंग मान से bind। रूट/परिभाषा बदलाव पर resave। पुराना unbound केवल सटीक anchored bundled रूट पर पहला सफलता में bind।
OpenAI-Compatible प्रदाता
प्लगइन पूर्ण API URL, API कुंजी env, chat behavior, embedding, मॉडल खोज, वैकल्पिक model_map define करता। JSON केवल OpenAI Chat Completions, OpenAI उत्तर, Anthropic संदेश या Gemini wire formats; arbitrary proprietary protocol बैकएंड adapter चाहता।
OpenAI इमेज जनरेशन
Bundled एंडपॉइंट https://api.openai.com/v1/images/generations, वर्तमान gpt-image-2; deprecated gpt-image-1.5, gpt-image-1, gpt-image-1-mini compatibility।
इमेज समान उपयोगकर्ता क्रेडेंशियल या विश्वसनीय env वैकल्पिक। अलग image_endpoint कस्टम Chat एंडपॉइंट को इमेज अनुरोध से बचाता; blank bundled इमेज API।
Selection प्रदाता-qualified। समान ID केवल panel-चयनित प्रदाता। GPT इमेज base64 को Libre app इमेज बनाकर उपयोगकर्ता gallery में save। Routes auth, pluginId और model चाहते। n JSON integer 1–10; strings/fractions reject।
Chat Completions और उत्तर API modes
प्लगइन chat_completions या responses; bundled OpenAI सेटिंग → प्लगइन में choice।
- पूर्ण
endpointoverride। base_url+ वैकल्पिकapi_path।- पुराना
endpoint।
मैनिफ़ेस्ट-equal एंडपॉइंट डिफ़ॉल्ट माना जाता, पुराना संग्रहीत defaults नया मूल URL को shadow नहीं। Genuine कस्टम पूर्ण एंडपॉइंट highest।
डिफ़ॉल्ट /chat/completions और /responses। base_url API root https://api.example.com/v1; api_path सापेक्ष ऑपरेशन। पूर्ण एंडपॉइंट पूर्ण पथ। Known suffix semantics authoritative; कस्टम paths चयनित api_mode।
{
"endpoint": "https://api.example.com/v1/chat/completions",
"api_mode": "responses",
"base_url": "https://api.example.com/v1",
"api_path": "/responses"
}
उत्तर input, max_output_tokens, flattened फ़ंक्शन टूल, store: false, एन्क्रिप्टेड reasoning continuation। आउटपुट Libre घटनाएँ में normalized। Replay केवल पूर्ण ordered आउटपुट Item array ≤64 Items/90 KB; Items सटीक। Unique IDs/प्रकार और संदेश/reasoning/फ़ंक्शन कॉल validate पहले side effects। Oversized Chat दृश्य इतिहास वैकल्पिक, कच्चा फ़ंक्शन कॉल Items discard; Work सटीक bounded replay बिना reject।
SQLite प्रदाता स्थिति संदेश के साथ encrypt; Work hidden context rows। Hashed दायरा समान प्रदाता/मॉडल/मोड/अंतिम एंडपॉइंट/क्रेडेंशियल fingerprint। बदलाव पर normalized इतिहास वैकल्पिक; सक्रिय Work हर round रूटिंग/क्रेडेंशियल revalidate।
Tool स्थिति replay सीमा और पूर्ण 100 KB metadata wrapper में fit पहले पार्श्व प्रभाव। Interrupted batch अनुपस्थित परिणाम सटीक call ID और outcome-unknown warning से restore ताकि workspace inspect, effect repeat नहीं। अपूर्ण उत्तर सफलता नहीं; incomplete_details.reason retained।
खोज ऑपरेशन पथ से /models; https://api.example.com/v1/responses → https://api.example.com/v1/models। Compatible सूची न हो तो model_map। प्रति-उपयोगकर्ता variables/क्रेडेंशियल, प्रति-उपयोगकर्ता storage। Activation, रीफ़्रेश, कुंजी/कनेक्शन बदलाव/रीसेट trigger; unrelated जनरेशन नहीं।
अनुपस्थित/stale (> PLUGIN_MODEL_DISCOVERY_TTL_MS) पर auto खोज, backoff/deadline। अंतिम URL क्रेडेंशियल से पहले validated, redirects नहीं। Chat, Work, मॉडल-सूची, इमेज, embedding, transcription, speech, आवाज़ clone, ऑडियो, वीडियो अंतिम endpoints directly configure।
HTTP/HTTPS accepted। HTTP क्रेडेंशियल/prompts/परिणाम/सामग्री खुला पाठ, केवल विश्वसनीय self-hosted gateway; prefer TLS। अनुरोध बैकएंड से; container में http://ai-gateway:8080/v1, localhost Libre container। Unauthenticated एकल-उपयोगकर्ता मोड नहीं।
Capability-विशिष्ट Endpoints
Chat override इमेज/embedding/STT/TTS/ऑडियो/वीडियो से isolated। प्लगइन image_endpoint, embedding_endpoint, stt_endpoint, tts_endpoint या config.endpoint_variable; cloning config.voice_clone_endpoint_variable। Blank प्लगइन capability एंडपॉइंट; generic Chat endpoint override नहीं।
GitHub मॉडल blank पर models.github.ai/inference/chat/completions; Hugging Face embedding/इमेज/TTS में Chat एंडपॉइंट नहीं, hf-inference/models/{model}।
एंडपॉइंट Overrides
endpoint पूरा ऑपरेशन URL, जैसे https://provider.example/v1/chat/completions, केवल https://provider.example नहीं। पुराना api_url alias; non-खाली endpoint wins।
पूर्ण HTTP/HTTPS accepted, others reject। HTTP विश्वसनीय केवल। Blank परिभाषा एंडपॉइंट, malformed स्पष्ट reject। Redirects नहीं। अनुरोध बैकएंड से; container localhost self, सेवा name या supported host.docker.internal।
मॉडल खोज
सेटिंग → प्लगइन में प्रदाता connections workspace। प्रदाता select, सक्रिय स्थिति/कैटलॉग; Configure तक configuration collapsed।
रीफ़्रेश मॉडल खोज और प्लगइन/Chat lists reload। कैटलॉग केवल-पढ़ने; वर्तमान उपयोगकर्ता discovered IDs + capability maps, लेबल स्वास्थ्य जाँच नहीं। वैकल्पिक IDs JSON model_map।
Activation effective एंडपॉइंट/क्रेडेंशियल से खोज। व्यवस्थापक कस्टम रूट उसी खाते का क्रेडेंशियल; पर्यावरण केवल विश्वसनीय मैनिफ़ेस्ट। URL:
/modelsending as-is;/chat/completions,/completions,/responses,/embeddings,/messages→/models;- अन्य में append
/models।
पूर्ण models_endpoint derivation से पहले, समान URL नीति, नहीं redirects। Save/रीसेट endpoint, api_url, models_endpoint, base_url, api_path, api_mode clears/refreshes उपयोगकर्ता कैटलॉग।
कस्टम routes क्रेडेंशियल selection से पहले validate; नहीं env वैकल्पिक। OpenAI-compatible data array expected। Activation waits; सफलता प्रति उपयोगकर्ता, साझा JSON unchanged। सामान्य activation अनुपलब्ध पर previous परिणाम; intentional कनेक्शन बदलाव stale साफ़ और विफलता पर model_map।
Chat में सटीक प्रदाता Selection
मॉडल IDs globally unique नहीं; Ollama और प्लगइन example-model दे सकते। Chat कच्चा ID + identity:
providerType: "ollama"स्थानीय/कॉन्फ़िगर किया Ollama;providerType: "plugin"+providerIdसटीक प्लगइन।
URL-encoded qualified मान केवल selector keys; प्रदाता कच्चा ID। Duplicates अलग, reopen सटीक सहेजा choice।
स्पष्ट identity fail closed। प्लगइन inactive/हटाया/मॉडल अनुपस्थित हो तो अनुपलब्ध दृश्य, समान-name switch नहीं। Reactivate या choose।
पुराना records में providerType/providerId unset/null; name-केवल रूटिंग compatibility और “प्रदाता not recorded”। Reselect सटीक। Persona persona:<id>, नया selections Ollama-backed।
प्रदाता सेटिंग और विरासत
सेटिंग → प्लगइन → Configure। Panels डिफ़ॉल्ट closed। व्यवस्थापक साझा definitions/रूटिंग; उपयोगकर्ता activate, own API keys, जनरेशन controls; अपलोड/स्थापित/export/हटाएँ/रूटिंग नहीं।
कनेक्शन overrides पहला, sampling उन्नत पैरामीटर में closed। Inherited मान blank फ़ील्ड + डिफ़ॉल्ट hint; panel opening defaults save नहीं करता।
Save केवल वर्तमान editor बदलाव। Clearing non-sensitive removes override; blank masked sensitive unchanged। रीसेट to Defaults अनुमत overrides हटाता। विफलता पर unsaved मान दृश्य। कस्टम एंडपॉइंट blank = bundled, पूर्ण URL = override।
प्लगइन in Work
Work Ollama/Ollama Cloud के साथ सक्रिय completion, chat उपयोग करता जब:
- प्लगइन सक्रिय;
- मॉडल discovered कैटलॉग या मॉडल मानचित्र में; और
- वर्तमान व्यवस्थापक क्रेडेंशियल उपलब्ध।
प्रदाता प्रकार/ID task/run में, सटीक रूटिंग। समान-name प्लगइन मौजूदा task redirect नहीं। OpenAI-compatible, Anthropic, Gemini tool formats। मॉडल टूल कॉल समर्थन; reject/incompatible पर नहीं वैकल्पिक।
दूरस्थ Work several अनुरोध; प्रदाता system prompt, context, tool definitions/परिणाम (स्रोत फ़ाइलें, lists, कमांड आउटपुट) लेता। Libre dismissible disclosure दिखाता; pricing/retention/training समीक्षा।
Embeddings
Embedding प्लगइन दस्तावेज़ सेटिंग में। Libre nomic-embed-text, bge, e5, gte जैसे Ollama names detect। कोई नहीं पर nomic-embed-text स्थानीय candidate।
प्लगइन Development Notes
परिभाषा capability साफ़ बताए, unsupported सुविधा pretend नहीं। मॉडल maps small वैकल्पिक, reliable मॉडल-सूची API पर खोज।
- परिभाषा जोड़ें।
- क्रेडेंशियल कुंजी/उपयोगकर्ता फ़ील्ड।
- मॉडल-सूची हो तो खोज।
- Chat, embeddings, इमेज, TTS, STT अनुरोध mapping।
- अनुपस्थित/bad कुंजी और प्रदाता errors test।