Open WebUI:自托管 AI 的终极界面
当你在本地跑 Ollama 时,有没有想过:有没有一个界面,能同时管理所有模型、支持 RAG、还能语音对话?
答案是:Open WebUI。
什么是 Open WebUI?
Open WebUI(原 Ollama WebUI)是一个开源、自托管、功能丰富的 AI 聊天界面。它支持:
- Ollama(本地模型)
- OpenAI API 及兼容服务(Groq、Mistral、LMStudio 等)
- 完全离线运行,内置 RAG 推理引擎
简单说,它就是你私有 AI 的”操作系统”。
GitHub: https://github.com/open-webui/open-webui
文档:https://docs.openwebui.com/
核心特性
1. 多模型支持
Open WebUI 可以同时连接多个后端:
# 支持的后端类型 - Ollama (本地) - OpenAI API - OpenAI 兼容服务: - GroqCloud - Mistral AI - LMStudio - OpenRouter - 任何兼容 OpenAI 格式的服务
亮点:可以在一个界面里同时和多个模型对话,对比它们的回答。
2. 本地 RAG(检索增强生成)
这是 Open WebUI 的杀手级功能之一。
支持 9 种向量数据库:
- ChromaDB(默认)
- PGVector
- Qdrant
- Milvus
- Elasticsearch
- OpenSearch
- Pinecone
- S3Vector
- Oracle 23ai
文档处理:
- 上传 PDF、Word、Markdown 等文件
- 使用
#命令在聊天中引用文档 - 支持 15+ 网页搜索提供商(DuckDuckGo、Google PSE、Brave 等)
使用场景:
用户上传公司文档 → 向量化存储 → 聊天时自动检索相关内容 → LLM 生成准确回答
3. 语音和视频通话
Open WebUI 支持免提语音/视频通话:
语音识别(STT):
- Local Whisper(本地)
- OpenAI Whisper
- Deepgram
- Azure Speech
语音合成(TTS):
- Azure TTS
- ElevenLabs
- OpenAI TTS
- Transformers
- WebAPI
体验:就像在打微信电话,但对面是 AI。
4. 模型构建器
直接在 Web 界面创建和定制 Ollama 模型:
- 添加自定义角色/Agent
- 配置系统提示词
- 从 Open WebUI 社区 导入模型
- 一键发布分享
5. 原生 Python 函数调用
这是开发者最爱的功能。
Tools 工作区允许你编写纯 Python 函数,LLM 可以自动调用:
# 示例:天气查询工具
def get_weather(location: str) -> str:
"""获取指定地区的天气"""
# 调用天气 API
return f"{location} 当前温度 25°C,晴朗"
# LLM 会自动识别并调用这个函数
BYOF(Bring Your Own Function):
- 内置代码编辑器
- 支持代码高亮和自动补全
- 函数注册后对模型可见
6. 持久化存储
内置 Key-Value 存储 API,支持:
- 个人日记
- 习惯追踪
- 排行榜
- 协作工具
- 跨会话数据共享
7. 图像生成和编辑
支持多个图像引擎:
- DALL-E(OpenAI)
- Gemini(Google)
- ComfyUI(本地)
- AUTOMATIC1111(本地)
不仅可以生成,还能基于提示词编辑现有图片。
8. 企业级功能
Open WebUI 不只是玩具,它支持生产环境:
权限控制:
- 基于角色的访问控制(RBAC)
- 细粒度权限配置
- 用户组管理
认证集成:
- LDAP/Active Directory
- OAuth(Google、GitHub 等)
- SSO(基于可信 Header)
- SCIM 2.0 自动用户配置
存储后端:
- SQLite(可选加密)
- PostgreSQL
- S3 / Google Cloud Storage / Azure Blob Storage
可观测性:
- 审计日志
- 使用统计
- 性能监控
快速开始
Docker 安装(推荐)
# 基础版本(仅 CPU) docker run -d -p 3000:8080 \ -v open-webui:/app/backend/data \ --name open-webui \ ghcr.io/open-webui/open-webui:main # GPU 版本(支持 CUDA) docker run -d -p 3000:8080 \ --gpus all \ -v open-webui:/app/backend/data \ --name open-webui \ ghcr.io/open-webui/open-webui:cuda
访问 http://localhost:3000 即可使用。
Kubernetes 部署
支持 kubectl、kustomize 和 Helm:
# Helm 安装 helm repo add open-webui https://helm.openwebui.com helm install open-webui open-webui/open-webui
实际使用场景
场景 1:个人知识库助手
1. 上传你的笔记、文档到文档库 2. 聊天时使用 # 命令引用相关文档 3. AI 基于你的知识库回答问题
优势:完全本地运行,数据不出域。
场景 2:多模型对比
选择多个模型(如 Llama3、Qwen、Gemma)→ 同时提问 → 对比回答质量
适用:选模型、测试 Prompt、A/B 测试。
场景 3:语音助手
配置 Whisper + ElevenLabs → 用语音和 AI 对话 → 适合开车、做饭等场景
体验:比打字更自然,适合长时间交互。
场景 4:团队协作
配置 LDAP 认证 → 创建用户组 → 共享文档库 → 团队共用知识库
适用:公司内部 AI 助手、客服系统、培训平台。
架构概览
┌─────────────────────────────────────────┐
│ 用户浏览器 │
│ (PWA 支持,响应式设计) │
└─────────────────┬───────────────────────┘
│ HTTPS
▼
┌─────────────────────────────────────────┐
│ Open WebUI Server │
│ ┌─────────────────────────────────┐ │
│ │ 前端:SvelteKit │ │
│ └─────────────────────────────────┘ │
│ ┌─────────────────────────────────┐ │
│ │ 后端:FastAPI (Python) │ │
│ └─────────────────────────────────┘ │
│ ┌─────────────────────────────────┐ │
│ │ RAG 引擎 │ │
│ │ - 文档解析 (Tika, Docling) │ │
│ │ - 向量化 (9 种后端可选) │ │
│ │ - 检索增强生成 │ │
│ └─────────────────────────────────┘ │
│ ┌─────────────────────────────────┐ │
│ │ 工具执行器 (Python Functions) │ │
│ └─────────────────────────────────┘ │
└─────────────────┬───────────────────────┘
│
┌─────────┼─────────┐
│ │ │
▼ ▼ ▼
┌────────┐ ┌────────┐ ┌────────┐
│ Ollama │ │ OpenAI │ │ 其他 │
│ (本地) │ │ API │ │ 兼容 │
└────────┘ └────────┘ └────────┘
技术栈:
- 前端:SvelteKit
- 后端:FastAPI (Python)
- 数据库:SQLite / PostgreSQL
- 向量库:ChromaDB 等 9 种可选
与类似工具对比
| 特性 | Open WebUI | Chatbot UI | Dify |
|---|---|---|---|
| 自托管 | ✅ | ✅ | ✅ |
| Ollama 支持 | ✅ | ✅ | ✅ |
| 多模型对话 | ✅ | ❌ | ✅ |
| 本地 RAG | ✅ | ❌ | ✅ |
| 语音通话 | ✅ | ❌ | ❌ |
| Python 工具 | ✅ | ❌ | ✅ |
| 图像生成 | ✅ | ❌ | ✅ |
| 企业认证 | ✅ | ❌ | ✅ |
| 社区活跃 | 🔥🔥🔥 | 🔥 | 🔥🔥 |
结论:Open WebUI 在功能完整性和易用性之间取得了很好的平衡。
适合谁用?
✅ 推荐使用
- 个人开发者:本地跑 Ollama,需要好用的界面
- 小团队:想搭建内部 AI 助手,预算有限
- 隐私敏感:数据不能出域,必须本地部署
- RAG 需求:有自己的文档库,需要 AI 基于文档回答
- 语音交互:想要语音对话能力
❌ 可能不适合
- 纯云端用户:不想自托管,直接用 ChatGPT 就好
- 企业级需求:需要 SLA、技术支持、定制开发(考虑商业版本)
- 极简主义:只需要基础聊天,不需要 RAG、工具等高级功能
生态和社区
GitHub 数据(截至 2026-04):
- ⭐ Stars: 35k+
- 🍴 Forks: 4k+
- 👀 Watchers: 500+
- 📦 Docker Pulls: 10M+
社区资源:
小结
Open WebUI 是目前最完整的自托管 AI 界面之一。
它的核心优势:
- 功能全面:RAG、语音、工具、图像,应有尽有
- 易于部署:Docker 一行命令搞定
- 完全开源:MIT 许可,可商用
- 活跃社区:持续更新,问题响应快
如果你在找一款能本地部署、功能强大、还长得好看的 AI 界面,Open WebUI 值得试试。
参考资源:
- GitHub: https://github.com/open-webui/open-webui
- 文档:https://docs.openwebui.com/
- 社区模型:https://openwebui.com/
- Discord: https://discord.gg/5rJgQTnV4s