国内技术群里聊到本地部署大模型,十个人有九个装了 Ollama,然后九个都顺手拖了一个 Open WebUI(github.com/open-webui/open-webui)当聊天界面——然后呢?就没有然后了。发消息、切模型、完事。这可能是 AI 工具圈最大的认知浪费之一:Open WebUI 是个免费开源的“本地版 ChatGPT 全家桶”,RAG 知识库、插件系统、MCP 接入、联网搜索、文生图、语音通话、OpenAI 兼容 API,全都埋在这个界面后面,而且全部跑在你自己的机器上,数据不出内网。今天这篇带你把它的 8 个狠活全部挖出来——大部分功能,你在国内教程里几乎看不到有人讲透。以下功能点均以官方文档(docs.openwebui.com)为准,写的都是稳定存在的能力,不是期货。
老玩家跳过,新手照抄。官方 README 的标准姿势:
docker run -d -p 3000:8080 \
--add-host=host.docker.internal:host-gateway \
-v open-webui:/app/backend/data \
--name open-webui --restart always \
ghcr.io/open-webui/open-webui:main
两个细节国内教程经常漏:一是 --add-host 这行,没有它容器里连不到宿主机上跑的 Ollama(连不上就去管理面板把 Ollama 地址改成 http://host.docker.internal:11434);二是下载嵌入模型慢的话,给容器加环境变量 HF_ENDPOINT=https://hf-mirror.com,走国内镜像,亲测能把首次启动从“卡十分钟”变成“十几秒”。想连 OpenAI 兼容的中转 API 也行,环境变量 OPENAI_API_BASE_URL 一填就完事。所以 DeepSeek、Qwen、GLM 的官方 API 或本地模型,都能塞进同一个界面。
90% 的人不知道输入框里藏着三个魔法符号:
# = 引用知识库。先在 Workspace → Knowledge 里把你的 PDF/Markdown/TXT 扔进去建库,之后聊天时打一个 #,直接弹出文档选择器,选中即注入。这就是 RAG,但不用写一行代码、不用装 LangChain。/ = 提示词库。把常用的 System Prompt 存成 Prompt 模板,聊天时 / 一敲直接调用,支持变量占位符,团队可以共享。@ = 就地切换模型(较新版本支持)。消息框里 @ 一下,不用退出对话就能换模型重答。适用场景:把公司产品手册、3GPP 规范、API 文档全建成 Knowledge,以后每个问题 # 一下指定资料源,模型只在你的资料里找答案,胡编率直线下降。
模型选择器里按住多选,选 2~3 个模型再发消息——同一个问题并排出多个回答,左边 Qwen 右边 DeepSeek,谁在胡说一目了然。看完还能指定其中某个模型继续往下聊。选模型困难症、做模型评测、写提示词想 A/B 测试的人,这个功能值回“票价”——虽然它本来就免费。
这是 Open WebUI 被低估最狠的部分。管理面板里有完整的插件体系,分四种:
不会写 Python?去社区广场 openwebui.com,Functions/Tools/Prompts 全有现成的,管理面板里直接从社区一键安装。想自己写的,一个带装饰器的 Python 类就是全部门槛。
现在 MCP(Model Context Protocol)生态爆发,但 Open WebUI 原生吃的是 OpenAPI 格式的工具,两边的插头对不上。官方为此专门出了个代理工具 mcpo(github.com/open-webui/mcpo):一条命令把任意 MCP 服务器变成 OpenAPI 端点——
uvx mcpo --port 8000 -- your-mcp-server-command
然后在 Open WebUI 里把这个端点作为 OpenAPI 工具接进来就完事。启动后访问它的 /docs 还能看到自动生成的接口文档。换句话说:社区里几千个 MCP 服务器(数据库、浏览器、文件系统……)理论上都能挂进你的本地 WebUI。国内还在讨论 MCP 是什么的时候,海外已经把它接进自部署面板当日常了,这就是时间差。
管理面板 → Settings → Web Search,内置支持 SearXNG、DuckDuckGo、Brave、Google PSE、Tavily 等一排搜索引擎。配上 SearXNG(同样可以 Docker 自托管、免 API Key),你的本地模型就有了带引用来源的联网能力,零月费。开启后对话里点一下地球图标即触发搜索作答。价格差拉满:别人为联网问答付订阅费,你付电费。
/image 文生图 + Call 语音通话两个“为什么没人宣传”的功能:
/image 一只赛博朋克风格的猫,图直接长在对话流里。本地 Stable Diffusion 管线 + 大模型改写提示词,一条龙。在 Workspace 的 Models 里基于任意底座模型“造模型”:写死系统提示词、绑定知识库、挂上过滤器和工具,起个名字保存后它就变成选择器里的一个独立模型。给客服造一个“只按产品手册回答”的、给团队造一个“代码审查员”,本质上就是自托管版 GPTs,而且模型、知识、提示词三样全在自己服务器上。
设置 → Account → API Keys,创建密钥后,你的 Open WebUI 就对外暴露了 OpenAI 兼容端点(/api/chat/completions)。意味着什么?你写的脚本、Obsidian 插件、沉浸式翻译、任何支持自定义 OpenAI 接口的应用,都能指到你自己这台服务器上,吃你配好的所有模型和工具。自部署一次,全生态复用。
flowchart LR
U["用户消息"] --> F["Filter 前置过滤器<br/>脱敏 / 注入上下文"]
F --> K{"消息带 # 引用?"}
K -- "是" --> R["知识库 RAG<br/>混合检索"]
K -- "否" --> M
R --> M["模型推理<br/>Ollama / OpenAI 兼容接口"]
M --> T{"模型要调工具?"}
T -- "是" --> W["Tools / mcpo(MCP)<br/>网页搜索 / 外部API"]
W --> M
T -- "否" --> P["Filter 后置过滤<br/>格式化 / 审计"]
P --> A["Action 按钮<br/>翻译 / 导出"]
A --> O["渲染回复<br/>TTS朗读 / Call模式"]
| 大多数人以为 | 实际上 |
|---|---|
| Open WebUI 是个聊天皮肤 | 是带插件系统的自托管 AI 工作台(Tools/Filters/Pipes/Actions) |
| RAG 要写代码、配向量库 | # 一个符号挂知识库,开箱即用 |
| MCP 和 WebUI 不兼容 | 官方 mcpo 一条命令转接 |
| 本地模型不能联网 | 内置 SearXNG/DDG 等搜索引擎集成 |
| 自部署只能自己玩 | 多用户 RBAC + OpenAI 兼容 API,全家桶复用 |
| 开源=随便商用去品牌 | 2025年4月起 License 加了品牌保留条款,商用前要读 |
今晚就可以做的四步:
docker pull ghcr.io/open-webui/open-webui:main 升级重建(数据在 volume 里,不丢);# 引用;做完这四步,你的自托管实例就已经超过 90% 只会发消息的用户了。
本文由「51学通信」技术团队出品。51学通信由通信行业18年老兵爱卫生(微信ID: gprshome201101)维护。 聚焦5G/6G核心网、3GPP标准、AI工具实战。知识星球「51学通信」提供深度技术答疑和行业洞察。
[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。
