15万星Open WebUI:不止Ollama网页壳,是可离线的私有化 AI 平台
第一次看到 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-hosthost.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