libre-webui 0.7.1 → 0.8.1
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 +185 -239
- package/backend/dist/index.d.ts.map +1 -1
- package/backend/dist/index.js +433 -57
- package/backend/dist/index.js.map +1 -1
- package/backend/dist/routes/plugins.d.ts.map +1 -1
- package/backend/dist/routes/plugins.js +17 -0
- package/backend/dist/routes/plugins.js.map +1 -1
- package/backend/dist/services/openclawSessionService.d.ts +63 -0
- package/backend/dist/services/openclawSessionService.d.ts.map +1 -0
- package/backend/dist/services/openclawSessionService.js +307 -0
- package/backend/dist/services/openclawSessionService.js.map +1 -0
- package/backend/dist/services/pluginService.d.ts +20 -0
- package/backend/dist/services/pluginService.d.ts.map +1 -1
- package/backend/dist/services/pluginService.js +263 -7
- package/backend/dist/services/pluginService.js.map +1 -1
- package/frontend/dist/assets/index-BdP_S_7p.js +51 -0
- package/frontend/dist/index.html +2 -2
- package/frontend/dist/js/{ArtifactContainer-CnO8nWfm.js → ArtifactContainer-buNbJLEd.js} +2 -2
- package/frontend/dist/js/{ArtifactDemoPage-m4dZIjIM.js → ArtifactDemoPage-D4JkbD19.js} +1 -1
- package/frontend/dist/js/{ChatPage-BkvB6a5u.js → ChatPage-D5xw6x9j.js} +13 -13
- package/frontend/dist/js/{GalleryPage-C6V5NU58.js → GalleryPage-KcHkMd5F.js} +1 -1
- package/frontend/dist/js/ModelsPage-DaByBrPh.js +1 -0
- package/frontend/dist/js/PersonasPage-Cz6RxqYG.js +13 -0
- package/frontend/dist/js/{UserManagementPage-DBm-9utt.js → UserManagementPage-8u76d6Hp.js} +1 -1
- package/frontend/dist/js/{ui-vendor-DxZsuKzb.js → ui-vendor-BxYipEVo.js} +1 -1
- package/package.json +1 -1
- package/plugins/openclaw-agent.json +69 -0
- package/frontend/dist/assets/index-B4PmhQ5N.js +0 -51
- package/frontend/dist/js/ModelsPage-BGbYUYAI.js +0 -1
- package/frontend/dist/js/PersonasPage-567IlJm4.js +0 -13
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/badge/version-0.8.0-blue?style=flat-square" 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/ci.yml?style=flat-square&label=CI" 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,163 @@
|
|
|
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
|
|
46
|
-
|
|
47
|
-
<table>
|
|
48
|
-
<tr>
|
|
49
|
-
<td width="50%">
|
|
50
|
-
|
|
51
|
-
### Core Experience
|
|
52
|
-
|
|
53
|
-
- Real-time streaming chat
|
|
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
|
|
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.
|
|
60
42
|
|
|
61
|
-
- **
|
|
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.)
|
|
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.
|
|
67
44
|
|
|
68
|
-
|
|
69
|
-
<td width="50%">
|
|
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).
|
|
70
46
|
|
|
71
|
-
|
|
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
|
+
| 🏢 | **Enterprise Ready** | GDPR, HIPAA, SOC 2 compatible • AES-256-GCM encryption |
|
|
88
65
|
|
|
89
66
|
---
|
|
90
67
|
|
|
91
|
-
## Quick Start
|
|
92
|
-
|
|
93
|
-
**Requirements:** [Ollama](https://ollama.ai) (for local AI) or API keys for cloud providers
|
|
68
|
+
## 🚀 Quick Start
|
|
94
69
|
|
|
95
|
-
### One
|
|
70
|
+
### One command — that's it
|
|
96
71
|
|
|
97
72
|
```bash
|
|
98
73
|
npx libre-webui
|
|
99
74
|
```
|
|
100
75
|
|
|
101
|
-
|
|
76
|
+
Opens at `http://localhost:8080`. Add [Ollama](https://ollama.ai) for local AI, or plug in your API keys.
|
|
102
77
|
|
|
103
|
-
###
|
|
78
|
+
### 🐳 Docker
|
|
104
79
|
|
|
105
80
|
```bash
|
|
106
|
-
#
|
|
107
|
-
|
|
108
|
-
brew install libre-webui
|
|
109
|
-
libre-webui
|
|
81
|
+
# With bundled Ollama
|
|
82
|
+
docker-compose up -d
|
|
110
83
|
|
|
111
|
-
#
|
|
112
|
-
|
|
113
|
-
```
|
|
84
|
+
# With your existing Ollama
|
|
85
|
+
docker-compose -f docker-compose.external-ollama.yml up -d
|
|
114
86
|
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
```bash
|
|
118
|
-
brew services start libre-webui
|
|
87
|
+
# GPU support (NVIDIA)
|
|
88
|
+
docker-compose -f docker-compose.gpu.yml up -d
|
|
119
89
|
```
|
|
120
90
|
|
|
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:
|
|
91
|
+
### 🍺 Homebrew (macOS)
|
|
145
92
|
|
|
146
93
|
```bash
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
</details>
|
|
151
|
-
|
|
152
|
-
### Kubernetes (Helm)
|
|
94
|
+
brew tap libre-webui/tap && brew install libre-webui
|
|
95
|
+
libre-webui
|
|
153
96
|
|
|
154
|
-
|
|
155
|
-
|
|
97
|
+
# Or install the desktop app
|
|
98
|
+
brew install --cask libre-webui
|
|
156
99
|
```
|
|
157
100
|
|
|
158
|
-
|
|
159
|
-
<summary><strong>Helm configuration options</strong></summary>
|
|
101
|
+
### ☸️ Kubernetes
|
|
160
102
|
|
|
161
103
|
```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
|
|
104
|
+
helm install libre-webui oci://ghcr.io/libre-webui/charts/libre-webui
|
|
176
105
|
```
|
|
177
106
|
|
|
178
|
-
|
|
107
|
+
### 🖥️ Desktop App
|
|
179
108
|
|
|
180
|
-
|
|
109
|
+
Download from [GitHub Releases](https://github.com/libre-webui/libre-webui/releases) — available for **macOS**, **Windows**, and **Linux**.
|
|
181
110
|
|
|
182
|
-
###
|
|
111
|
+
### 🛠️ From Source
|
|
183
112
|
|
|
184
113
|
```bash
|
|
185
|
-
# 1. Clone the repo
|
|
186
114
|
git clone https://github.com/libre-webui/libre-webui
|
|
187
115
|
cd libre-webui
|
|
188
|
-
|
|
189
|
-
# 2. Configure environment
|
|
190
116
|
cp backend/.env.example backend/.env
|
|
191
|
-
|
|
192
|
-
# 3. Install and run
|
|
193
117
|
npm install && npm run dev
|
|
194
118
|
```
|
|
195
119
|
|
|
196
|
-
|
|
120
|
+
<details>
|
|
121
|
+
<summary><strong>⚙️ Configuration</strong></summary>
|
|
197
122
|
|
|
198
|
-
Edit `backend/.env
|
|
123
|
+
Edit `backend/.env`:
|
|
199
124
|
|
|
200
125
|
```env
|
|
201
|
-
# Local AI (Ollama)
|
|
126
|
+
# Local AI (default — just install Ollama)
|
|
202
127
|
OLLAMA_BASE_URL=http://localhost:11434
|
|
203
128
|
|
|
204
|
-
# Cloud
|
|
129
|
+
# Cloud providers (optional — add what you need)
|
|
205
130
|
OPENAI_API_KEY=sk-...
|
|
206
131
|
ANTHROPIC_API_KEY=sk-ant-...
|
|
207
132
|
HUGGINGFACE_API_KEY=hf_...
|
|
208
133
|
```
|
|
209
134
|
|
|
135
|
+
</details>
|
|
136
|
+
|
|
137
|
+
<details>
|
|
138
|
+
<summary><strong>🧪 Development builds (unstable)</strong></summary>
|
|
139
|
+
|
|
140
|
+
Dev builds are auto-generated from the `dev` branch. **Not for production.**
|
|
141
|
+
|
|
142
|
+
```bash
|
|
143
|
+
docker-compose -f docker-compose.dev.yml up -d
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
Uses separate data volumes (`libre_webui_dev_data`) so your stable install stays safe.
|
|
147
|
+
|
|
148
|
+
</details>
|
|
149
|
+
|
|
210
150
|
---
|
|
211
151
|
|
|
212
|
-
##
|
|
152
|
+
## 🏗️ Architecture
|
|
213
153
|
|
|
214
|
-
|
|
154
|
+
```
|
|
155
|
+
┌─────────────────────────────────────────────┐
|
|
156
|
+
│ Libre WebUI │
|
|
157
|
+
├──────────────────┬──────────────────────────┤
|
|
158
|
+
│ React + TS │ Express + SQLite │
|
|
159
|
+
│ Frontend │ Backend │
|
|
160
|
+
│ (Vite) │ (AES-256 encryption) │
|
|
161
|
+
├──────────────────┴──────────────────────────┤
|
|
162
|
+
│ Plugin Layer │
|
|
163
|
+
│ Ollama │ OpenAI │ Anthropic │ Google │ … │
|
|
164
|
+
├─────────────────────────────────────────────┤
|
|
165
|
+
│ Electron (Desktop) │ Docker │ Kubernetes │
|
|
166
|
+
└─────────────────────────────────────────────┘
|
|
167
|
+
```
|
|
215
168
|
|
|
216
|
-
|
|
169
|
+
- **Frontend:** React 18 + TypeScript, Vite, responsive with keyboard shortcuts
|
|
170
|
+
- **Backend:** Express 5, SQLite with AES-256-GCM encryption, WebSocket streaming
|
|
171
|
+
- **Plugins:** JSON config files — add any provider without touching code
|
|
172
|
+
- **Desktop:** Electron with native macOS/Windows/Linux builds
|
|
217
173
|
|
|
218
|
-
|
|
174
|
+
---
|
|
175
|
+
|
|
176
|
+
## 📊 How We Compare
|
|
177
|
+
|
|
178
|
+
| | **Libre WebUI** | Open WebUI | LobeChat | ChatGPT |
|
|
179
|
+
| -------------------------- | :--------------------------: | :--------------: | :------: | :-------------: |
|
|
180
|
+
| **Fully open source** | ✅ Apache 2.0 | ⚠️ BSD-3 + CLA | ✅ | ❌ |
|
|
181
|
+
| **No-relicense guarantee** | ✅ [Chartered](./CHARTER.md) | ❌ CLA allows it | ❌ | ❌ |
|
|
182
|
+
| **Zero telemetry** | ✅ | ✅ | ❌ | ❌ |
|
|
183
|
+
| **Local LLMs (Ollama)** | ✅ | ✅ | ✅ | ❌ |
|
|
184
|
+
| **Plugin system (JSON)** | ✅ | ❌ | ✅ | ❌ |
|
|
185
|
+
| **HuggingFace Hub** | ✅ 1M+ models | ❌ | ❌ | ❌ |
|
|
186
|
+
| **Document chat (RAG)** | ✅ | ✅ | ✅ | ✅ (paid) |
|
|
187
|
+
| **Desktop app** | ✅ | ❌ | ✅ | ✅ |
|
|
188
|
+
| **SSO / OAuth** | ✅ | ✅ | ❌ | ✅ (enterprise) |
|
|
189
|
+
| **Ethical charter** | ✅ | ❌ | ❌ | ❌ |
|
|
190
|
+
| **Self-hosted** | ✅ | ✅ | ✅ | ❌ |
|
|
191
|
+
| **i18n (25+ langs)** | ✅ | ✅ | ✅ | ✅ |
|
|
219
192
|
|
|
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
|
|
193
|
+
---
|
|
225
194
|
|
|
226
|
-
|
|
195
|
+
## 🔌 Plugin System
|
|
196
|
+
|
|
197
|
+
Add any AI provider with a JSON file — no code changes needed:
|
|
227
198
|
|
|
228
199
|
```json
|
|
229
200
|
{
|
|
@@ -234,125 +205,100 @@ A plugin is a JSON config file stored in the `plugins/` directory. Each plugin d
|
|
|
234
205
|
"auth": {
|
|
235
206
|
"header": "Authorization",
|
|
236
207
|
"prefix": "Bearer ",
|
|
237
|
-
"key_env": "
|
|
208
|
+
"key_env": "MY_API_KEY"
|
|
238
209
|
},
|
|
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
|
-
]
|
|
210
|
+
"model_map": ["model-a", "model-b"]
|
|
251
211
|
}
|
|
252
212
|
```
|
|
253
213
|
|
|
254
|
-
|
|
214
|
+
Built-in plugins: **OpenAI, Anthropic, Google Gemini, Groq, Mistral, OpenRouter, HuggingFace**, and more.
|
|
255
215
|
|
|
256
|
-
Plugins
|
|
216
|
+
Plugins support **multi-capability** (chat + TTS + image gen in one config), **per-user variables**, and **encrypted credential storage**.
|
|
257
217
|
|
|
258
|
-
|
|
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
|
|
218
|
+
📖 [Full plugin docs →](./docs/08-PLUGIN_ARCHITECTURE.md)
|
|
264
219
|
|
|
265
|
-
|
|
220
|
+
---
|
|
266
221
|
|
|
267
|
-
|
|
222
|
+
## 🤝 Contributing
|
|
268
223
|
|
|
269
|
-
|
|
224
|
+
We'd love your help! Libre WebUI is built by people who care about privacy and AI freedom.
|
|
270
225
|
|
|
271
|
-
|
|
226
|
+
**Getting started is easy:**
|
|
272
227
|
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
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
|
-
```
|
|
228
|
+
1. Fork the repo and clone it
|
|
229
|
+
2. `npm install && npm run dev`
|
|
230
|
+
3. Make your changes on a branch off `dev`
|
|
231
|
+
4. Open a PR — one approving review from the TSC and you're in
|
|
290
232
|
|
|
291
|
-
|
|
233
|
+
**Ways to contribute:**
|
|
292
234
|
|
|
293
|
-
|
|
235
|
+
- 🐛 **Bug reports** — [open an issue](https://github.com/libre-webui/libre-webui/issues)
|
|
236
|
+
- 💡 **Feature ideas** — start a discussion
|
|
237
|
+
- 🌍 **Translations** — help us reach more languages
|
|
238
|
+
- 📖 **Documentation** — every improvement helps
|
|
239
|
+
- 🔌 **Plugins** — share your provider configs
|
|
294
240
|
|
|
295
|
-
|
|
241
|
+
All contributors follow our [Code of Conduct](https://www.contributor-covenant.org/version/2/1/code_of_conduct/) and [Community Charter](./CHARTER.md).
|
|
296
242
|
|
|
297
|
-
|
|
243
|
+
Security issues? Email **security@kroonen.ai** — we follow a 30-day coordinated disclosure.
|
|
298
244
|
|
|
299
|
-
|
|
245
|
+
---
|
|
300
246
|
|
|
301
|
-
|
|
247
|
+
## 📜 Our Promise
|
|
302
248
|
|
|
303
|
-
|
|
249
|
+
Libre WebUI has an [Ethical Charter](./CHARTER.md) that guarantees:
|
|
304
250
|
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
251
|
+
- 🔓 **Apache 2.0 forever** — no bait-and-switch relicensing
|
|
252
|
+
- 🚫 **Zero telemetry** — no analytics, no tracking, no phone-home. Ever.
|
|
253
|
+
- 🏛️ **Community governance** — transparent decisions, public roadmap
|
|
254
|
+
- 🤝 **No VC capture** — funded by the community, for the community
|
|
255
|
+
- ✊ **Ethical use** — we actively oppose surveillance and weapons applications
|
|
310
256
|
|
|
311
257
|
---
|
|
312
258
|
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
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
|
|
259
|
+
## 🏢 Enterprise
|
|
260
|
+
|
|
261
|
+
Need to deploy at scale? [Kroonen AI](https://kroonen.ai) provides professional services:
|
|
262
|
+
|
|
263
|
+
| Service | Description |
|
|
264
|
+
| ---------------------- | -------------------------------------- |
|
|
265
|
+
| **Custom Deployment** | On-prem, cloud, air-gapped, Kubernetes |
|
|
266
|
+
| **SSO Integration** | Okta, Azure AD, SAML, LDAP |
|
|
267
|
+
| **Custom Development** | Integrations, white-labeling, plugins |
|
|
268
|
+
| **Compliance** | GDPR, HIPAA, SOC 2, FedRAMP |
|
|
269
|
+
| **SLA Support** | Priority response, dedicated channel |
|
|
270
|
+
|
|
271
|
+
📧 **enterprise@kroonen.ai** • [Learn more →](https://kroonen.ai/services)
|
|
337
272
|
|
|
338
273
|
---
|
|
339
274
|
|
|
340
|
-
##
|
|
275
|
+
## 🔗 Links
|
|
341
276
|
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
277
|
+
| | |
|
|
278
|
+
| -------------------- | -------------------------------------------------------------------------------- |
|
|
279
|
+
| 🌐 **Website** | [librewebui.org](https://librewebui.org) |
|
|
280
|
+
| 📖 **Documentation** | [docs.librewebui.org](https://docs.librewebui.org) |
|
|
281
|
+
| 🐙 **GitHub** | [github.com/libre-webui/libre-webui](https://github.com/libre-webui/libre-webui) |
|
|
282
|
+
| 🦊 **GitLab** | [git.kroonen.ai/libre-webui](https://git.kroonen.ai/libre-webui/libre-webui) |
|
|
283
|
+
| 🤗 **HuggingFace** | [huggingface.co/libre-webui](https://huggingface.co/libre-webui) |
|
|
284
|
+
| 𝕏 **Twitter** | [@librewebui](https://x.com/librewebui) |
|
|
285
|
+
| 🐘 **Mastodon** | [@librewebui@fosstodon.org](https://fosstodon.org/@librewebui) |
|
|
286
|
+
| ❤️ **Sponsor** | [github.com/sponsors/libre-webui](https://github.com/sponsors/libre-webui) |
|
|
349
287
|
|
|
350
288
|
---
|
|
351
289
|
|
|
352
290
|
<div align="center">
|
|
353
291
|
|
|
292
|
+
### ⭐ If Libre WebUI helps you, give us a star!
|
|
293
|
+
|
|
294
|
+
It helps others discover the project and keeps us motivated.
|
|
295
|
+
|
|
296
|
+
<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>
|
|
297
|
+
|
|
298
|
+
<br><br>
|
|
299
|
+
|
|
354
300
|
**Apache 2.0 License** • Copyright © 2025–present Libre WebUI™
|
|
355
301
|
|
|
356
|
-
Built
|
|
302
|
+
Built with ❤️ by [Kroonen AI](https://kroonen.ai) and the open-source community
|
|
357
303
|
|
|
358
304
|
</div>
|
|
@@ -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;AAkFlB,QAAA,MAAM,GAAG,6CAAY,CAAC;AAkhDtB,eAAe,GAAG,CAAC"}
|