libre-webui 0.10.0 → 0.12.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.
- package/README.md +75 -61
- package/backend/dist/db.d.ts.map +1 -1
- package/backend/dist/db.js +21 -19
- package/backend/dist/db.js.map +1 -1
- package/backend/dist/index.d.ts.map +1 -1
- package/backend/dist/index.js +39 -908
- package/backend/dist/index.js.map +1 -1
- package/backend/dist/middleware/auth.d.ts.map +1 -1
- package/backend/dist/middleware/auth.js +4 -2
- package/backend/dist/middleware/auth.js.map +1 -1
- package/backend/dist/middleware/index.d.ts.map +1 -1
- package/backend/dist/middleware/index.js +4 -2
- package/backend/dist/middleware/index.js.map +1 -1
- package/backend/dist/models/personaModel.d.ts.map +1 -1
- package/backend/dist/models/personaModel.js +11 -9
- package/backend/dist/models/personaModel.js.map +1 -1
- package/backend/dist/routes/auth.d.ts.map +1 -1
- package/backend/dist/routes/auth.js +36 -14
- package/backend/dist/routes/auth.js.map +1 -1
- package/backend/dist/routes/chat.d.ts.map +1 -1
- package/backend/dist/routes/chat.js +61 -249
- package/backend/dist/routes/chat.js.map +1 -1
- package/backend/dist/routes/documents.d.ts.map +1 -1
- package/backend/dist/routes/documents.js +10 -8
- package/backend/dist/routes/documents.js.map +1 -1
- package/backend/dist/routes/imageGen.d.ts.map +1 -1
- package/backend/dist/routes/imageGen.js +9 -7
- package/backend/dist/routes/imageGen.js.map +1 -1
- package/backend/dist/routes/libreClaw.d.ts +3 -0
- package/backend/dist/routes/libreClaw.d.ts.map +1 -0
- package/backend/dist/routes/libreClaw.js +156 -0
- package/backend/dist/routes/libreClaw.js.map +1 -0
- package/backend/dist/routes/ollama.d.ts.map +1 -1
- package/backend/dist/routes/ollama.js +7 -247
- package/backend/dist/routes/ollama.js.map +1 -1
- package/backend/dist/routes/plugins.d.ts.map +1 -1
- package/backend/dist/routes/plugins.js +7 -105
- package/backend/dist/routes/plugins.js.map +1 -1
- package/backend/dist/routes/tts.d.ts.map +1 -1
- package/backend/dist/routes/tts.js +7 -5
- package/backend/dist/routes/tts.js.map +1 -1
- package/backend/dist/routes/users.d.ts.map +1 -1
- package/backend/dist/routes/users.js +7 -5
- package/backend/dist/routes/users.js.map +1 -1
- package/backend/dist/services/assistantCompletionService.d.ts +26 -0
- package/backend/dist/services/assistantCompletionService.d.ts.map +1 -0
- package/backend/dist/services/assistantCompletionService.js +53 -0
- package/backend/dist/services/assistantCompletionService.js.map +1 -0
- package/backend/dist/services/authService.d.ts +2 -0
- package/backend/dist/services/authService.d.ts.map +1 -1
- package/backend/dist/services/authService.js +9 -5
- package/backend/dist/services/authService.js.map +1 -1
- package/backend/dist/services/chatGenerationService.d.ts +32 -0
- package/backend/dist/services/chatGenerationService.d.ts.map +1 -0
- package/backend/dist/services/chatGenerationService.js +118 -0
- package/backend/dist/services/chatGenerationService.js.map +1 -0
- package/backend/dist/services/chatRequestService.d.ts +55 -0
- package/backend/dist/services/chatRequestService.d.ts.map +1 -0
- package/backend/dist/services/chatRequestService.js +103 -0
- package/backend/dist/services/chatRequestService.js.map +1 -0
- package/backend/dist/services/chatService.d.ts +0 -1
- package/backend/dist/services/chatService.d.ts.map +1 -1
- package/backend/dist/services/chatService.js +13 -27
- package/backend/dist/services/chatService.js.map +1 -1
- package/backend/dist/services/documentService.d.ts.map +1 -1
- package/backend/dist/services/documentService.js +21 -19
- package/backend/dist/services/documentService.js.map +1 -1
- package/backend/dist/services/embeddingService.d.ts.map +1 -1
- package/backend/dist/services/embeddingService.js +3 -1
- package/backend/dist/services/embeddingService.js.map +1 -1
- package/backend/dist/services/encryptionService.d.ts.map +1 -1
- package/backend/dist/services/encryptionService.js +26 -24
- package/backend/dist/services/encryptionService.js.map +1 -1
- package/backend/dist/services/galleryService.d.ts.map +1 -1
- package/backend/dist/services/galleryService.js +8 -6
- package/backend/dist/services/galleryService.js.map +1 -1
- package/backend/dist/services/libreClawService.d.ts +105 -0
- package/backend/dist/services/libreClawService.d.ts.map +1 -0
- package/backend/dist/services/libreClawService.js +169 -0
- package/backend/dist/services/libreClawService.js.map +1 -0
- package/backend/dist/services/memoryService.d.ts +2 -13
- package/backend/dist/services/memoryService.d.ts.map +1 -1
- package/backend/dist/services/memoryService.js +37 -198
- package/backend/dist/services/memoryService.js.map +1 -1
- package/backend/dist/services/memoryUtils.d.ts +29 -0
- package/backend/dist/services/memoryUtils.d.ts.map +1 -0
- package/backend/dist/services/memoryUtils.js +165 -0
- package/backend/dist/services/memoryUtils.js.map +1 -0
- package/backend/dist/services/mutationEngineService.d.ts.map +1 -1
- package/backend/dist/services/mutationEngineService.js +3 -1
- package/backend/dist/services/mutationEngineService.js.map +1 -1
- package/backend/dist/services/ollamaService.d.ts.map +1 -1
- package/backend/dist/services/ollamaService.js +36 -34
- package/backend/dist/services/ollamaService.js.map +1 -1
- package/backend/dist/services/personaService.d.ts.map +1 -1
- package/backend/dist/services/personaService.js +3 -1
- package/backend/dist/services/personaService.js.map +1 -1
- package/backend/dist/services/pluginCapabilityRegistryService.d.ts +11 -0
- package/backend/dist/services/pluginCapabilityRegistryService.d.ts.map +1 -0
- package/backend/dist/services/pluginCapabilityRegistryService.js +70 -0
- package/backend/dist/services/pluginCapabilityRegistryService.js.map +1 -0
- package/backend/dist/services/pluginCredentialsService.d.ts.map +1 -1
- package/backend/dist/services/pluginCredentialsService.js +13 -11
- package/backend/dist/services/pluginCredentialsService.js.map +1 -1
- package/backend/dist/services/pluginEmbeddingService.d.ts +26 -0
- package/backend/dist/services/pluginEmbeddingService.d.ts.map +1 -0
- package/backend/dist/services/pluginEmbeddingService.js +159 -0
- package/backend/dist/services/pluginEmbeddingService.js.map +1 -0
- package/backend/dist/services/pluginImageGenerationService.d.ts +29 -0
- package/backend/dist/services/pluginImageGenerationService.d.ts.map +1 -0
- package/backend/dist/services/pluginImageGenerationService.js +402 -0
- package/backend/dist/services/pluginImageGenerationService.js.map +1 -0
- package/backend/dist/services/pluginService.d.ts +9 -18
- package/backend/dist/services/pluginService.d.ts.map +1 -1
- package/backend/dist/services/pluginService.js +118 -1469
- package/backend/dist/services/pluginService.js.map +1 -1
- package/backend/dist/services/pluginTTSService.d.ts +28 -0
- package/backend/dist/services/pluginTTSService.d.ts.map +1 -0
- package/backend/dist/services/pluginTTSService.js +286 -0
- package/backend/dist/services/pluginTTSService.js.map +1 -0
- package/backend/dist/services/pluginVariablesService.d.ts.map +1 -1
- package/backend/dist/services/pluginVariablesService.js +7 -5
- package/backend/dist/services/pluginVariablesService.js.map +1 -1
- package/backend/dist/services/preferencesService.d.ts.map +1 -1
- package/backend/dist/services/preferencesService.js +9 -7
- package/backend/dist/services/preferencesService.js.map +1 -1
- package/backend/dist/services/simpleGitHubOAuth.d.ts.map +1 -1
- package/backend/dist/services/simpleGitHubOAuth.js +10 -8
- package/backend/dist/services/simpleGitHubOAuth.js.map +1 -1
- package/backend/dist/services/simpleHuggingFaceOAuth.d.ts.map +1 -1
- package/backend/dist/services/simpleHuggingFaceOAuth.js +11 -9
- package/backend/dist/services/simpleHuggingFaceOAuth.js.map +1 -1
- package/backend/dist/services/systemSettingsService.d.ts.map +1 -1
- package/backend/dist/services/systemSettingsService.js +4 -2
- package/backend/dist/services/systemSettingsService.js.map +1 -1
- package/backend/dist/services/titleGenerationService.d.ts +55 -0
- package/backend/dist/services/titleGenerationService.d.ts.map +1 -0
- package/backend/dist/services/titleGenerationService.js +121 -0
- package/backend/dist/services/titleGenerationService.js.map +1 -0
- package/backend/dist/services/turnstileService.d.ts +13 -0
- package/backend/dist/services/turnstileService.d.ts.map +1 -0
- package/backend/dist/services/turnstileService.js +79 -0
- package/backend/dist/services/turnstileService.js.map +1 -0
- package/backend/dist/storage.d.ts +2 -22
- package/backend/dist/storage.d.ts.map +1 -1
- package/backend/dist/storage.js +22 -170
- package/backend/dist/storage.js.map +1 -1
- package/backend/dist/storageMappers.d.ts +82 -0
- package/backend/dist/storageMappers.d.ts.map +1 -0
- package/backend/dist/storageMappers.js +85 -0
- package/backend/dist/storageMappers.js.map +1 -0
- package/backend/dist/test-encryption.js +20 -18
- package/backend/dist/test-encryption.js.map +1 -1
- package/backend/dist/types/index.d.ts.map +1 -1
- package/backend/dist/types/index.js.map +1 -1
- package/backend/dist/utils/assistantBranching.d.ts +8 -0
- package/backend/dist/utils/assistantBranching.d.ts.map +1 -0
- package/backend/dist/utils/assistantBranching.js +30 -0
- package/backend/dist/utils/assistantBranching.js.map +1 -0
- package/backend/dist/utils/chatContext.d.ts +17 -0
- package/backend/dist/utils/chatContext.d.ts.map +1 -0
- package/backend/dist/utils/chatContext.js +82 -0
- package/backend/dist/utils/chatContext.js.map +1 -0
- package/backend/dist/utils/chatDocumentContext.d.ts +7 -0
- package/backend/dist/utils/chatDocumentContext.d.ts.map +1 -0
- package/backend/dist/utils/chatDocumentContext.js +51 -0
- package/backend/dist/utils/chatDocumentContext.js.map +1 -0
- package/backend/dist/utils/logger.d.ts +12 -0
- package/backend/dist/utils/logger.d.ts.map +1 -0
- package/backend/dist/utils/logger.js +82 -0
- package/backend/dist/utils/logger.js.map +1 -0
- package/backend/dist/utils/ollamaLibrary.d.ts +17 -0
- package/backend/dist/utils/ollamaLibrary.d.ts.map +1 -0
- package/backend/dist/utils/ollamaLibrary.js +253 -0
- package/backend/dist/utils/ollamaLibrary.js.map +1 -0
- package/backend/dist/utils/ollamaStreaming.d.ts +19 -0
- package/backend/dist/utils/ollamaStreaming.d.ts.map +1 -0
- package/backend/dist/utils/ollamaStreaming.js +67 -0
- package/backend/dist/utils/ollamaStreaming.js.map +1 -0
- package/backend/dist/utils/pluginChatAdapter.d.ts +32 -0
- package/backend/dist/utils/pluginChatAdapter.d.ts.map +1 -0
- package/backend/dist/utils/pluginChatAdapter.js +308 -0
- package/backend/dist/utils/pluginChatAdapter.js.map +1 -0
- package/backend/dist/utils/pluginChatContext.d.ts +23 -0
- package/backend/dist/utils/pluginChatContext.d.ts.map +1 -0
- package/backend/dist/utils/pluginChatContext.js +77 -0
- package/backend/dist/utils/pluginChatContext.js.map +1 -0
- package/backend/dist/utils/pluginResponse.d.ts +6 -0
- package/backend/dist/utils/pluginResponse.d.ts.map +1 -0
- package/backend/dist/utils/pluginResponse.js +70 -0
- package/backend/dist/utils/pluginResponse.js.map +1 -0
- package/backend/dist/utils/pluginStreamAdapter.d.ts +16 -0
- package/backend/dist/utils/pluginStreamAdapter.d.ts.map +1 -0
- package/backend/dist/utils/pluginStreamAdapter.js +141 -0
- package/backend/dist/utils/pluginStreamAdapter.js.map +1 -0
- package/backend/dist/utils/pluginStreaming.d.ts +24 -0
- package/backend/dist/utils/pluginStreaming.d.ts.map +1 -0
- package/backend/dist/utils/pluginStreaming.js +106 -0
- package/backend/dist/utils/pluginStreaming.js.map +1 -0
- package/backend/dist/utils/pluginUpload.d.ts +8 -0
- package/backend/dist/utils/pluginUpload.d.ts.map +1 -0
- package/backend/dist/utils/pluginUpload.js +51 -0
- package/backend/dist/utils/pluginUpload.js.map +1 -0
- package/backend/dist/utils/pluginValidation.d.ts +9 -0
- package/backend/dist/utils/pluginValidation.d.ts.map +1 -0
- package/backend/dist/utils/pluginValidation.js +84 -0
- package/backend/dist/utils/pluginValidation.js.map +1 -0
- package/backend/dist/utils/pluginVariableValidation.d.ts +10 -0
- package/backend/dist/utils/pluginVariableValidation.d.ts.map +1 -0
- package/backend/dist/utils/pluginVariableValidation.js +80 -0
- package/backend/dist/utils/pluginVariableValidation.js.map +1 -0
- package/backend/dist/utils/websocketMessages.d.ts +26 -0
- package/backend/dist/utils/websocketMessages.d.ts.map +1 -0
- package/backend/dist/utils/websocketMessages.js +74 -0
- package/backend/dist/utils/websocketMessages.js.map +1 -0
- package/backend/dist/websocketServer.d.ts +3 -0
- package/backend/dist/websocketServer.d.ts.map +1 -0
- package/backend/dist/websocketServer.js +332 -0
- package/backend/dist/websocketServer.js.map +1 -0
- package/backend/package.json +2 -2
- package/frontend/dist/assets/index-Dc8Q4dJZ.css +1 -0
- package/frontend/dist/assets/index-ONn9VIq7.js +5 -0
- package/frontend/dist/assets/markdown-math-CYlHEDRF.css +1 -0
- package/frontend/dist/index.html +11 -10
- package/frontend/dist/js/ArtifactContainer-CqKsiKz0.js +1 -0
- package/frontend/dist/js/ArtifactDemoPage-Dd5BjIu2.js +200 -0
- package/frontend/dist/js/ArtifactSlideOutPanel-Yc7ttIaY.js +1 -0
- package/frontend/dist/js/Button-BUjLpHmR.js +1 -0
- package/frontend/dist/js/ChatPage-Cpy7lQ0D.js +16 -0
- package/frontend/dist/js/FirstTimeSetup-DcGhm0H0.js +1 -0
- package/frontend/dist/js/GalleryPage-DNI2Evvf.js +1 -0
- package/frontend/dist/js/LibreClawPage-CmTiROsJ.js +1 -0
- package/frontend/dist/js/ModelManagerModals-CfvSeNsT.js +1 -0
- package/frontend/dist/js/ModelsPage-CeTGqx4q.js +2 -0
- package/frontend/dist/js/OptimizedSyntaxHighlighter-CNjLqj1Z.js +1 -0
- package/frontend/dist/js/PersonasPage-BUqu7gJ3.js +13 -0
- package/frontend/dist/js/RichMessageContent-B0JO8vkR.js +3 -0
- package/frontend/dist/js/SettingsModal-B5aJ5vfV.js +1 -0
- package/frontend/dist/js/UserManagementPage-BqIIWX2M.js +1 -0
- package/frontend/dist/js/api-CbmZzKBu.js +15 -0
- package/frontend/dist/js/ar-BAOdgn6O.js +2 -0
- package/frontend/dist/js/artifactHtml-B7Oy2e__.js +27 -0
- package/frontend/dist/js/bn-Bp2KS5mx.js +2 -0
- package/frontend/dist/js/cs-DOgJ0c5p.js +2 -0
- package/frontend/dist/js/da-BCKTkC35.js +2 -0
- package/frontend/dist/js/de-BXyECph5.js +2 -0
- package/frontend/dist/js/demoMode-BhEpMVh5.js +1 -0
- package/frontend/dist/js/es-Db4bDYIF.js +2 -0
- package/frontend/dist/js/fr-BPIkf6zH.js +2 -0
- package/frontend/dist/js/hi-Bm8D_Aux.js +2 -0
- package/frontend/dist/js/id-DiWaH74_.js +2 -0
- package/frontend/dist/js/is-DLgJywtZ.js +2 -0
- package/frontend/dist/js/it-lldrM8pE.js +2 -0
- package/frontend/dist/js/ja-Cfe9uZmQ.js +2 -0
- package/frontend/dist/js/ko-BhChO3MQ.js +2 -0
- package/frontend/dist/js/logger-BmpKNkls.js +1 -0
- package/frontend/dist/js/markdown-core-fkbHPd-g.js +16 -0
- package/frontend/dist/js/markdown-math-Ci4QOsf-.js +261 -0
- package/frontend/dist/js/ms-SWtmetXo.js +2 -0
- package/frontend/dist/js/nl-CUO6I3nO.js +2 -0
- package/frontend/dist/js/pl-BUAu96P6.js +2 -0
- package/frontend/dist/js/pt-DCHwoWiE.js +2 -0
- package/frontend/dist/js/{react-vendor-Dh6nfvM2.js → react-vendor-Co1u1rWb.js} +2 -2
- package/frontend/dist/js/ru-Ciz053N7.js +2 -0
- package/frontend/dist/js/sv-D38ZHjv-.js +2 -0
- package/frontend/dist/js/syntax-highlight-D5wpTVgr.js +8 -0
- package/frontend/dist/js/th-D2cAucvn.js +2 -0
- package/frontend/dist/js/tr-Go355oDu.js +2 -0
- package/frontend/dist/js/ui-vendor-BJAeWL11.js +177 -0
- package/frontend/dist/js/uk-cdzjhgya.js +2 -0
- package/frontend/dist/js/useBaseQuery-6OJiOiyu.js +1 -0
- package/frontend/dist/js/useQuery-DfkI6VAv.js +1 -0
- package/frontend/dist/js/utils-BaPYjs_z.js +1 -0
- package/frontend/dist/js/utils-vendor-BX3ZwoIK.js +9 -0
- package/frontend/dist/js/vi-BSOpE423.js +2 -0
- package/frontend/dist/js/zh-BFh6sHZG.js +2 -0
- package/package.json +12 -8
- package/backend/dist/services/openclawSessionService.d.ts +0 -63
- package/backend/dist/services/openclawSessionService.d.ts.map +0 -1
- package/backend/dist/services/openclawSessionService.js +0 -307
- package/backend/dist/services/openclawSessionService.js.map +0 -1
- package/frontend/dist/assets/index-cOuIFv6G.js +0 -314
- package/frontend/dist/assets/index-tuVjvNle.css +0 -1
- package/frontend/dist/js/ArtifactContainer-DXa2t8GS.js +0 -24
- package/frontend/dist/js/ArtifactDemoPage-Dms7P2gI.js +0 -98
- package/frontend/dist/js/ChatPage-C6hOVIAS.js +0 -15
- package/frontend/dist/js/GalleryPage-CGKPECJV.js +0 -1
- package/frontend/dist/js/ModelsPage-CNB-c-JM.js +0 -1
- package/frontend/dist/js/PersonasPage-hDiS0Rvl.js +0 -13
- package/frontend/dist/js/UserManagementPage-1H9kcHeR.js +0 -1
- package/frontend/dist/js/api-MQ7bONaU.js +0 -3
- package/frontend/dist/js/appStore-BpzQfKOd.js +0 -2
- package/frontend/dist/js/authStore-Cn_WS6Kb.js +0 -2
- package/frontend/dist/js/demoMode-PKHbba1m.js +0 -1
- package/frontend/dist/js/markdown-vendor-DLzJCMRQ.js +0 -22
- package/frontend/dist/js/ui-vendor-ClcVY3m-.js +0 -177
- package/frontend/dist/js/utils-vendor-BCQRX-0Q.js +0 -9
- package/plugins/openclaw-agent.json +0 -69
package/README.md
CHANGED
|
@@ -15,7 +15,7 @@ No telemetry. No tracking. No compromises.
|
|
|
15
15
|
<a href="https://github.com/libre-webui/libre-webui/releases"><img src="https://img.shields.io/github/v/release/libre-webui/libre-webui?style=flat-square&label=version&color=blue" alt="Version"></a>
|
|
16
16
|
<a href="LICENSE"><img src="https://img.shields.io/badge/license-Apache_2.0-green?style=flat-square" alt="License"></a>
|
|
17
17
|
<a href="https://github.com/libre-webui/libre-webui/actions"><img src="https://img.shields.io/github/actions/workflow/status/libre-webui/libre-webui/release.yml?style=flat-square&label=Build" alt="CI"></a>
|
|
18
|
-
<a href="https://huggingface.co/libre-webui"><img src="https://img.shields.io/badge/🤗
|
|
18
|
+
<a href="https://huggingface.co/libre-webui"><img src="https://img.shields.io/badge/🤗_Hugging_Face-models-yellow?style=flat-square" alt="Hugging Face"></a>
|
|
19
19
|
<a href="https://github.com/libre-webui/libre-webui"><img src="https://img.shields.io/github/stars/libre-webui/libre-webui?style=flat-square&label=Stars" alt="Stars"></a>
|
|
20
20
|
</p>
|
|
21
21
|
|
|
@@ -38,9 +38,9 @@ No telemetry. No tracking. No compromises.
|
|
|
38
38
|
|
|
39
39
|
## Why Libre WebUI?
|
|
40
40
|
|
|
41
|
-
Most AI chat tools either **lock you into a cloud**, **harvest your data**, or **pull the rug on their open-source license
|
|
41
|
+
Most AI chat tools either **lock you into a cloud**, **harvest your data**, or **pull the rug on their open-source license through restrictive relicensing or contributor agreements**. We think you deserve better.
|
|
42
42
|
|
|
43
|
-
Libre WebUI is a **self-hosted AI
|
|
43
|
+
Libre WebUI is a **self-hosted AI workspace** that connects to [Ollama](https://ollama.com) for local AI and to cloud providers through plugins — all from one clean, fast UI. Your conversations stay on your device or server unless _you_ choose to use a remote provider.
|
|
44
44
|
|
|
45
45
|
> **Built by [Kroonen AI](https://kroonen.ai) and the open-source community.** Apache 2.0 forever — [we put it in our charter](./CHARTER.md).
|
|
46
46
|
|
|
@@ -48,21 +48,22 @@ Libre WebUI is a **self-hosted AI chat interface** that connects to [Ollama](htt
|
|
|
48
48
|
|
|
49
49
|
## ✨ Features at a Glance
|
|
50
50
|
|
|
51
|
-
| | Feature
|
|
52
|
-
| --- |
|
|
53
|
-
| 💬 | **Streaming Chat**
|
|
54
|
-
|
|
|
55
|
-
|
|
|
56
|
-
|
|
|
57
|
-
|
|
|
58
|
-
|
|
|
59
|
-
|
|
|
60
|
-
|
|
|
61
|
-
|
|
|
62
|
-
|
|
|
63
|
-
|
|
|
64
|
-
|
|
|
65
|
-
|
|
|
51
|
+
| | Feature | What it does |
|
|
52
|
+
| --- | ------------------------ | ------------------------------------------------------------------------- |
|
|
53
|
+
| 💬 | **Streaming Chat** | Real-time local and provider-backed conversations |
|
|
54
|
+
| 🧠 | **Model Manager** | Pull, browse, unload, and manage Ollama, Ollama Cloud, and HF GGUF models |
|
|
55
|
+
| 🔌 | **Plugin System** | Connect OpenAI-compatible providers with JSON config and user credentials |
|
|
56
|
+
| 📄 | **Document Chat (RAG)** | Upload PDF and plain-text files, then search them from chat |
|
|
57
|
+
| 🎭 | **Personas** | Reusable assistants with prompts, parameters, memory, and import/export |
|
|
58
|
+
| 🎨 | **Artifacts** | Sandboxed HTML, SVG, JSON, and code previews beside chat |
|
|
59
|
+
| 🖼️ | **Image Generation** | ComfyUI and provider plugins for generated images |
|
|
60
|
+
| 🔊 | **Text-to-Speech** | Qwen3-TTS, Kyutai, OpenAI-compatible voices, and provider plugins |
|
|
61
|
+
| 🤗 | **Hugging Face Hub** | Discover Hub models and compatible GGUF files from the UI |
|
|
62
|
+
| 🔐 | **Auth & Signup Safety** | Local accounts, GitHub/Hugging Face OAuth, roles, and optional Turnstile |
|
|
63
|
+
| 🌍 | **25+ Languages** | Full i18n coverage from Arabic to Vietnamese |
|
|
64
|
+
| 🖥️ | **Desktop App** | Electron builds for macOS, Windows, and Linux |
|
|
65
|
+
| 🤖 | **AI Agent Support** | Libre Claw runs, approvals, tools, schedules, memory, and usage |
|
|
66
|
+
| 🏢 | **Self-Hosted Ops** | Docker, Kubernetes, SQLite storage, encrypted credentials, and backups |
|
|
66
67
|
|
|
67
68
|
---
|
|
68
69
|
|
|
@@ -74,19 +75,27 @@ Libre WebUI is a **self-hosted AI chat interface** that connects to [Ollama](htt
|
|
|
74
75
|
npx libre-webui
|
|
75
76
|
```
|
|
76
77
|
|
|
77
|
-
Opens at `http://localhost:8080`.
|
|
78
|
+
Opens at `http://localhost:8080`. Install [Ollama](https://ollama.com) for local AI, or add provider API keys in Settings.
|
|
79
|
+
|
|
80
|
+
For a first local model:
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
ollama pull gemma3:4b
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
The first account created on a fresh install becomes the administrator.
|
|
78
87
|
|
|
79
88
|
### 🐳 Docker
|
|
80
89
|
|
|
81
90
|
```bash
|
|
82
91
|
# With bundled Ollama
|
|
83
|
-
docker
|
|
92
|
+
docker compose up -d
|
|
84
93
|
|
|
85
94
|
# With your existing Ollama
|
|
86
|
-
docker
|
|
95
|
+
docker compose -f docker-compose.external-ollama.yml up -d
|
|
87
96
|
|
|
88
97
|
# GPU support (NVIDIA)
|
|
89
|
-
docker
|
|
98
|
+
docker compose -f docker-compose.gpu.yml up -d
|
|
90
99
|
```
|
|
91
100
|
|
|
92
101
|
### 🍺 Homebrew (macOS)
|
|
@@ -126,11 +135,16 @@ Edit `backend/.env`:
|
|
|
126
135
|
```env
|
|
127
136
|
# Local AI (default — just install Ollama)
|
|
128
137
|
OLLAMA_BASE_URL=http://localhost:11434
|
|
138
|
+
JWT_SECRET=replace-with-a-long-random-secret
|
|
129
139
|
|
|
130
140
|
# Cloud providers (optional — add what you need)
|
|
131
141
|
OPENAI_API_KEY=sk-...
|
|
132
142
|
ANTHROPIC_API_KEY=sk-ant-...
|
|
133
143
|
HUGGINGFACE_API_KEY=hf_...
|
|
144
|
+
|
|
145
|
+
# Optional signup protection
|
|
146
|
+
TURNSTILE_SITE_KEY=...
|
|
147
|
+
TURNSTILE_SECRET_KEY=...
|
|
134
148
|
```
|
|
135
149
|
|
|
136
150
|
</details>
|
|
@@ -141,7 +155,7 @@ HUGGINGFACE_API_KEY=hf_...
|
|
|
141
155
|
Dev builds are auto-generated from the `dev` branch. **Not for production.**
|
|
142
156
|
|
|
143
157
|
```bash
|
|
144
|
-
docker
|
|
158
|
+
docker compose -f docker-compose.dev.yml up -d
|
|
145
159
|
```
|
|
146
160
|
|
|
147
161
|
Uses separate data volumes (`libre_webui_dev_data`) so your stable install stays safe.
|
|
@@ -156,9 +170,9 @@ Uses separate data volumes (`libre_webui_dev_data`) so your stable install stays
|
|
|
156
170
|
┌─────────────────────────────────────────────┐
|
|
157
171
|
│ Libre WebUI │
|
|
158
172
|
├──────────────────┬──────────────────────────┤
|
|
159
|
-
│ React + TS
|
|
173
|
+
│ React 18 + TS │ Express 5 + SQLite │
|
|
160
174
|
│ Frontend │ Backend │
|
|
161
|
-
│ (Vite) │ (
|
|
175
|
+
│ (Vite) │ (JWT + encrypted vals) │
|
|
162
176
|
├──────────────────┴──────────────────────────┤
|
|
163
177
|
│ Plugin Layer │
|
|
164
178
|
│ Ollama │ OpenAI │ Anthropic │ Google │ … │
|
|
@@ -167,9 +181,9 @@ Uses separate data volumes (`libre_webui_dev_data`) so your stable install stays
|
|
|
167
181
|
└─────────────────────────────────────────────┘
|
|
168
182
|
```
|
|
169
183
|
|
|
170
|
-
- **Frontend:** React 18 + TypeScript, Vite, responsive with keyboard shortcuts
|
|
171
|
-
- **Backend:** Express 5, SQLite
|
|
172
|
-
- **Plugins:** JSON config files
|
|
184
|
+
- **Frontend:** React 18 + TypeScript, Vite, Tailwind, responsive with keyboard shortcuts
|
|
185
|
+
- **Backend:** Express 5, SQLite, JWT auth, rate limits, SSE/WebSocket streaming
|
|
186
|
+
- **Plugins:** JSON config files with per-user credentials, variables, and model discovery
|
|
173
187
|
- **Desktop:** Electron with native macOS/Windows/Linux builds
|
|
174
188
|
|
|
175
189
|
---
|
|
@@ -193,7 +207,7 @@ Add any AI provider with a JSON file — no code changes needed:
|
|
|
193
207
|
}
|
|
194
208
|
```
|
|
195
209
|
|
|
196
|
-
Built-in plugins: **OpenAI, Anthropic, Google Gemini, Groq, Mistral, OpenRouter,
|
|
210
|
+
Built-in plugins: **OpenAI, Anthropic, Google Gemini, Groq, Mistral, OpenRouter, Hugging Face**, GitHub Models, ComfyUI, ElevenLabs, and more.
|
|
197
211
|
|
|
198
212
|
Plugins support **multi-capability** (chat + TTS + image gen in one config), **per-user variables**, and **encrypted credential storage**.
|
|
199
213
|
|
|
@@ -201,38 +215,37 @@ Plugins support **multi-capability** (chat + TTS + image gen in one config), **p
|
|
|
201
215
|
|
|
202
216
|
---
|
|
203
217
|
|
|
204
|
-
## 🤖 AI Agent Support (
|
|
218
|
+
## 🤖 AI Agent Support (Libre Claw)
|
|
205
219
|
|
|
206
|
-
Libre WebUI
|
|
220
|
+
Libre WebUI supports **AI agents** through
|
|
221
|
+
[Libre Claw](https://github.com/kroonen-ai/libre-claw), a local agent daemon
|
|
222
|
+
for durable runs, permissioned tools, memory, skills, schedules, Telegram, and
|
|
223
|
+
provider routing.
|
|
207
224
|
|
|
208
225
|
**What agents can do:**
|
|
209
226
|
|
|
210
|
-
- 🧠 **Persistent memory** —
|
|
211
|
-
- 🔧 **Tool use** — file
|
|
212
|
-
-
|
|
213
|
-
-
|
|
214
|
-
-
|
|
215
|
-
-
|
|
216
|
-
-
|
|
227
|
+
- 🧠 **Persistent memory** — durable local memory, run archives, and project summaries
|
|
228
|
+
- 🔧 **Tool use** — file operations, shell, git, browser work, HTTP, MCP, schedules, and web search
|
|
229
|
+
- 🧰 **Workspace access** — run agent work in the configured local workspace
|
|
230
|
+
- ✅ **Approvals** — review and approve tool calls from WebUI before side effects
|
|
231
|
+
- 🧭 **Run timeline** — inspect assistant deltas, tool calls, tool results, errors, and artifacts
|
|
232
|
+
- 📅 **Automations** — create, pause, resume, run, and delete Libre Claw schedules
|
|
233
|
+
- 📊 **Usage** — inspect provider usage and fallback behavior
|
|
217
234
|
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
"type": "completion",
|
|
223
|
-
"endpoint": "http://localhost:3000/v1/chat/completions",
|
|
224
|
-
"auth": {
|
|
225
|
-
"header": "Authorization",
|
|
226
|
-
"prefix": "Bearer ",
|
|
227
|
-
"key_env": "OPENCLAW_API_KEY"
|
|
228
|
-
},
|
|
229
|
-
"model_map": ["agent:main"]
|
|
230
|
-
}
|
|
235
|
+
Start Libre Claw locally:
|
|
236
|
+
|
|
237
|
+
```bash
|
|
238
|
+
libre-claw start
|
|
231
239
|
```
|
|
232
240
|
|
|
233
|
-
|
|
241
|
+
Then open **Libre WebUI → Libre Claw**. The backend talks to
|
|
242
|
+
`http://127.0.0.1:8766` by default, or to `LIBRE_CLAW_BASE_URL` when configured.
|
|
243
|
+
|
|
244
|
+
> **Your agent, your workspace, your data.** Libre WebUI provides the browser
|
|
245
|
+
> control surface while Libre Claw keeps the local agent runtime, safety model,
|
|
246
|
+
> memory, tools, and schedules.
|
|
234
247
|
|
|
235
|
-
📖 [
|
|
248
|
+
📖 [Libre Claw integration docs →](./docs/31-LIBRE_CLAW_INTEGRATION.md)
|
|
236
249
|
|
|
237
250
|
---
|
|
238
251
|
|
|
@@ -277,13 +290,14 @@ Libre WebUI has an [Ethical Charter](./CHARTER.md) that guarantees:
|
|
|
277
290
|
|
|
278
291
|
Need to deploy at scale? [Kroonen AI](https://kroonen.ai) provides professional services:
|
|
279
292
|
|
|
280
|
-
| Service
|
|
281
|
-
|
|
|
282
|
-
| **Custom Deployment**
|
|
283
|
-
| **
|
|
284
|
-
| **Custom Development**
|
|
285
|
-
| **
|
|
286
|
-
| **SLA Support**
|
|
293
|
+
| Service | Description |
|
|
294
|
+
| ------------------------ | ------------------------------------------------- |
|
|
295
|
+
| **Custom Deployment** | On-prem, cloud, private-network, and Kubernetes |
|
|
296
|
+
| **Identity & Access** | OAuth setup, role design, and enterprise planning |
|
|
297
|
+
| **Custom Development** | Integrations, white-labeling, and plugins |
|
|
298
|
+
| **Security Reviews** | Deployment hardening and control documentation |
|
|
299
|
+
| **SLA-Backed Support** | Priority response and dedicated channels |
|
|
300
|
+
| **Air-Gapped Workflows** | Offline deployments and local model operations |
|
|
287
301
|
|
|
288
302
|
📧 **enterprise@kroonen.ai** • [Learn more →](https://kroonen.ai/services)
|
|
289
303
|
|
|
@@ -297,7 +311,7 @@ Need to deploy at scale? [Kroonen AI](https://kroonen.ai) provides professional
|
|
|
297
311
|
| 📖 **Documentation** | [docs.librewebui.org](https://docs.librewebui.org) |
|
|
298
312
|
| 🐙 **GitHub** | [github.com/libre-webui/libre-webui](https://github.com/libre-webui/libre-webui) |
|
|
299
313
|
| 🦊 **GitLab** | [git.kroonen.ai/libre-webui](https://git.kroonen.ai/libre-webui/libre-webui) |
|
|
300
|
-
| 🤗 **
|
|
314
|
+
| 🤗 **Hugging Face** | [huggingface.co/libre-webui](https://huggingface.co/libre-webui) |
|
|
301
315
|
| 𝕏 **Twitter** | [@librewebui](https://x.com/librewebui) |
|
|
302
316
|
| 🐘 **Mastodon** | [@librewebui@fosstodon.org](https://fosstodon.org/@librewebui) |
|
|
303
317
|
| ❤️ **Sponsor** | [github.com/sponsors/libre-webui](https://github.com/sponsors/libre-webui) |
|
package/backend/dist/db.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"AAiBA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"AAiBA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AA0BtC;;GAEG;AACH,wBAAgB,WAAW,IAAI,QAAQ,CAAC,QAAQ,CA0D/C;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAO1D;AAsWD;;GAEG;AACH,wBAAgB,aAAa,IAAI,IAAI,CAMpC;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,OAAO,CAa/C;AAGD,eAAe,WAAW,CAAC"}
|
package/backend/dist/db.js
CHANGED
|
@@ -17,6 +17,8 @@
|
|
|
17
17
|
import Database from 'better-sqlite3';
|
|
18
18
|
import path from 'path';
|
|
19
19
|
import fs from 'fs';
|
|
20
|
+
import { createLogger } from './utils/logger.js';
|
|
21
|
+
const logger = createLogger('database');
|
|
20
22
|
// Database instance
|
|
21
23
|
let db = null;
|
|
22
24
|
let dbInitializationFailed = false;
|
|
@@ -31,7 +33,7 @@ function isSQLiteAvailable() {
|
|
|
31
33
|
return true;
|
|
32
34
|
}
|
|
33
35
|
catch (error) {
|
|
34
|
-
|
|
36
|
+
logger.error('SQLite availability check failed:', error);
|
|
35
37
|
return false;
|
|
36
38
|
}
|
|
37
39
|
}
|
|
@@ -45,8 +47,8 @@ export function getDatabase() {
|
|
|
45
47
|
if (!db) {
|
|
46
48
|
// Check if SQLite is available first
|
|
47
49
|
if (!isSQLiteAvailable()) {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
+
logger.error('better-sqlite3 is not available or compatible with current Node.js version');
|
|
51
|
+
logger.debug('Storage mode: JSON');
|
|
50
52
|
dbInitializationFailed = true;
|
|
51
53
|
throw new Error('SQLite not available');
|
|
52
54
|
}
|
|
@@ -68,16 +70,16 @@ export function getDatabase() {
|
|
|
68
70
|
db.pragma('synchronous = FULL');
|
|
69
71
|
db.pragma('temp_store = MEMORY');
|
|
70
72
|
db.pragma('mmap_size = 268435456'); // 256MB
|
|
71
|
-
|
|
73
|
+
logger.debug('✅ Database initialized with application-level encryption');
|
|
72
74
|
// Create tables if they don't exist
|
|
73
75
|
initializeTables();
|
|
74
76
|
// Run migrations
|
|
75
77
|
runMigrations();
|
|
76
|
-
|
|
78
|
+
logger.debug(`SQLite database initialized at: ${dbPath}`);
|
|
77
79
|
}
|
|
78
80
|
catch (error) {
|
|
79
|
-
|
|
80
|
-
|
|
81
|
+
logger.error('Error initializing SQLite database:', error);
|
|
82
|
+
logger.debug('Storage mode: JSON');
|
|
81
83
|
dbInitializationFailed = true;
|
|
82
84
|
throw new Error('SQLite database initialization failed');
|
|
83
85
|
}
|
|
@@ -92,7 +94,7 @@ export function getDatabaseSafe() {
|
|
|
92
94
|
return getDatabase();
|
|
93
95
|
}
|
|
94
96
|
catch (_error) {
|
|
95
|
-
|
|
97
|
+
logger.warn('Database not available, continuing without SQLite');
|
|
96
98
|
return null;
|
|
97
99
|
}
|
|
98
100
|
}
|
|
@@ -121,7 +123,7 @@ function initializeTables() {
|
|
|
121
123
|
const hasAvatar = tableInfo.some(col => col.name === 'avatar');
|
|
122
124
|
if (!hasAvatar) {
|
|
123
125
|
db.exec('ALTER TABLE users ADD COLUMN avatar TEXT');
|
|
124
|
-
|
|
126
|
+
logger.debug('Migration: Added avatar column to users table');
|
|
125
127
|
}
|
|
126
128
|
}
|
|
127
129
|
catch {
|
|
@@ -292,7 +294,7 @@ function initializeTables() {
|
|
|
292
294
|
CREATE INDEX IF NOT EXISTS idx_generated_images_user_id ON generated_images(user_id);
|
|
293
295
|
CREATE INDEX IF NOT EXISTS idx_generated_images_created_at ON generated_images(created_at);
|
|
294
296
|
`);
|
|
295
|
-
|
|
297
|
+
logger.debug('Database tables initialized successfully');
|
|
296
298
|
// Create default user if no users exist
|
|
297
299
|
createDefaultUserIfNeeded();
|
|
298
300
|
}
|
|
@@ -313,11 +315,11 @@ function createDefaultUserIfNeeded() {
|
|
|
313
315
|
INSERT INTO users (id, username, email, password_hash, role, created_at, updated_at)
|
|
314
316
|
VALUES (?, ?, ?, ?, ?, ?, ?)
|
|
315
317
|
`).run('default', 'admin', null, 'default', 'admin', now, now);
|
|
316
|
-
|
|
318
|
+
logger.debug('Created default user for single-user mode');
|
|
317
319
|
}
|
|
318
320
|
}
|
|
319
321
|
catch (error) {
|
|
320
|
-
|
|
322
|
+
logger.error('Failed to create default user:', error);
|
|
321
323
|
}
|
|
322
324
|
}
|
|
323
325
|
/**
|
|
@@ -345,7 +347,7 @@ function runMigrations() {
|
|
|
345
347
|
];
|
|
346
348
|
for (const column of newSessionMessagesColumns) {
|
|
347
349
|
if (!existingSessionMessagesColumns.includes(column.name)) {
|
|
348
|
-
|
|
350
|
+
logger.debug(`Adding column ${column.name} to session_messages table`);
|
|
349
351
|
db.exec(`ALTER TABLE session_messages ADD COLUMN ${column.name} ${column.type}`);
|
|
350
352
|
}
|
|
351
353
|
}
|
|
@@ -358,10 +360,10 @@ function runMigrations() {
|
|
|
358
360
|
const existingSessionsColumns = sessionsTableInfo.map(col => col.name);
|
|
359
361
|
// Add persona_id column to sessions table if it doesn't exist
|
|
360
362
|
if (!existingSessionsColumns.includes('persona_id')) {
|
|
361
|
-
|
|
363
|
+
logger.debug('Adding persona_id column to sessions table');
|
|
362
364
|
db.exec('ALTER TABLE sessions ADD COLUMN persona_id TEXT');
|
|
363
365
|
// Create index for the new column
|
|
364
|
-
|
|
366
|
+
logger.debug('Creating index for persona_id column');
|
|
365
367
|
db.exec('CREATE INDEX IF NOT EXISTS idx_sessions_persona_id ON sessions(persona_id)');
|
|
366
368
|
}
|
|
367
369
|
// Check if we need to add embedding_model and advanced features columns to personas table
|
|
@@ -377,13 +379,13 @@ function runMigrations() {
|
|
|
377
379
|
];
|
|
378
380
|
for (const column of newPersonasColumns) {
|
|
379
381
|
if (!existingPersonasColumns.includes(column.name)) {
|
|
380
|
-
|
|
382
|
+
logger.debug(`Adding column ${column.name} to personas table`);
|
|
381
383
|
db.exec(`ALTER TABLE personas ADD COLUMN ${column.name} ${column.type}`);
|
|
382
384
|
}
|
|
383
385
|
}
|
|
384
386
|
}
|
|
385
387
|
catch (error) {
|
|
386
|
-
|
|
388
|
+
logger.error('Error running migrations:', error);
|
|
387
389
|
}
|
|
388
390
|
}
|
|
389
391
|
/**
|
|
@@ -393,7 +395,7 @@ export function closeDatabase() {
|
|
|
393
395
|
if (db) {
|
|
394
396
|
db.close();
|
|
395
397
|
db = null;
|
|
396
|
-
|
|
398
|
+
logger.debug('Database connection closed');
|
|
397
399
|
}
|
|
398
400
|
}
|
|
399
401
|
/**
|
|
@@ -408,7 +410,7 @@ export function isDatabaseInitialized() {
|
|
|
408
410
|
return !!result;
|
|
409
411
|
}
|
|
410
412
|
catch (error) {
|
|
411
|
-
|
|
413
|
+
logger.error('Error checking database initialization:', error);
|
|
412
414
|
return false;
|
|
413
415
|
}
|
|
414
416
|
}
|
package/backend/dist/db.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.js","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"db.js","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAkBA,OAAO,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAkBA,OAAO,UAAU,CAAC;AAsDlB,QAAA,MAAM,GAAG,6CAAY,CAAC;AA4btB,eAAe,GAAG,CAAC"}
|