libre-webui 0.7.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/README.md +93 -1
  2. package/backend/dist/index.d.ts.map +1 -1
  3. package/backend/dist/index.js +426 -57
  4. package/backend/dist/index.js.map +1 -1
  5. package/backend/dist/routes/ollama.d.ts.map +1 -1
  6. package/backend/dist/routes/ollama.js +40 -0
  7. package/backend/dist/routes/ollama.js.map +1 -1
  8. package/backend/dist/routes/plugins.d.ts.map +1 -1
  9. package/backend/dist/routes/plugins.js +17 -0
  10. package/backend/dist/routes/plugins.js.map +1 -1
  11. package/backend/dist/services/ollamaService.d.ts +2 -0
  12. package/backend/dist/services/ollamaService.d.ts.map +1 -1
  13. package/backend/dist/services/ollamaService.js +31 -0
  14. package/backend/dist/services/ollamaService.js.map +1 -1
  15. package/backend/dist/services/openclawSessionService.d.ts +63 -0
  16. package/backend/dist/services/openclawSessionService.d.ts.map +1 -0
  17. package/backend/dist/services/openclawSessionService.js +307 -0
  18. package/backend/dist/services/openclawSessionService.js.map +1 -0
  19. package/backend/dist/services/pluginService.d.ts +20 -0
  20. package/backend/dist/services/pluginService.d.ts.map +1 -1
  21. package/backend/dist/services/pluginService.js +250 -6
  22. package/backend/dist/services/pluginService.js.map +1 -1
  23. package/frontend/dist/assets/index-BHPEXBOC.js +51 -0
  24. package/frontend/dist/index.html +2 -2
  25. package/frontend/dist/js/{ArtifactContainer-D_igWPrR.js → ArtifactContainer-CR_N0zJa.js} +2 -2
  26. package/frontend/dist/js/{ArtifactDemoPage-BW64ikxs.js → ArtifactDemoPage-B4i0y1r8.js} +1 -1
  27. package/frontend/dist/js/{ChatPage-CIUGXjJ_.js → ChatPage-CNZjHhUr.js} +16 -16
  28. package/frontend/dist/js/{GalleryPage-CMqUQtns.js → GalleryPage-BwPcUdbX.js} +1 -1
  29. package/frontend/dist/js/ModelsPage-2EzbE4Sf.js +1 -0
  30. package/frontend/dist/js/PersonasPage-CZrFe-EX.js +13 -0
  31. package/frontend/dist/js/{UserManagementPage-C4vtOCZ6.js → UserManagementPage-doHbL51e.js} +1 -1
  32. package/frontend/dist/js/{ui-vendor-DxZsuKzb.js → ui-vendor-BxYipEVo.js} +1 -1
  33. package/package.json +2 -1
  34. package/plugins/openclaw-agent.json +69 -0
  35. package/frontend/dist/assets/index-DMlahgv7.js +0 -51
  36. package/frontend/dist/js/ModelsPage-DQ2ud-YG.js +0 -1
  37. package/frontend/dist/js/PersonasPage-HqcbbtTL.js +0 -13
package/README.md CHANGED
@@ -26,7 +26,7 @@
26
26
  <img src="https://img.shields.io/badge/SOC_2-Ready-purple" alt="SOC 2 Ready">
27
27
  </p>
28
28
 
29
- [Website](https://librewebui.org) • [Documentation](https://docs.librewebui.org) • [𝕏](https://x.com/librewebui) • [Sponsor](https://github.com/sponsors/libre-webui) • [Get Started](#quick-start)
29
+ [Website](https://librewebui.org) • [Documentation](https://docs.librewebui.org) • [GitLab](https://git.kroonen.ai/libre-webui/libre-webui) • [𝕏](https://x.com/librewebui) • [Sponsor](https://github.com/sponsors/libre-webui) • [Get Started](#quick-start)
30
30
 
31
31
  </div>
32
32
 
@@ -61,7 +61,9 @@ A simple, self-hosted interface for AI chat. Run it locally with Ollama, connect
61
61
  - **Local**: Ollama (full integration)
62
62
  - **Cloud**: OpenAI, Anthropic, Google, Groq, Mistral, OpenRouter, HuggingFace, and more
63
63
  - **HuggingFace Hub** — 1M+ models for chat, TTS, image gen, embeddings, STT
64
+ - **Image Generation** — ComfyUI with Flux models
64
65
  - **Plugin System** — Add any OpenAI-compatible API via JSON config
66
+ - **Plugin Variables** — Per-plugin configurable settings (temperature, endpoint, etc.)
65
67
 
66
68
  </td>
67
69
  <td width="50%">
@@ -205,6 +207,95 @@ ANTHROPIC_API_KEY=sk-ant-...
205
207
  HUGGINGFACE_API_KEY=hf_...
206
208
  ```
207
209
 
210
+ ---
211
+
212
+ ## Plugin System
213
+
214
+ Plugins let you connect any OpenAI-compatible (or custom) API to Libre WebUI using a simple JSON file. Built-in plugins are included for OpenAI, Anthropic, Google Gemini, Groq, Mistral, OpenRouter, HuggingFace, and more.
215
+
216
+ ### How It Works
217
+
218
+ A plugin is a JSON config file stored in the `plugins/` directory. Each plugin defines:
219
+
220
+ - **Endpoint** — The API URL to send requests to
221
+ - **Auth** — How to authenticate (header name, prefix, env variable fallback)
222
+ - **Model map** — Which models the plugin supports
223
+ - **Capabilities** — Optional multi-capability support (chat, TTS, image generation, embeddings, STT)
224
+ - **Variables** — Per-plugin configurable settings users can adjust from the UI
225
+
226
+ ### Example Plugin
227
+
228
+ ```json
229
+ {
230
+ "id": "my-provider",
231
+ "name": "My Provider",
232
+ "type": "completion",
233
+ "endpoint": "https://api.example.com/v1/chat/completions",
234
+ "auth": {
235
+ "header": "Authorization",
236
+ "prefix": "Bearer ",
237
+ "key_env": "MY_PROVIDER_API_KEY"
238
+ },
239
+ "model_map": ["model-a", "model-b"],
240
+ "variables": [
241
+ {
242
+ "name": "temperature",
243
+ "type": "number",
244
+ "label": "Temperature",
245
+ "description": "Controls randomness.",
246
+ "default": 0.7,
247
+ "min": 0,
248
+ "max": 2
249
+ }
250
+ ]
251
+ }
252
+ ```
253
+
254
+ ### Plugin Management
255
+
256
+ Plugins are managed from **Settings > Plugins** in the UI where you can:
257
+
258
+ - **Upload** a JSON plugin file or paste JSON directly
259
+ - **Browse HuggingFace** to discover and import models
260
+ - **Activate/deactivate** plugins
261
+ - **Set API keys** per plugin (encrypted at rest with AES-256-GCM, with env variable fallback)
262
+ - **Configure variables** — override endpoint, temperature, max tokens, and other settings per plugin
263
+ - **Export** plugins as JSON
264
+
265
+ ### Plugin Variables
266
+
267
+ Variables are typed settings defined in the plugin JSON that users can configure from the UI. Supported types: `string`, `number`, `boolean`, `select`. Sensitive variables (like API keys) are encrypted in the database. Variable values are stored per-user.
268
+
269
+ ### Multi-Capability Plugins
270
+
271
+ A single plugin can support multiple capabilities. For example, OpenAI's plugin handles both chat completions and TTS:
272
+
273
+ ```json
274
+ {
275
+ "id": "openai",
276
+ "type": "completion",
277
+ "endpoint": "https://api.openai.com/v1/chat/completions",
278
+ "capabilities": {
279
+ "tts": {
280
+ "endpoint": "https://api.openai.com/v1/audio/speech",
281
+ "model_map": ["tts-1", "tts-1-hd"],
282
+ "config": {
283
+ "voices": ["alloy", "echo", "nova", "shimmer"],
284
+ "default_voice": "alloy"
285
+ }
286
+ }
287
+ }
288
+ }
289
+ ```
290
+
291
+ ### Creating Custom Plugins
292
+
293
+ To add a new provider, create a JSON file in the `plugins/` directory following the schema above, or upload one through the UI. Any OpenAI-compatible API works out of the box — just set the correct endpoint and auth config.
294
+
295
+ For the full plugin reference (variables, credentials, security, API endpoints), see the [Plugin Architecture docs](./docs/08-PLUGIN_ARCHITECTURE.md).
296
+
297
+ ---
298
+
208
299
  ### Desktop App (In Development)
209
300
 
210
301
  > **Note:** The desktop app is currently in active development. The macOS build is pending Apple notarization, which may cause security warnings or installation issues on some systems. We're working to resolve this. Feedback and bug reports are welcome!
@@ -252,6 +343,7 @@ Download the native desktop app from [GitHub Releases](https://github.com/libre-
252
343
  - [Contributing](https://github.com/libre-webui/libre-webui/contribute) — Help improve Libre WebUI
253
344
  - [𝕏 @librewebui](https://x.com/librewebui) — Follow for updates
254
345
  - [Mastodon](https://fosstodon.org/@librewebui) — Fediverse updates
346
+ - [GitLab](https://git.kroonen.ai/libre-webui/libre-webui) — Self-hosted mirror
255
347
  - [GitHub Issues](https://github.com/libre-webui/libre-webui/issues) — Bug reports & feature requests
256
348
  - [Documentation](https://docs.librewebui.org) — Guides & API reference
257
349
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAkBA,OAAO,UAAU,CAAC;AA6ElB,QAAA,MAAM,GAAG,6CAAY,CAAC;AA4jCtB,eAAe,GAAG,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAkBA,OAAO,UAAU,CAAC;AAkFlB,QAAA,MAAM,GAAG,6CAAY,CAAC;AAkgDtB,eAAe,GAAG,CAAC"}