open-webui/open-webui
User-friendly AI Interface (Supports Ollama, OpenAI API, ...)
Open WebUI – 自托管、可扩展的 AI 前端
是什么 – Open WebUI 是一个开源、自托管的 Web 界面,用于与 LLM 交互。它支持任何 OpenAI 兼容 API(OpenAI、Azure、Groq、Mistral 等)以及本地 Ollama 模型,让您可以在完全离线状态下运行 AI,或混合使用云服务与本地部署的提供商。
为何重要 – 大多数聊天式 AI 工具仅限 SaaS,将您锁定在单一提供商,并且需要互联网连接。Open WebUI 提供一个功能完整的浏览器端 UI,您可以在笔记本电脑、服务器或 Kubernetes 上运行,支持细粒度访问控制、插件、RAG、多模型聊天,甚至内置终端供代理执行代码。
核心功能(README 中列出)
- 安装简便 –
pip install open-webui,Docker 镜像(:ollama,:cuda),Docker-Compose,Kubernetes 用 Helm/Kustomize。 - 与提供方无关的模型访问 – 连接任意 OpenAI 兼容端点和本地 Ollama 模型;可在 LMStudio、GroqCloud、Mistral、vLLM 等之间切换。
- 细粒度 RBAC 与分组 – 管理员可定义角色、权限和分组体验。
- 插件系统 – 支持过滤器、动作、管道、工具、技能;可通过 MCP/MCPO 或 OpenAPI 服务器扩展。
- 代理与“Open Terminal” – 给模型分配沙盒化终端/文件系统以运行脚本、修复错误并生成文件。企业版增加用户隔离容器。
- 笔记与频道 – 持久化笔记工作区,支持实时共享频道、线程、反应、置顶。
- 持久记忆 – AI 可在聊天间保留关于用户的信息。
- 实时工作流 UI – 检查清单、消息队列、实时进度。
- 日历与调度 – 内置日历,支持 AI 驱动的函数调用调度。
- 自动化 – 定时触发提示,查看日历中的运行记录,链接回聊天输出。
- 响应式 PWA – 支持桌面、笔记本电脑和移动设备;本地运行时可离线使用。
- 完整 Markdown 与 LaTeX – 支持富文本渲染。
- 语音/视频通话 – 集成 STT(Whisper、OpenAI、Deepgram、Azure)和 TTS(Azure、ElevenLabs、OpenAI、Transformers)。
- 工件存储 – 提供键值 API 用于持久化文件、排行榜、追踪器。
- 本地 RAG – 支持 9 种向量数据库,10+ 内容提取器,混合 BM25+ 向量搜索,
#命令拉取文档。 - RAG 用网络搜索 – 可插件数十个搜索提供商(SearXNG、Google PSE、Kagi、Bing 等),并注入结果。
- 网页浏览 – 通过
#命令将 URL 拉入聊天,或让模型自动获取。 - 图像生成与编辑 – DALL·E、Gemini、ComfyUI、AUTOMATIC1111(本地)。
- 多模型对话 – 可并行运行多个模型。
- 分析与评估 – 管理员仪表板、令牌/成本追踪、竞技场、A/B 测试、ELO 排行榜。
- 灵活持久化 – SQLite(可选加密)或 PostgreSQL;文件存储在本地或 S3/Google Cloud/Azure。
- 高级向量数据库 – Chroma、PGVector、Qdrant、Milvus、Elasticsearch、OpenSearch、Pinecone、S3Vector、Oracle 23ai。
- 企业级认证 – LDAP/AD、通过头部/OAuth 的 SSO、SCIM 2.0 配置(Okta、Azure AD、Google Workspace)。
- 云原生文件选择器 – Google Drive、OneDrive/SharePoint。
- 可观测性 – OpenTelemetry 跟踪、指标、日志。
- 水平可扩展性 – Redis 后端会话,WebSocket 支持多节点部署。
- i18n – 多语言 UI。
- 安全流程 – 公开安全策略与负责任披露机制。
生态系统(配套项目)
| 项目 | 增强功能 |
|---|---|
Open WebUI Computer (open-webui/computer) |
面向移动优先的编码/终端代理,可作为模型使用或通过消息应用调用。 |
Open Terminal / Terminals (企业版) (open-webui/open-terminal, open-webui/terminals) |
自托管容器化终端,AI 可驱动;企业版提供用户级隔离与资源限制。 |
oikb (open-webui/oikb) |
从 45+ 来源(GitHub、Confluence、ServiceNow、Salesforce、Jira、Slack、Notion 等)同步知识库至 RAG 流水线。 |
桌面应用 (open-webui/desktop) |
原生 macOS/Windows/Linux 客户端,支持系统级 Spotlight 聊天栏、截图捕获、一键说话,以及可选的本地 llama.cpp 推理。 |
快速入门(来自 README 的快速启动命令)
# Python 安装(需 Python 3.11)
pip install open-webui
open-webui serve # → http://localhost:8080
# Docker(仅 CPU,Ollama 在主机)
docker run -d -p 3000:8080 \
-v open-webui:/app/backend/data \
--add-host=host.docker.internal:host-gateway \
--name open-webui --restart always \
ghcr.io/open-webui/open-webui:main
# Docker 搭载内置 Ollama(CPU)
docker run -d -p 3000:8080 \
-v ollama:/root/.ollama -v open-webui:/app/backend/data \
--name open-webui --restart always \
ghcr.io/open-webui/open-webui:ollama
# Docker 搭载 GPU(CUDA 镜像)
docker run -d -p 3000:8080 --gpus all \
-v ollama:/root/.ollama -v open-webui:/app/backend/data \
--name open-webui --restart always \
ghcr.io/open-webui/open-webui:cuda
README 还提到了 Docker-Compose、Helm、Kustomize 以及用于排查连接问题的 --network=host 标志。
典型使用场景
- 需要将数据保留在本地的团队的私有 LLM 玩具场。
- 具备日历、调度和文档感知聊天的企业级 AI 助手。
- 从内部文档、向量存储和实时网络搜索中获取数据的 RAG 驱动知识库。
- 通过 Open Terminal 或 Computer 代理实现的 AI 驱动编码。
- 使用内置竞技场和分析仪表板进行多模型评估。
- 通过插件、OpenAPI 工具或社区构建技能实现自定义扩展。
许可与治理
仓库包含多个许可证。核心代码采用 Open WebUI 许可证(要求保留“Open WebUI”品牌)以及贡献组件的原始许可证。详细条款请见 LICENSE 和 LICENSE_HISTORY。
社区与支持
- Discord: https://discord.gg/5rJgQTnV4s
- 文档: https://docs.openwebui.com/
- GitHub 上的 Issue 跟踪器用于报告错误和功能请求。
- 安全:通过 GitHub 安全标签进行负责任披露。
- 赞助:README 中的 GitHub Sponsors 链接。
TL;DR
Open WebUI 是一个功能齐全的自托管 LLM Web UI,支持本地(Ollama)和云 API,提供企业级认证、RBAC、插件、RAG、代理执行终端,以及不断增长的配套工具生态系统。可通过单个 pip 命令或 Docker/Kubernetes 运行,是任何希望掌控 AI 堆栈的人的实用选择。
相关
- 项目
- 项目
- 项目
- 项目
- 项目