你八成干过这事:兴冲冲 docker run 拉起 Open WebUI,接上 Ollama,聊了三句“你好你是什么模型”,然后它就躺在 localhost:3000 吃灰。海外这波“本地跑模型运动”里,Open WebUI 是装机量最大的开源前端之一,但绝大多数人只用了它不到一成的能力——它其实是一个能挂插件、能联网、能接 MCP、能定时跑任务的自托管 AI 平台,而不是一个聊天壳子。今天把八个最值钱、中文教程几乎没写过的“隐藏舱”一个个打开,全部免费,全部本地可控。
先补一句背景:Open WebUI 由 Timothy Jaeryang Baek 主导开发,开源在 github.com/open-webui/open-webui,支持 pip、Docker、K8s 一键部署,除了 Ollama,还能直连任意 OpenAI 兼容 API(LM Studio、vLLM、OpenRouter、Groq 都行),内置 RAG 推理引擎。以下功能均以其官方 README 和文档(docs.openwebui.com)当前版本为准。
操作:左侧栏进 Workspace → Models → 新建。给任意基础模型(比如你本地的 qwen)绑定:一段系统提示词 + 一个知识库 + 若干工具,存成一个新“模型”。还支持动态变量(比如调用者身份、时间,变量写法见官方文档),可以从 openwebui.com 社区一键导入别人做好的预设。
效果:重复使用的岗位提示词(周报生成器、简历初筛员、SQL 审核)沉淀成团队资产,点选即用,还能按用户/组分配访问权限(RBAC)。
场景:小团队内部工具站。老板以为你搭了私有 ChatGPT,其实你只是写了三段提示词。
操作:Workspace → Knowledge 建知识库、传 PDF/Word;聊天框里输入 # 即可引用整个库或单份文档。进管理员面板 → 设置 → 检索,打开 Hybrid Search(BM25 关键词 + 向量双路召回)和 Reranking 重排,回答质量立刻上一个台阶。向量库有 9 种可选:ChromaDB、PGVector、Qdrant、Milvus、Elasticsearch、Pinecone、S3Vector 等;文档解析还支持 Tika、Docling、OCR 等外部引擎。
效果:合同、规范、论文全部数据不出门。这是它和网页版套壳产品最本质的差别——检索管线跑在你自己机器上。
场景:律所、财务、涉密代码库问答,以及“老板问公司制度又没人记得”的所有场合。
操作:管理员面板 → Settings → Web Search,从下拉里选一家搜索源——支持 SearXNG、Tavily、Brave、DuckDuckGo、Kagi、Jina、Exa,甚至搜狗(Sougou)在内几十家。回到聊天界面打开“联网搜索”开关即可,检索结果自动注入上下文并附引用来源。进阶玩法:自己用 Docker 起一个 SearXNG 聚合搜索(免费无 API 费),填进 Open WebUI。
效果:零月费获得“本地大模型 + 联网 + 引用标注”三件套,检索环节照样可以配 RAG 融合。
场景:查海外最新文档、比价、做舆情初筛,全程不留痕在第三方 AI 服务上。
这是中文圈几乎没人写的一招。Open WebUI 的工具体系走 OpenAPI 路线,而官方专门做了个转换器 mcpo:把任意 MCP 服务器转成标准 REST 服务。
操作(三步):
# 1. 一行命令把 MCP 转成 OpenAPI(以官方 memory 工具为例)
uvx mcpo --port 8000 --api-key "top-secret" -- npx -y @modelcontextprotocol/server-memory
# 2. 浏览器打开 http://localhost:8000/docs 确认工具已注册
# 3. Open WebUI → 设置 → Tools,填入 http://localhost:8000 和你的 api-key
mcpo 还支持直接复用 Claude Desktop 同款 config.json 配置文件(mcpo --config config.json --hot-reload),热重载、SSE/Streamable-HTTP、OAuth 2.1 都有,仓库在 github.com/open-webui/mcpo。
效果:Claude 生态里几千个 MCP 服务器(文件系统、浏览器、数据库、记忆库)瞬间全部可用于本地 Web UI。
场景:让本地小模型也能“读你硬盘上的项目文件”——不用订阅 Claude,一样有工具链。
管理员面板 → Functions,这里有三种 Python 插件,是 Open WebUI 可扩展性的核心(官方 README 称之为 Filters / Actions / Pipes / Tools / Skills 体系):
社区函数市场直接一键安装,不写代码也能用。
场景:给全家人的共同入口做内容过滤;给客服机器人加“一键转人工”按钮。
操作:聊天输入框旁的麦克风图标进入 Call 模式(支持语音/视频通话)。管理员面板 → Audio 里:语音识别(STT)可选本地 Whisper——音频不上传任何云;合成(TTS)可选 Azure、ElevenLabs、OpenAI、Transformers(本地)或浏览器 WebAPI。
效果:断网也能用的语音助手;接 ElevenLabs 则音质堪比真人。
场景:给孩子做英语口语陪练、给老人做免打字入口、给厨房里的你做计时问答。
新版本把 Automations(自动化) 和日历焊进了主程序:你可以把任意提示词设成周期任务(比如“每天早上八点,总结我知识库昨天新增的文档”),运行记录直接出现在日历上,每次运行还能点回产生它的那场对话。配合原生的 function calling,模型甚至能用对话直接帮你管理日程(建提醒、约事件)。
效果:以前要开 n8n/Dify 搭的定时工作流,现在 UI 里点几下就完事,且天然带着对话上下文。
场景:每日竞品快报、每周周报草稿、定时盯某个 GitHub 仓库 release。
操作:聊天界面一次勾选多个模型,同一条消息并行发给几个模型对比回答;管理员侧还有内置 Arena 竞技场(A/B 盲测 + ELO 排行榜)和用量分析面板(按用户/模型统计消息量、token 消耗和成本)。
效果:别再靠博主跑分选模型。让你团队真实业务语料盲测一周,ELO 榜自己说了算;再用成本面板砍掉“贵但没人用”的模型。
场景:采购决策——把“我觉得 qwen 好”换成一张你自己的盲测排行榜。
官方生态最近一年铺得很快,README 里能看到四个延伸项目:open-webui/computer(手机可用的“AI 电脑”,文件、终端、Git 都在浏览器标签页里,可接 Telegram/WhatsApp 唤起)、open-terminal(给 AI 一台带隔离容器的终端去写码跑码)、oikb(从 GitHub、Notion、Slack 等 45+ 数据源自动同步知识库)、以及桌面原生 App(内置 llama.cpp 引擎,全局快捷栏 + 截图提问)。单独每个都够写一篇文章,先知道有这些东西,方向就不迷。
flowchart TD
A["本地模型<br/>Ollama / vLLM"] --> B["Open WebUI 主舱"]
C["OpenAI兼容API<br/>OpenRouter / Groq"] --> B
B --> D["Knowledge 知识库<br/>#引用+混合检索"]
B --> E["联网搜索<br/>SearXNG / Tavily / 搜狗"]
B --> F["mcpo 代理<br/>MCP转OpenAPI"]
F --> G["文件系统 / 记忆<br/>等MCP工具"]
B --> H["Functions 插件<br/>Filter/Action/Pipe"]
B --> I["语音通话<br/>本地Whisper+TTS"]
B --> J["Automations<br/>定时任务+日历"]
B --> K["ComfyUI / A1111<br/>本地画图"]
B --> L["Arena 盲测<br/>ELO选模型"]
顺带一提舱外彩蛋:Open WebUI 也能接 ComfyUI 和 AUTOMATIC1111 做本地画图引擎——图生图、按提示词改图都有开关,等你想玩文生图时不用另搭界面。
很多人不知道:Open WebUI 在 0.6 版本后不再是可以随便改标的宽松协议,现在的 Open WebUI License 附加了一条“保留 Open WebUI 品牌”的要求——你自用、内部商用没问题,但去掉它的 Logo 拿去白标售卖会触碰许可红线,官方另售企业版(含白标、SLA、LTS)。给老板做内部部署前,把这条讲清楚,免得后面返工。
| 你以为的 | 实际上的 |
|---|---|
| Open WebUI = Ollama 的聊天皮肤 | 可扩展自托管 AI 平台,插件/工具/技能体系齐全 |
| 知识库问答要买 SaaS | # 引用 + 混合检索免费内置,9 种向量库可选 |
| 联网必须 Perplexity 订阅 | SearXNG 自建 + 内置联网开关,零月费 |
| MCP 工具只有 Claude 能用 | mcpo 一行命令转 OpenAPI,全部接入 |
| 定时任务得搭 n8n | Automations + 日历原生支持,点几下完事 |
| 选模型看博主跑分 | Arena 盲测 + ELO,用自家数据说话 |
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 拉起最新版(记得挂载卷,否则数据丢失)。# 引用。本文由「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 等场景全覆盖。
