跳到主要内容

🔌 可扩展性 (Extensibility)

让 Open WebUI 能够通过 Python、HTTP 或一键安装社区插件来完成任何事情。

Open WebUI 提供了强大的默认配置,但您的工作流往往是独特的。可扩展性将帮助您填补这一空白:赋予模型实时获取数据的能力、强制执行合规性规则、接入新的 AI 服务商,或连接到任何外部服务。您只需编写几行 Python 代码、指定一个 OpenAPI 接口端点,或者浏览社区插件库。是平台主动适应您,而不是您去迁就平台。

我们提供了三个扩展层级,大多数团队通常会使用其中至少两个:

  • 进程内 Python(工具与函数,Tools & Functions):直接在 Open WebUI 自身进程内部运行,零基础设施成本,迭代反馈极其迅速。
  • 外部 HTTP(OpenAPI 与 MCP 服务器):连接到运行在任何地方的服务,从 Sidecar 容器到第三方的 SaaS 服务。
  • 流水线工作节点(Pipelines):将繁重或高敏感度的计算处理任务卸载到独立的容器中,确保您的主实例始终保持高速、干净。

为什么需要可扩展性?

赋予模型解决现实世界问题的能力

开箱即用的大语言模型 (LLM) 只能使用其训练数据以及您当前对话中的信息。而工具 (Tools) 允许大模型将触角伸向外界:查询天气、检索数据库、调用 API、执行数学计算等。模型可以根据对话上下文自主决定何时调用何种工具。您只需将这一能力准备就绪即可。

连接任何外部服务

拥有内部开发的 API?带有 OpenAPI 规范文档的第三方 SaaS 服务?或者技术栈中已经运行了 MCP 服务器?只需将 Open WebUI 指向相应的 API 规范文档,系统就会自动发现其接口端点,并将它们作为工具直接暴露给模型进行调用。不需要编写任何胶水代码或封装接口。

控制每一条消息

函数 (Functions) 允许您在消息到达大模型之前拦截并改造它(输入过滤器),或者在回复到达用户浏览器之前进行处理(输出过滤器)。这有助于脱敏个人敏感信息 (PII)、强制执行格式规范、向可观测性平台记录日志、动态注入系统 Prompt 指令等,完全无需调整大模型的底层配置。

卸载重度计算任务

当某个插件需要访问 GPU 算力、需要安装大型依赖库或需要进行隔离执行时,您可以将其作为 Pipelines 部署在另一台独立机器上。Open WebUI 会通过标准 API 与之进行通信,从而确保您的主实例依然轻量、敏捷。

从社区快速导入

在 Open WebUI Community 社区站点上浏览数以百计由社区构建的工具和函数。找到您需要的插件,轻轻点击 Import,它便能直接上线运行。无需运行 pip install,更无需重启服务。


核心功能特性

功能模块描述
🐍 工具 (Tools)Python 脚本,赋予大模型获取新数据的超能力:网页搜索、API 调用、代码执行等
⚙️ 函数 (Functions)平台级扩展,用于接入新模型服务商 (Pipes)、消息流拦截处理 (Filters) 或 UI 动作按钮 (Actions)
🔗 MCP 支持对 Model Context Protocol(模型上下文协议)服务器的原生 Streamable HTTP 支持
🌐 OpenAPI 服务器自动发现任何 OpenAPI 兼容的端点,并将其作为工具暴露给模型
🔧 流水线 (Pipelines)运行在独立工作节点上的模块化插件框架,用于处理繁重或高度敏感的计算任务
📝 Skill(技能)基于 Markdown 格式的指令集,引导大模型应当如何处理特定任务
Prompt(提示词)带有类型化输入变量与版本控制的斜杠命令模板
🏪 社区商店一键导入海量社区开发者共创的 Tool 和 Function 插件

架构一览

理清不同扩展层级在何处运行,可以节省您的宝贵时间:

扩展层级运行位置最适合权衡代价
工具与函数 (Tools & Functions)Open WebUI 进程内部实时数据交互、过滤器、UI 按钮、新模型接入与 WebUI 主服务共享系统硬件资源
OpenAPI / MCP任意 HTTP 端点连接现有业务服务、第三方公共 API需要维护一个独立运行的外部服务器
流水线 (Pipelines)独立的 Docker 容器GPU 繁重计算、需要复杂依赖的插件、沙箱化隔离执行需要管理额外的服务器基础设施

大多数用户推荐从**工具与函数 (Tools & Functions)**开始。它们无需进行任何额外设置,内置了网页端代码编辑器,且能覆盖绝大多数日常使用场景。


实际使用场景

实时数据富化

销售团队构建了一个查询其 CRM 接口的工具。当销售代表提问 “Acme 这单的最新跟进情况如何?” 时,模型会自主调用该工具,调取当前的销售漏斗阶段、最后一次活动记录及成单金额,从而为代表生成一份包含实时销售数据的摘要,而不再是过时的训练知识。

企业合规过滤器

一家医疗保健机构部署了一个过滤函数 (Filter Function),用于扫描发出的消息中是否包含个人健康信息 (PHI) 的特征(如社会保障号 SSN、病历号 MRN、出生日期)。一旦检测到匹配项,便会在回复投递给用户前对其进行脱敏,同时将原始信息投递到其安全信息和事件管理系统 (SIEM) 中。这不需要对模型配置进行任何修改,过滤器会透明且悄无声息地运行在每一次对话中。(此场景仅作为演示示例。基于正则表达式的过滤可能无法捕获所有敏感数据模式。有合规性要求的机构应当独立验证过滤器的覆盖率。)

多服务商模型路由

研发团队利用 Pipe 函数将 Anthropic、Google Vertex AI 以及自托管的 vLLM 实例引入,与现有的 Ollama 模型并列。用户可以在单个模型选择器中看到所有的模型,而无需分别登录不同的平台,也无需为 API 密钥的管理感到头疼。

高负荷计算流水线

一个科研团队正在运行一个需要 GPU 进行交叉编码器 (Cross-encoder) 重排的检索增强生成 (RAG) 流水线。他们将其作为 Pipeline 部署在专用的 GPU 算力节点上。Open WebUI 会自动将相关的查询路由到该流水线上,同时让主 Web 实例依然运行在低成本的普通硬件上。


局限性

安全性

工具、函数与流水线会在您的服务器上执行任意 Python 代码。请务必仅安装来自可信源的扩展,并在导入前仔细审核代码,且将工作区的管理权限仅限制给管理员。详情请参阅 安全政策 页面。

资源共享

进程内的工具和函数与 Open WebUI 共享 CPU 和内存。对于计算密集型的插件,应当将其移至 Pipelines 外部流水线或外部独立服务中。

MCP 传输协议限值

Open WebUI 对 MCP 的原生支持仅限 Streamable HTTP 协议。对于基于标准输入输出 (stdio) 或服务器发送事件 (SSE) 协议的 MCP 服务器,请使用 mcpo 作为协议翻译代理。


深度探索

主题您将学到什么
工具与函数 (Tools & Functions)编写 Python 工具,函数(Pipes、Filters、Actions),以及开发 API 文档
模型上下文协议 (MCP)连接 Model Context Protocol 服务器、OAuth 设置及故障排除
流水线 (Pipelines)部署 pipeline 工作节点、构建自定义流水线以及目录结构说明
This content is for informational purposes only and does not constitute a warranty, guarantee, or contractual commitment. Open WebUI is provided "as is." See your license for applicable terms.