Open WebUI:给本地模型一个 ChatGPT 级别的操作界面

本地把模型跑起来了,然后呢?

打开终端,敲命令,等回复,复制粘贴到别处用。第一次觉得挺酷,第二次就开始嫌烦了——没有对话历史、不能切换模型、上传个文件还得自己想办法喂进去。

问题在于:推理引擎解决的是"模型怎么跑",没解决"人怎么用"。中间缺一层界面。

Open WebUI 填的就是这个位置。它的自我定位是"一个 AI 的家"——可扩展、功能丰富、用户友好,并且设计为可以完全离线运行的自托管 AI 平台。

支持 Ollama 和 OpenAI 兼容 API,为本地和云端模型提供供应商无关的界面。

命令行能跑,但不好用

一个不太常见的定位:完全离线

README 里"built to run entirely offline"这个表述值得单独拎出来。

大多数 AI 客户端默认你有网——要连云端 API、要加载在线资源、要同步数据。而 Open WebUI 把"完全离线可运行"当成核心目标之一,官方还专门给它起了名字叫 "sovereign AI"(主权 AI)。

对几个场景这是决定性的:

  • 内网环境:物理隔离的网络里,联网客户端根本没法用
  • 数据敏感场景:任何出网行为都可能违反合规要求
  • 网络不稳定的环境:不能因为断网就无法工作

值得注意的是,它同时支持 Ollama 和任何 OpenAI 兼容 API。所以离线不等于只能用小模型——你可以在内网部署推理服务,用 Open WebUI 作为前端。

模型接入方式

README 里明确写了可以指向这些地址:LMStudio、GroqCloud、Mistral、OpenRouter、vLLM 等等,"自由混合搭配供应商"。

这个"自由混合"是关键。你可以同时挂上本地的小模型和云端的大模型,在界面上按任务切换——日常问答用本地,复杂任务切云端。一套界面管所有。

权限与多用户

细粒度 RBAC 和用户组。管理员定义详细的角色、组和权限,给每个用户恰好需要的访问权限,默认安全,并且每个组可以有定制化的体验。

"默认安全"和"按组定制体验"这两点合起来,说明它是按多租户的思路设计的。企业里不同部门用 AI 的诉求和权限边界都不一样,一套配置管所有人不现实。

插件体系

支持五种扩展类型:Filters(过滤器)、Actions(动作)、Pipes(管道)、Tools(工具)、Skills(技能)。

另外可以通过 MCP、MCPO 和 OpenAPI 工具服务器连接外部服务。

能接 OpenAPI 工具服务器这一条很实用——你现有的内部 API,不用改造就能变成 AI 可调用的工具。

README 里举的用途包括:自定义集成、限流、审批流、数据连接等。

Agent 能力和终端

Models & Agents:把任意基础模型包上自定义指令、工具和知识,做成专用 Agent。支持动态变量、按用户/组的访问控制,以及从社区导入预设。

Agentic Execution with Open Terminal 这一条比较特别:给 Agent 一个终端和文件系统来执行多步骤任务,让它分析数据、跑脚本、修错误、直接在对话里产出文件。

这不是简单的"调用 API",而是给了 Agent 真实的执行环境。能力边界大了很多,当然风险边界也大了——这是选型时要权衡的。

企业版提供 Terminals:按用户隔离的环境、资源限制、自动生命周期管理。说明官方也认识到裸给终端在生产环境需要更多约束。

一些超出"聊天客户端"的功能

README 的功能列表很长,挑几个容易被忽视但实际有用的:

Notes(笔记)——独立于对话的内容工作区,富文本编辑、AI 改写选中文字、可以把笔记挂到任意对话上做完整上下文注入。

第二点值得注意:把笔记挂到对话上,等于给对话加了一个可控的知识来源。比每次手动粘贴资料方便,也比全量 RAG 更轻。

Channels(频道)——团队和 AI 模型在同一个时间线里协作。可以 @ 模型让它起草或批评,支持线程、表情、置顶和访问控制。

这个设计把 AI 从"一对一工具"变成了"团队成员"。

Persistent Memory(持久记忆)——AI 跨对话记住关于你的事实。这正是前面提到的记忆层能力在客户端层面的落地。

Calendar & AI Scheduling——内置个人和共享日历,支持月/周/日视图、重复事件、颜色编码、参与者、提醒。模型可以通过原生函数调用对话式地管理你的日程。

Automations——按周期计划跑提示词,运行记录显示在日历上,每次完成的运行都能链接回它产生的那次对话。

这一条挺有意思:把"定时任务"和"对话"打通了。你能看到某次自动化跑出来了什么,并且能追溯到完整上下文。

Live Workflow & Message Flow——实时看 AI 构建和处理清单。AI 还在回复的时候可以排队消息,它准备好后自动发送。

多模型对话——同时用多个模型,并行发挥各自优势。

用量分析与模型评估——管理面板追踪消息量、token 消耗和成本(按用户和模型维度)。内置 arena 做模型评估、A/B 测试和基于 ELO 的排行榜。

对做模型选型的人来说,能在自己的真实场景里跑 A/B 而不是看别人的排行榜,价值大得多。

响应式设计与 PWA——桌面、笔记本、移动端一致体验,PWA 支持类原生应用的手感和 localhost 下的离线访问。

Markdown 和 LaTeX 完整支持。

免提语音/视频通话——集成多种语音转文字(本地 Whisper、OpenAI、Deepgram、Azure)和文字转语音引擎(Azure、ElevenLabs、OpenAI、Transformers、WebAPI)。

Persistent Artifact Storage——内置键值存储 API,可以做日志、追踪器、排行榜、协作工具,支持个人和共享数据范围。

RAG 与联网能力

本地 RAG 集成做得比较完整:

  • 后端支持 9 种向量数据库
  • 内容抽取引擎包括 Tika、Docling、Document Intelligence、Mistral OCR、PaddleOCR-vl、外部加载器
  • 支持混合检索(BM25 + 向量),带重排和全上下文模式
  • 用 # 命令把文档加载进对话,或者从库里拉取

内容抽取引擎里有 PaddleOCR-vl,说明对中文扫描件的处理有专门考虑。

网页搜索支持几十家供应商,包括 SearXNG、Google PSE、Brave Search、Kagi、Mojeek、Tavily、Perplexity、Firecrawl、DuckDuckGo、Bing、Jina、Exa、Sougou(搜狗)、Azure AI Search、Ollama Cloud 等,结果直接注入对话。

网页浏览:用 # 加 URL 把网站拉进对话,或者让模型自己按需抓取。

图像生成与编辑:支持 OpenAI DALL·E、Gemini、ComfyUI(本地)、AUTOMATIC1111(本地),同时支持生成和基于提示词的编辑。

部署与存储

安装方式:pip、uv、Docker、Kubernetes(kubectl、kustomize 或 helm)。容器部署有 :ollama 和 :cuda 标签的镜像。

数据库:可选 SQLite(支持加密)或 PostgreSQL。

文件存储:本地,或 S3、Google Cloud Storage、Azure Blob Storage。

存储选项的完整度说明它考虑过从个人到企业的全部规模。

适合谁用

本地模型用户。这是最直接的受益者——把命令行里的推理引擎变成一个真正好用的产品。

内网/离线环境的团队。完全离线运行是它的明确设计目标。

要统一管理多种模型的组织。RBAC + 用户组 + 用量分析 + 成本追踪,是平台化需要的。

需要 RAG 但不想单独搭一套的个人用户。内置 RAG 支持 9 种向量库和多种抽取引擎,省去自己拼装的功夫。

不太适合:

  • 只用单一云端 API、不需要本地的用户。直接用官方客户端更省事。
  • 对终端执行能力有顾虑的场景。给 Agent 终端和文件系统是强大能力,但需要评估风险边界。
  • 资源极度受限的设备。功能丰富意味着它不是最轻量的选择。

项目地址: https://github.com/open-webui/open-webui 官方文档: https://docs.openwebui.com


本文依据项目官方仓库 README 整理编写。功能列表较长且迭代较快,具体能力请以官方最新文档为准。