第一次看到 Open WebUI 的功能清单,我以为是哪个新团队做的 demo。深入了解后发现它其实在2023 年 10 月就建仓了,15.5 万星,两万两千六百多个 fork,三年下来一直在长。
它做到的事初看并不复杂:给你一个网页界面,把本地的 Ollama 和云端的 OpenAI 兼容 API 接进来。但难的是它把这个"界面"做成了一个平台——权限、插件、RAG、日历、语音通话全都塞在里面。
真正让我意外的是它的胃口。README 里能看到的模块包括:9 种向量数据库可选、内置网络搜索接了二十多个搜索服务商、支持本地 Whisper 做语音转写、还能连 Google Drive 和 OneDrive 做企业文档导入。这些不是一个简易前端该有的功能量。
它解决的是什么问题?
本地跑模型的人都有同一种痛点:模型起来了,交互却只能靠命令行。Ollama 本身不提供 Web 界面;而跑在云上的 ChatGPT 又会把数据送出去。Open WebUI 想填的就是这个空——本地模型的数据不出机器,同时又能拿到一个能多人协作的前端。README 里那句 “built to run entirely offline” 是它反复强调的一点。
对企业来说还有一层。它支持 LDAP 和 Active Directory 集成、OAuth 单点登录、SCIM 2.0 自动开通账号,还有 OpenTelemetry 的链路追踪。这意味着它能被塞进一个已有的合规体系里,而不是只能在小团队内部用。
装起来最省事的方式是 pip。README 特意强调了 Python 版本:
pipinstallopen-webui open-webui serve起来之后访问 localhost:8080。
README 明确写了要用 Python 3.11,避免兼容性问题。这条是硬约束,不是建议。
用 Docker 的话,README 反复强调一定要挂数据卷:
dockerrun-d-p3000:8080 --add-host=host.docker.internal:host-gateway-vopen-webui:/app/backend/data--nameopen-webui--restartalways ghcr.io/open-webui/open-webui:main那串-v open-webui:/app/backend/data是数据库挂载点。README 专门用警告块强调过这一条,说这是防止数据丢失的关键步骤,漏掉会导致数据丢失。
如果你要接 CUDA,官方另外给了:cuda和:ollama两个镜像标签,README 提醒需要先在 Linux 或 WSL 上装 Nvidia 容器工具包。
跟同类比,它的位置比较特殊。
比较接近的是 LobeChat,目前在 lobehub/lobehub 这个仓库下,83,181 星,TypeScript 写的。两者都是自托管前端,都在往"平台"方向长,差距不算大。
另一个常被拿来对比的是 Ollama。它现在 182,910 星,Go 语言,MIT 协议,但它是模型运行和分发工具,不带界面。Open WebUI 是站在 Ollama 前面的那一层,两者不冲突,README 里也直接把 Ollama 列为默认对接对象。
至于商业产品,比如 ChatGPT 自带的界面,没有可对照的开源仓库,这里不做比较。
如果你只想找一个能聊天的地方,装 LobeChat 更轻。Open WebUI 的分量在于它愿意背数据库迁移、权限模型和向量库选型这些脏活。你要管一个团队、或者要把文档喂进模型,它的 RBAC 和 RAG 配置能省掉大量工作。
反过来说,如果你就自己一个人跑个模型聊天,这套东西功能上明显过剩,配置项多到要花时间读文档才能理清。
几个坑得提前说。
第一,Docker 场景下一定要挂卷,README 自己都专门开了一段警告。
第二,Python 版本要按 README 的说法用 3.11,换更高版本能不能跑通,暂未从公开渠道获取到明确说明。
第三,功能多意味着依赖多,RAG、语音、图像生成这些模块各自要装东西,出问题时不好定位是哪个环节。
第四,仓库的 GitHub 页面协议字段显示 NOASSERTION,也就是没有标准 SPDX 标识。商业化前这块得自己核清楚。
最后一条,README 里有一个面向企业的付费方案入口,作者也在为该项目招人,开源版本未来的功能边界是否会因此变化,官方没有写明。
适合谁:要把本地模型发给团队用、要给文档做问答、或者必须保证数据不出内网的人。
不适合谁:单人玩模型、只想要个聊天框,或者需要严格闭源许可保障的场景。
项目地址:https://github.com/open-webui/open-webui 竞品地址: - LobeChat https://github.com/lobehub/lobehub - Ollama https://github.com/ollama/ollama