libre-webui 0.8.0 → 0.8.3
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 +197 -234
- package/backend/dist/db.d.ts.map +1 -1
- package/backend/dist/db.js +14 -0
- package/backend/dist/db.js.map +1 -1
- package/backend/dist/index.d.ts.map +1 -1
- package/backend/dist/index.js +100 -8
- package/backend/dist/index.js.map +1 -1
- package/backend/dist/routes/auth.d.ts.map +1 -1
- package/backend/dist/routes/auth.js +30 -1
- package/backend/dist/routes/auth.js.map +1 -1
- package/backend/dist/routes/ollama.d.ts.map +1 -1
- package/backend/dist/routes/ollama.js +67 -1
- package/backend/dist/routes/ollama.js.map +1 -1
- package/backend/dist/services/authService.d.ts +1 -0
- package/backend/dist/services/authService.d.ts.map +1 -1
- package/backend/dist/services/authService.js +2 -0
- package/backend/dist/services/authService.js.map +1 -1
- package/backend/dist/services/openclawSessionService.js +2 -2
- package/backend/dist/services/openclawSessionService.js.map +1 -1
- package/backend/dist/services/pluginService.d.ts.map +1 -1
- package/backend/dist/services/pluginService.js +15 -3
- package/backend/dist/services/pluginService.js.map +1 -1
- package/backend/dist/services/systemSettingsService.d.ts +12 -0
- package/backend/dist/services/systemSettingsService.d.ts.map +1 -0
- package/backend/dist/services/systemSettingsService.js +68 -0
- package/backend/dist/services/systemSettingsService.js.map +1 -0
- package/frontend/dist/assets/index-CT6_wIIb.js +51 -0
- package/frontend/dist/css/index-eoCzaqbg.css +1 -0
- package/frontend/dist/index.html +4 -4
- package/frontend/dist/js/{ArtifactContainer-CR_N0zJa.js → ArtifactContainer-BLwdP4Y4.js} +1 -1
- package/frontend/dist/js/{ArtifactDemoPage-B4i0y1r8.js → ArtifactDemoPage-CYKT3Mxr.js} +1 -1
- package/frontend/dist/js/ChatPage-5pmqke2e.js +281 -0
- package/frontend/dist/js/{GalleryPage-BwPcUdbX.js → GalleryPage-CeV6Xikm.js} +1 -1
- package/frontend/dist/js/ModelsPage-BEHsiMmV.js +1 -0
- package/frontend/dist/js/{PersonasPage-CZrFe-EX.js → PersonasPage-D92Q-9GN.js} +1 -1
- package/frontend/dist/js/{UserManagementPage-doHbL51e.js → UserManagementPage-ir6FoUIm.js} +1 -1
- package/frontend/dist/js/ui-vendor-DsBonqC3.js +177 -0
- package/frontend/dist/js/utils-vendor-3oAsqusP.js +6 -0
- package/package.json +1 -2
- package/frontend/dist/assets/index-BHPEXBOC.js +0 -51
- package/frontend/dist/css/index-D9uKnbHR.css +0 -1
- package/frontend/dist/js/ChatPage-CNZjHhUr.js +0 -281
- package/frontend/dist/js/ModelsPage-2EzbE4Sf.js +0 -1
- package/frontend/dist/js/ui-vendor-BxYipEVo.js +0 -177
- package/frontend/dist/js/utils-vendor-0Ymd3GFQ.js +0 -6
package/README.md
CHANGED
|
@@ -1,32 +1,36 @@
|
|
|
1
1
|
<div align="center">
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
<br>
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
# 🕊️ Libre WebUI
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
### Your AI, Your Rules.
|
|
8
|
+
|
|
9
|
+
**The privacy-first, open-source chat interface for local and cloud AI.**<br>
|
|
10
|
+
No telemetry. No tracking. No compromises.
|
|
11
|
+
|
|
12
|
+
<br>
|
|
11
13
|
|
|
12
14
|
<p>
|
|
13
|
-
<
|
|
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
|
+
<a href="LICENSE"><img src="https://img.shields.io/badge/license-Apache_2.0-green?style=flat-square" alt="License"></a>
|
|
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/🤗_HuggingFace-models-yellow?style=flat-square" alt="HuggingFace"></a>
|
|
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>
|
|
14
20
|
</p>
|
|
15
21
|
|
|
16
|
-
<p
|
|
17
|
-
<
|
|
18
|
-
<
|
|
19
|
-
<
|
|
20
|
-
<a href="
|
|
22
|
+
<p>
|
|
23
|
+
<a href="https://librewebui.org">Website</a> •
|
|
24
|
+
<a href="https://docs.librewebui.org">Docs</a> •
|
|
25
|
+
<a href="https://github.com/libre-webui/libre-webui/releases">Download</a> •
|
|
26
|
+
<a href="#quick-start">Quick Start</a>
|
|
21
27
|
</p>
|
|
22
28
|
|
|
23
|
-
<
|
|
24
|
-
<img src="https://img.shields.io/badge/GDPR-Ready-green" alt="GDPR Ready">
|
|
25
|
-
<img src="https://img.shields.io/badge/HIPAA-Compatible-blue" alt="HIPAA Compatible">
|
|
26
|
-
<img src="https://img.shields.io/badge/SOC_2-Ready-purple" alt="SOC 2 Ready">
|
|
27
|
-
</p>
|
|
29
|
+
<br>
|
|
28
30
|
|
|
29
|
-
|
|
31
|
+
<p>
|
|
32
|
+
<img src="./screenshot.png" width="100%" alt="Libre WebUI — Privacy-first AI chat interface">
|
|
33
|
+
</p>
|
|
30
34
|
|
|
31
35
|
</div>
|
|
32
36
|
|
|
@@ -34,196 +38,145 @@
|
|
|
34
38
|
|
|
35
39
|
## Why Libre WebUI?
|
|
36
40
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
- **Your data stays yours** — Zero telemetry, fully self-hosted
|
|
40
|
-
- **Extensible plugin system** — Ollama, OpenAI, Anthropic, and any OpenAI-compatible API
|
|
41
|
-
- **Simple & focused** — Keyboard shortcuts, dark mode, responsive design
|
|
42
|
-
|
|
43
|
-
---
|
|
44
|
-
|
|
45
|
-
## Features
|
|
41
|
+
Most AI chat tools either **lock you into a cloud**, **harvest your data**, or **pull the rug on their open-source license** (looking at you, BSD-3 + CLA combos 👀). We think you deserve better.
|
|
46
42
|
|
|
47
|
-
|
|
48
|
-
<tr>
|
|
49
|
-
<td width="50%">
|
|
43
|
+
Libre WebUI is a **self-hosted AI chat interface** that connects to [Ollama](https://ollama.ai) for fully local AI, or to OpenAI, Anthropic, Google, and 10+ cloud providers — all from one clean, fast UI. Your conversations never leave your machine unless _you_ choose to send them.
|
|
50
44
|
|
|
51
|
-
|
|
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).
|
|
52
46
|
|
|
53
|
-
|
|
54
|
-
- Dark/light themes
|
|
55
|
-
- VS Code-style keyboard shortcuts
|
|
56
|
-
- Mobile-responsive design
|
|
57
|
-
- **Native Desktop App** — macOS (Windows & Linux coming soon)
|
|
58
|
-
|
|
59
|
-
### AI Providers
|
|
60
|
-
|
|
61
|
-
- **Local**: Ollama (full integration)
|
|
62
|
-
- **Cloud**: OpenAI, Anthropic, Google, Groq, Mistral, OpenRouter, HuggingFace, and more
|
|
63
|
-
- **HuggingFace Hub** — 1M+ models for chat, TTS, image gen, embeddings, STT
|
|
64
|
-
- **Image Generation** — ComfyUI with Flux models
|
|
65
|
-
- **Plugin System** — Add any OpenAI-compatible API via JSON config
|
|
66
|
-
- **Plugin Variables** — Per-plugin configurable settings (temperature, endpoint, etc.)
|
|
67
|
-
|
|
68
|
-
</td>
|
|
69
|
-
<td width="50%">
|
|
70
|
-
|
|
71
|
-
### Advanced Capabilities
|
|
72
|
-
|
|
73
|
-
- **Document Chat (RAG)** — Upload PDFs, chat with your docs
|
|
74
|
-
- **Custom Personas** — AI personalities with memory
|
|
75
|
-
- **Interactive Artifacts** — Live HTML, SVG, code preview
|
|
76
|
-
- **Text-to-Speech** — Multiple voices and providers
|
|
77
|
-
- **SSO Authentication** — GitHub, Hugging Face OAuth
|
|
78
|
-
|
|
79
|
-
### Security
|
|
80
|
-
|
|
81
|
-
- AES-256-GCM encryption
|
|
82
|
-
- Role-based access control
|
|
83
|
-
- Enterprise compliance ready
|
|
47
|
+
---
|
|
84
48
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
49
|
+
## ✨ Features at a Glance
|
|
50
|
+
|
|
51
|
+
| | Feature | What it does |
|
|
52
|
+
| --- | ----------------------- | ---------------------------------------------------------------- |
|
|
53
|
+
| 💬 | **Streaming Chat** | Real-time responses with dark/light themes and mobile support |
|
|
54
|
+
| 🔌 | **Plugin System** | Connect any OpenAI-compatible API via simple JSON config |
|
|
55
|
+
| 📄 | **Document Chat (RAG)** | Upload PDFs and chat with your documents |
|
|
56
|
+
| 🎭 | **Personas** | Custom AI personalities with persistent memory |
|
|
57
|
+
| 🎨 | **Artifacts** | Live HTML, SVG, and code preview right in chat |
|
|
58
|
+
| 🖼️ | **Image Generation** | ComfyUI + Flux, DALL·E, and more |
|
|
59
|
+
| 🔊 | **Text-to-Speech** | Qwen3-TTS, Kyutai, OpenAI voices — local or cloud |
|
|
60
|
+
| 🤗 | **HuggingFace Hub** | Browse and use 1M+ models for chat, TTS, images, embeddings, STT |
|
|
61
|
+
| 🔐 | **SSO & Auth** | GitHub, HuggingFace OAuth/OIDC, role-based access |
|
|
62
|
+
| 🌍 | **25+ Languages** | Full i18n — Arabic to Vietnamese |
|
|
63
|
+
| 🖥️ | **Desktop App** | Native app for macOS, Windows, Linux (Electron) |
|
|
64
|
+
| 🤖 | **AI Agent Support** | OpenClaw integration — persistent agents with memory and tools |
|
|
65
|
+
| 🏢 | **Enterprise Ready** | GDPR, HIPAA, SOC 2 compatible • AES-256-GCM encryption |
|
|
88
66
|
|
|
89
67
|
---
|
|
90
68
|
|
|
91
|
-
## Quick Start
|
|
69
|
+
## 🚀 Quick Start
|
|
92
70
|
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
### One Command Install
|
|
71
|
+
### One command — that's it
|
|
96
72
|
|
|
97
73
|
```bash
|
|
98
74
|
npx libre-webui
|
|
99
75
|
```
|
|
100
76
|
|
|
101
|
-
|
|
77
|
+
Opens at `http://localhost:8080`. Add [Ollama](https://ollama.ai) for local AI, or plug in your API keys.
|
|
102
78
|
|
|
103
|
-
###
|
|
79
|
+
### 🐳 Docker
|
|
104
80
|
|
|
105
81
|
```bash
|
|
106
|
-
#
|
|
107
|
-
|
|
108
|
-
brew install libre-webui
|
|
109
|
-
libre-webui
|
|
82
|
+
# With bundled Ollama
|
|
83
|
+
docker-compose up -d
|
|
110
84
|
|
|
111
|
-
#
|
|
112
|
-
|
|
113
|
-
```
|
|
114
|
-
|
|
115
|
-
Run as a background service:
|
|
85
|
+
# With your existing Ollama
|
|
86
|
+
docker-compose -f docker-compose.external-ollama.yml up -d
|
|
116
87
|
|
|
117
|
-
|
|
118
|
-
|
|
88
|
+
# GPU support (NVIDIA)
|
|
89
|
+
docker-compose -f docker-compose.gpu.yml up -d
|
|
119
90
|
```
|
|
120
91
|
|
|
121
|
-
###
|
|
122
|
-
|
|
123
|
-
| Setup | Command |
|
|
124
|
-
| ----------------------------------------- | ------------------------------------------------------------ |
|
|
125
|
-
| Bundled Ollama (CPU) | `docker-compose up -d` |
|
|
126
|
-
| Bundled Ollama (NVIDIA GPU) | `docker-compose -f docker-compose.gpu.yml up -d` |
|
|
127
|
-
| External Ollama (already running on host) | `docker-compose -f docker-compose.external-ollama.yml up -d` |
|
|
128
|
-
|
|
129
|
-
Access at `http://localhost:8080`
|
|
130
|
-
|
|
131
|
-
<details>
|
|
132
|
-
<summary><strong>Development builds (unstable)</strong></summary>
|
|
133
|
-
|
|
134
|
-
> **Warning:** Development builds are automatically generated from the `dev` branch and may contain experimental features, breaking changes, or bugs. Use at your own risk and do not use in production environments.
|
|
135
|
-
|
|
136
|
-
| Setup | Command |
|
|
137
|
-
| --------------------------------- | ---------------------------------------------------------------- |
|
|
138
|
-
| Dev + Bundled Ollama (CPU) | `docker-compose -f docker-compose.dev.yml up -d` |
|
|
139
|
-
| Dev + Bundled Ollama (NVIDIA GPU) | `docker-compose -f docker-compose.dev.gpu.yml up -d` |
|
|
140
|
-
| Dev + External Ollama | `docker-compose -f docker-compose.dev.external-ollama.yml up -d` |
|
|
141
|
-
|
|
142
|
-
Development builds use separate data volumes (`libre_webui_dev_data`) to prevent conflicts with stable installations.
|
|
143
|
-
|
|
144
|
-
To pull the latest dev image manually:
|
|
92
|
+
### 🍺 Homebrew (macOS)
|
|
145
93
|
|
|
146
94
|
```bash
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
</details>
|
|
151
|
-
|
|
152
|
-
### Kubernetes (Helm)
|
|
95
|
+
brew tap libre-webui/tap && brew install libre-webui
|
|
96
|
+
libre-webui
|
|
153
97
|
|
|
154
|
-
|
|
155
|
-
|
|
98
|
+
# Or install the desktop app
|
|
99
|
+
brew install --cask libre-webui
|
|
156
100
|
```
|
|
157
101
|
|
|
158
|
-
|
|
159
|
-
<summary><strong>Helm configuration options</strong></summary>
|
|
102
|
+
### ☸️ Kubernetes
|
|
160
103
|
|
|
161
104
|
```bash
|
|
162
|
-
|
|
163
|
-
helm install libre-webui oci://ghcr.io/libre-webui/charts/libre-webui \
|
|
164
|
-
--set ollama.bundled.enabled=false \
|
|
165
|
-
--set ollama.external.enabled=true \
|
|
166
|
-
--set ollama.external.url=http://my-ollama:11434
|
|
167
|
-
|
|
168
|
-
# With NVIDIA GPU support
|
|
169
|
-
helm install libre-webui oci://ghcr.io/libre-webui/charts/libre-webui \
|
|
170
|
-
--set ollama.bundled.gpu.enabled=true
|
|
171
|
-
|
|
172
|
-
# With Ingress
|
|
173
|
-
helm install libre-webui oci://ghcr.io/libre-webui/charts/libre-webui \
|
|
174
|
-
--set ingress.enabled=true \
|
|
175
|
-
--set ingress.hosts[0].host=chat.example.com
|
|
105
|
+
helm install libre-webui oci://ghcr.io/libre-webui/charts/libre-webui
|
|
176
106
|
```
|
|
177
107
|
|
|
178
|
-
|
|
108
|
+
### 🖥️ Desktop App
|
|
179
109
|
|
|
180
|
-
|
|
110
|
+
Download from [GitHub Releases](https://github.com/libre-webui/libre-webui/releases) — available for **macOS**, **Windows**, and **Linux**.
|
|
181
111
|
|
|
182
|
-
###
|
|
112
|
+
### 🛠️ From Source
|
|
183
113
|
|
|
184
114
|
```bash
|
|
185
|
-
# 1. Clone the repo
|
|
186
115
|
git clone https://github.com/libre-webui/libre-webui
|
|
187
116
|
cd libre-webui
|
|
188
|
-
|
|
189
|
-
# 2. Configure environment
|
|
190
117
|
cp backend/.env.example backend/.env
|
|
191
|
-
|
|
192
|
-
# 3. Install and run
|
|
193
118
|
npm install && npm run dev
|
|
194
119
|
```
|
|
195
120
|
|
|
196
|
-
|
|
121
|
+
<details>
|
|
122
|
+
<summary><strong>⚙️ Configuration</strong></summary>
|
|
197
123
|
|
|
198
|
-
Edit `backend/.env
|
|
124
|
+
Edit `backend/.env`:
|
|
199
125
|
|
|
200
126
|
```env
|
|
201
|
-
# Local AI (Ollama)
|
|
127
|
+
# Local AI (default — just install Ollama)
|
|
202
128
|
OLLAMA_BASE_URL=http://localhost:11434
|
|
203
129
|
|
|
204
|
-
# Cloud
|
|
130
|
+
# Cloud providers (optional — add what you need)
|
|
205
131
|
OPENAI_API_KEY=sk-...
|
|
206
132
|
ANTHROPIC_API_KEY=sk-ant-...
|
|
207
133
|
HUGGINGFACE_API_KEY=hf_...
|
|
208
134
|
```
|
|
209
135
|
|
|
136
|
+
</details>
|
|
137
|
+
|
|
138
|
+
<details>
|
|
139
|
+
<summary><strong>🧪 Development builds (unstable)</strong></summary>
|
|
140
|
+
|
|
141
|
+
Dev builds are auto-generated from the `dev` branch. **Not for production.**
|
|
142
|
+
|
|
143
|
+
```bash
|
|
144
|
+
docker-compose -f docker-compose.dev.yml up -d
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
Uses separate data volumes (`libre_webui_dev_data`) so your stable install stays safe.
|
|
148
|
+
|
|
149
|
+
</details>
|
|
150
|
+
|
|
210
151
|
---
|
|
211
152
|
|
|
212
|
-
##
|
|
153
|
+
## 🏗️ Architecture
|
|
213
154
|
|
|
214
|
-
|
|
155
|
+
```
|
|
156
|
+
┌─────────────────────────────────────────────┐
|
|
157
|
+
│ Libre WebUI │
|
|
158
|
+
├──────────────────┬──────────────────────────┤
|
|
159
|
+
│ React + TS │ Express + SQLite │
|
|
160
|
+
│ Frontend │ Backend │
|
|
161
|
+
│ (Vite) │ (AES-256 encryption) │
|
|
162
|
+
├──────────────────┴──────────────────────────┤
|
|
163
|
+
│ Plugin Layer │
|
|
164
|
+
│ Ollama │ OpenAI │ Anthropic │ Google │ … │
|
|
165
|
+
├─────────────────────────────────────────────┤
|
|
166
|
+
│ Electron (Desktop) │ Docker │ Kubernetes │
|
|
167
|
+
└─────────────────────────────────────────────┘
|
|
168
|
+
```
|
|
215
169
|
|
|
216
|
-
|
|
170
|
+
- **Frontend:** React 18 + TypeScript, Vite, responsive with keyboard shortcuts
|
|
171
|
+
- **Backend:** Express 5, SQLite with AES-256-GCM encryption, WebSocket streaming
|
|
172
|
+
- **Plugins:** JSON config files — add any provider without touching code
|
|
173
|
+
- **Desktop:** Electron with native macOS/Windows/Linux builds
|
|
217
174
|
|
|
218
|
-
|
|
175
|
+
---
|
|
219
176
|
|
|
220
|
-
|
|
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
|
|
177
|
+
## 🔌 Plugin System
|
|
225
178
|
|
|
226
|
-
|
|
179
|
+
Add any AI provider with a JSON file — no code changes needed:
|
|
227
180
|
|
|
228
181
|
```json
|
|
229
182
|
{
|
|
@@ -234,125 +187,135 @@ A plugin is a JSON config file stored in the `plugins/` directory. Each plugin d
|
|
|
234
187
|
"auth": {
|
|
235
188
|
"header": "Authorization",
|
|
236
189
|
"prefix": "Bearer ",
|
|
237
|
-
"key_env": "
|
|
190
|
+
"key_env": "MY_API_KEY"
|
|
238
191
|
},
|
|
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
|
-
]
|
|
192
|
+
"model_map": ["model-a", "model-b"]
|
|
251
193
|
}
|
|
252
194
|
```
|
|
253
195
|
|
|
254
|
-
|
|
196
|
+
Built-in plugins: **OpenAI, Anthropic, Google Gemini, Groq, Mistral, OpenRouter, HuggingFace**, and more.
|
|
255
197
|
|
|
256
|
-
Plugins
|
|
198
|
+
Plugins support **multi-capability** (chat + TTS + image gen in one config), **per-user variables**, and **encrypted credential storage**.
|
|
257
199
|
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
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
|
|
200
|
+
📖 [Full plugin docs →](./docs/08-PLUGIN_ARCHITECTURE.md)
|
|
201
|
+
|
|
202
|
+
---
|
|
264
203
|
|
|
265
|
-
|
|
204
|
+
## 🤖 AI Agent Support (OpenClaw)
|
|
266
205
|
|
|
267
|
-
|
|
206
|
+
Libre WebUI natively supports **AI agents** via the [OpenClaw](https://openclaw.ai) plugin — turning your chat interface into a full agent platform.
|
|
268
207
|
|
|
269
|
-
|
|
208
|
+
**What agents can do:**
|
|
270
209
|
|
|
271
|
-
|
|
210
|
+
- 🧠 **Persistent memory** — agents remember across sessions
|
|
211
|
+
- 🔧 **Tool use** — file access, web search, code execution, device control
|
|
212
|
+
- 📅 **Proactive actions** — scheduled tasks, reminders, heartbeat monitoring
|
|
213
|
+
- 🎙️ **Voice messages** — agents generate and send audio using local TTS
|
|
214
|
+
- 🖼️ **Image generation** — agents create images via ComfyUI, DALL·E, etc.
|
|
215
|
+
- 💬 **Multi-channel** — same agent across Telegram, Discord, Signal, Nextcloud Talk
|
|
216
|
+
- 🔌 **Plugin-powered** — configure via JSON, no code required
|
|
272
217
|
|
|
273
218
|
```json
|
|
274
219
|
{
|
|
275
|
-
"id": "
|
|
220
|
+
"id": "openclaw-agent",
|
|
221
|
+
"name": "OpenClaw Agent",
|
|
276
222
|
"type": "completion",
|
|
277
|
-
"endpoint": "
|
|
278
|
-
"
|
|
279
|
-
"
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
"default_voice": "alloy"
|
|
285
|
-
}
|
|
286
|
-
}
|
|
287
|
-
}
|
|
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"]
|
|
288
230
|
}
|
|
289
231
|
```
|
|
290
232
|
|
|
291
|
-
|
|
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.
|
|
233
|
+
> **Your agent, your hardware, your data.** No cloud dependency. Run Claude, GPT, Gemini, or local models as the agent's brain — all through the same self-hosted interface.
|
|
294
234
|
|
|
295
|
-
|
|
235
|
+
📖 [OpenClaw integration docs →](./docs/31-OPENCLAW_INTEGRATION.md)
|
|
296
236
|
|
|
297
237
|
---
|
|
298
238
|
|
|
299
|
-
|
|
239
|
+
## 🤝 Contributing
|
|
240
|
+
|
|
241
|
+
We'd love your help! Libre WebUI is built by people who care about privacy and AI freedom.
|
|
300
242
|
|
|
301
|
-
|
|
243
|
+
**Getting started is easy:**
|
|
302
244
|
|
|
303
|
-
|
|
245
|
+
1. Fork the repo and clone it
|
|
246
|
+
2. `npm install && npm run dev`
|
|
247
|
+
3. Make your changes on a branch off `dev`
|
|
248
|
+
4. Open a PR — one approving review from the TSC and you're in
|
|
304
249
|
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
250
|
+
**Ways to contribute:**
|
|
251
|
+
|
|
252
|
+
- 🐛 **Bug reports** — [open an issue](https://github.com/libre-webui/libre-webui/issues)
|
|
253
|
+
- 💡 **Feature ideas** — start a discussion
|
|
254
|
+
- 🌍 **Translations** — help us reach more languages
|
|
255
|
+
- 📖 **Documentation** — every improvement helps
|
|
256
|
+
- 🔌 **Plugins** — share your provider configs
|
|
257
|
+
|
|
258
|
+
All contributors follow our [Code of Conduct](https://www.contributor-covenant.org/version/2/1/code_of_conduct/) and [Community Charter](./CHARTER.md).
|
|
259
|
+
|
|
260
|
+
Security issues? Email **security@kroonen.ai** — we follow a 30-day coordinated disclosure.
|
|
310
261
|
|
|
311
262
|
---
|
|
312
263
|
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
> | SSO integration | Okta, Azure AD, SAML, LDAP |
|
|
323
|
-
> | Custom development | Integrations, white-labeling, plugins |
|
|
324
|
-
> | SLA-backed support | Priority response, dedicated channel |
|
|
325
|
-
>
|
|
326
|
-
> **Contact:** enterprise@kroonen.ai | **[Learn more →](https://kroonen.ai/services)**
|
|
327
|
-
|
|
328
|
-
> [!TIP]
|
|
329
|
-
>
|
|
330
|
-
> ## Support Development
|
|
331
|
-
>
|
|
332
|
-
> Libre WebUI is built and maintained independently. Your support keeps it free and open source.
|
|
333
|
-
>
|
|
334
|
-
> [](https://github.com/sponsors/libre-webui)
|
|
335
|
-
>
|
|
336
|
-
> **[Become a Sponsor](https://github.com/sponsors/libre-webui)** — Help fund active development
|
|
264
|
+
## 📜 Our Promise
|
|
265
|
+
|
|
266
|
+
Libre WebUI has an [Ethical Charter](./CHARTER.md) that guarantees:
|
|
267
|
+
|
|
268
|
+
- 🔓 **Apache 2.0 forever** — no bait-and-switch relicensing
|
|
269
|
+
- 🚫 **Zero telemetry** — no analytics, no tracking, no phone-home. Ever.
|
|
270
|
+
- 🏛️ **Community governance** — transparent decisions, public roadmap
|
|
271
|
+
- 🤝 **No VC capture** — funded by the community, for the community
|
|
272
|
+
- ✊ **Ethical use** — we actively oppose surveillance and weapons applications
|
|
337
273
|
|
|
338
274
|
---
|
|
339
275
|
|
|
340
|
-
##
|
|
276
|
+
## 🏢 Enterprise
|
|
341
277
|
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
278
|
+
Need to deploy at scale? [Kroonen AI](https://kroonen.ai) provides professional services:
|
|
279
|
+
|
|
280
|
+
| Service | Description |
|
|
281
|
+
| ---------------------- | -------------------------------------- |
|
|
282
|
+
| **Custom Deployment** | On-prem, cloud, air-gapped, Kubernetes |
|
|
283
|
+
| **SSO Integration** | Okta, Azure AD, SAML, LDAP |
|
|
284
|
+
| **Custom Development** | Integrations, white-labeling, plugins |
|
|
285
|
+
| **Compliance** | GDPR, HIPAA, SOC 2, FedRAMP |
|
|
286
|
+
| **SLA Support** | Priority response, dedicated channel |
|
|
287
|
+
|
|
288
|
+
📧 **enterprise@kroonen.ai** • [Learn more →](https://kroonen.ai/services)
|
|
289
|
+
|
|
290
|
+
---
|
|
291
|
+
|
|
292
|
+
## 🔗 Links
|
|
293
|
+
|
|
294
|
+
| | |
|
|
295
|
+
| -------------------- | -------------------------------------------------------------------------------- |
|
|
296
|
+
| 🌐 **Website** | [librewebui.org](https://librewebui.org) |
|
|
297
|
+
| 📖 **Documentation** | [docs.librewebui.org](https://docs.librewebui.org) |
|
|
298
|
+
| 🐙 **GitHub** | [github.com/libre-webui/libre-webui](https://github.com/libre-webui/libre-webui) |
|
|
299
|
+
| 🦊 **GitLab** | [git.kroonen.ai/libre-webui](https://git.kroonen.ai/libre-webui/libre-webui) |
|
|
300
|
+
| 🤗 **HuggingFace** | [huggingface.co/libre-webui](https://huggingface.co/libre-webui) |
|
|
301
|
+
| 𝕏 **Twitter** | [@librewebui](https://x.com/librewebui) |
|
|
302
|
+
| 🐘 **Mastodon** | [@librewebui@fosstodon.org](https://fosstodon.org/@librewebui) |
|
|
303
|
+
| ❤️ **Sponsor** | [github.com/sponsors/libre-webui](https://github.com/sponsors/libre-webui) |
|
|
349
304
|
|
|
350
305
|
---
|
|
351
306
|
|
|
352
307
|
<div align="center">
|
|
353
308
|
|
|
309
|
+
### ⭐ If Libre WebUI helps you, give us a star!
|
|
310
|
+
|
|
311
|
+
It helps others discover the project and keeps us motivated.
|
|
312
|
+
|
|
313
|
+
<a href="https://github.com/libre-webui/libre-webui"><img src="https://img.shields.io/github/stars/libre-webui/libre-webui?style=for-the-badge&label=Star%20on%20GitHub&color=gold" alt="Star on GitHub"></a>
|
|
314
|
+
|
|
315
|
+
<br><br>
|
|
316
|
+
|
|
354
317
|
**Apache 2.0 License** • Copyright © 2025–present Libre WebUI™
|
|
355
318
|
|
|
356
|
-
Built
|
|
319
|
+
Built with ❤️ by [Kroonen AI](https://kroonen.ai) and the open-source community
|
|
357
320
|
|
|
358
321
|
</div>
|
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;AAuBtC;;GAEG;AACH,wBAAgB,WAAW,IAAI,QAAQ,CAAC,QAAQ,CA0D/C;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAO1D;
|
|
1
|
+
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"AAiBA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAuBtC;;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
|
@@ -199,6 +199,20 @@ function initializeTables() {
|
|
|
199
199
|
UNIQUE(user_id, key)
|
|
200
200
|
)
|
|
201
201
|
`);
|
|
202
|
+
// Global system settings table
|
|
203
|
+
db.exec(`
|
|
204
|
+
CREATE TABLE IF NOT EXISTS system_settings (
|
|
205
|
+
key TEXT PRIMARY KEY,
|
|
206
|
+
value TEXT NOT NULL,
|
|
207
|
+
updated_at INTEGER NOT NULL
|
|
208
|
+
)
|
|
209
|
+
`);
|
|
210
|
+
// Seed default system settings
|
|
211
|
+
const systemSettingsNow = Date.now();
|
|
212
|
+
db.prepare(`
|
|
213
|
+
INSERT OR IGNORE INTO system_settings (key, value, updated_at)
|
|
214
|
+
VALUES (?, ?, ?)
|
|
215
|
+
`).run('allow_user_model_pull', 'true', systemSettingsNow);
|
|
202
216
|
// Personas table - for AI personas/characters
|
|
203
217
|
db.exec(`
|
|
204
218
|
CREATE TABLE IF NOT EXISTS personas (
|
package/backend/dist/db.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.js","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"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"}
|
|
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;AAkFlB,QAAA,MAAM,GAAG,6CAAY,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;AAinDtB,eAAe,GAAG,CAAC"}
|