Open WebUI 是一个自托管的 Web 聊天界面,用来给本地或自建的模型服务提供入口。最常见的组合是 Ollama 负责跑模型、Open WebUI 负责界面,在内网里得到一个用起来接近主流聊天产品的助手。它也能接任何 OpenAI 兼容接口,所以同一套界面里可以同时挂本地模型和云端 API。
为什么需要单独一层界面
命令行足够工程师自己用,但只要涉及"给同事用",就会遇到会话保存、模型切换、权限、共享提示词这些需求。Open WebUI 补的正是这一层:多用户、权限管理和一个不需要培训就会用的界面。
它本身不含推理引擎,模型跑得快不快取决于后端和硬件;它解决的是可用性,不是性能。
能做什么
按官方文档,除了基础的多轮对话,它还覆盖了团队自建助手常用的几块能力:
- 文档问答(RAG):上传文档后基于内容回答,适合做内部知识库的第一版。
- 联网搜索:接入搜索服务后,让回答带上网页结果。
- 工具、函数与 Pipelines:用 Python 写扩展,给模型加调用外部系统的能力,或在请求前后插入过滤、路由逻辑。
- MCP 集成:可以接入 MCP 工具服务,复用已有的 MCP 生态。
- 账号与权限:基于角色的访问控制,支持 LDAP、OIDC 等单点登录,方便接入公司已有账号体系。
- 图像生成与语音:可对接图像生成后端,并提供语音输入输出。
上手:两种装法
Docker(推荐)。官方快速开始给出的命令是:
docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway \
-v open-webui:/app/backend/data -e WEBUI_SECRET_KEY=your-secret-key \
--name open-webui --restart always \
ghcr.io/open-webui/open-webui:main启动后浏览器打开 http://localhost:3000,第一个注册的账号就是管理员。--add-host 那一行让容器能访问宿主机上的 Ollama;-v open-webui:... 把会话和设置存进数据卷,升级镜像时保留这个卷,数据才不会丢。WEBUI_SECRET_KEY 换成你自己的随机值。
pip。不想用 Docker 时,pip install open-webui 后执行 open-webui serve,默认端口是 8080。
镜像有两个版本::main 约 1.66 GB,自带嵌入、语音和重排模型;:slim 约 176 MB,适合这些能力都交给外部服务的部署。
许可要看清楚
这一点很多介绍没提:从 v0.6.6(2025 年 4 月) 起,Open WebUI 在原有许可基础上加了品牌保护条款。按官方许可说明,除非滚动 30 天内用户不超过 50 人、或取得企业许可等例外,否则不能删改界面里的 Open WebUI 名称和标识。官方也明确说明,v0.6.6 之后的版本因此不再算 OSI 认证的开源许可;v0.6.5 及以前的代码仍是 BSD-3-Clause。
对内部团队自用影响不大,但如果你打算把它换皮后作为自己的产品对外提供,先读完许可或联系官方购买企业许可。
部署与运维
对数据不出内网的团队,这套组合的价值很直接:模型在自己的机器上,界面在自己的服务器上,浏览器里访问,全程不出网。
代价是运维:容器、升级、备份、账号,一样都不会少。几个实际建议:
- 用反向代理加 HTTPS,不要把 3000 端口直接暴露到公网。
- 接好单点登录后关闭开放注册,避免任何人都能建号。
- 定期备份数据卷;升级前先看版本说明,大版本升级先在测试环境试一遍。
- 团队里得有人认领这件事,否则半年后它会变成没人敢动的黑盒。
