Pipelines:与 UI 解耦的 OpenAI API 插件框架
Pipelines 已过时并被标记为 legacy,不再推荐使用。 它们早于进程内的 Functions(Pipes、Filters、Actions)和 Tools 体系——后者现在能在不跑额外 worker 容器的前提下,覆盖同样的使用场景。
- 自定义 provider / RAG / 请求路由(Pipeline pipe)→ 使用 Pipe Function
- 消息预处理/后处理(Pipeline filter)→ 使用 Filter Function
- 接入外部 HTTP 服务 → 使用 OpenAPI 或 MCP 工具服务器
这些页面仅作参考,并为现有部署保留。新项目应面向 Functions、Tools 或外部工具服务器进行开发。
欢迎使用 Pipelines,这是 Open WebUI 生态中的一个项目。Pipelines 为任何兼容 OpenAI API 规范的 UI 客户端提供模块化、可定制的工作流,以及更多扩展能力。你只需几行代码,就能扩展功能、接入专属逻辑并构建动态工作流。
🚀 为什么选择 Pipelines?
- 灵活扩展: 轻松添加自定义逻辑并接入 Python 库,从 AI agent 到智能家居 API 都可以
- 无缝集成: 可与任何支持 OpenAI API 规范的 UI / 客户端配合使用(仅
pipe类型的 Pipeline 可被通用 OpenAI API 客户端使用;filter类型需要客户端本身支持 Pipelines) - 自定义钩子: 构建并集成你自己的 Pipeline
你可以实现的例子
- 函数调用 Pipeline:轻松处理函数调用,并用自定义逻辑增强应用
- 自定义 RAG Pipeline:实现符合你需求的复杂检索增强生成 Pipeline
- 使用 Langfuse 监控消息:实时监控和分析消息交互
- 速率限制过滤器:控制请求流量,避免超出配额
- 基于 LibreTranslate 的实时翻译过滤器:把实时翻译能力无缝加入 LLM 交互
- 有毒消息过滤器:检测并处理有毒消息
- 以及更多! 使用 Pipelines 与 Python 几乎没有上限。查看我们的脚手架,快速开始并了解如何加速开发流程
🔧 工作原理
将 Pipelines 集成到任何兼容 OpenAI API 的 UI 客户端都非常简单。启动你的 Pipelines 实例,然后把客户端中的 OpenAI URL 指向 Pipelines URL 即可。这样你就能为自己的需求接入任意 Python 库。
⚡ 使用 Docker 快速开始
Pipelines 是一个支持任意代码执行的插件系统——不要从不可信来源拉取随机 Pipeline。恶意 Pipeline 可能访问你的文件系统、窃取数据、挖矿,甚至直接攻陷系统。安装前务必审查 Pipeline 源代码。更多细节请参阅 Security Policy。
使用 Docker 进行快速部署:
-
运行 Pipelines 容器:
docker run -d -p 9099:9099 --add-host=host.docker.internal:host-gateway -v pipelines:/app/pipelines --name pipelines --restart always ghcr.io/open-webui/pipelines:main -
连接到 Open WebUI:
- 在 Open WebUI 中前往 Admin Panel > Settings > Connections
- 在该页面点击
+按钮以新增一个连接 - 将 API URL 设为
http://localhost:9099,API Key 设为0p3n-w3bu! - 添加并验证 pipelines 连接后,你会在该连接的 API Base URL 字段中看到一个图标。悬停时会显示
Pipelines。此时 pipelines 就已生效
如果你的 Open WebUI 也运行在 Docker 容器中,请把 API URL 中的 localhost 替换为 host.docker.internal。
-
管理配置:
- 在管理面板中前往 Admin Panel > Settings > Pipelines
- 选择目标 Pipeline,并直接在 WebUI 中修改对应 Valve 值
如果连接不上,通常是 Docker 网络问题。建议自行排查,并把你的解决方案分享到讨论区。
如果你需要安装带额外依赖的自定义 Pipeline:
-
运行以下命令:
docker run -d -p 9099:9099 --add-host=host.docker.internal:host-gateway -e PIPELINES_URLS="https://github.com/open-webui/pipelines/blob/main/examples/filters/detoxify_filter_pipeline.py" -v pipelines:/app/pipelines --name pipelines --restart always ghcr.io/open-webui/pipelines:main
如果某个 pipeline 不包含额外依赖,你也可以直接在管理员设置中粘贴 pipeline URL 进行安装。
就这些!现在你已经可以开始使用 Pipelines 构建可定制的 AI 集成了。
📦 安装与设置
只需几个步骤即可开始使用 Pipelines:
-
确保已安装 Python 3.11。 这是当前唯一官方支持的 Python 版本
-
克隆 Pipelines 仓库:
git clone https://github.com/open-webui/pipelines.git cd pipelines -
安装所需依赖:
pip install -r requirements.txt -
启动 Pipelines 服务器:
sh ./start.sh
服务器启动后,把客户端中的 OpenAI URL 设置为 Pipelines URL。这样你就能解锁 Pipelines 的完整能力:接入任意 Python 库,并构建符合自身需求的自定义工作流。
📂 目录结构与示例
/pipelines 目录是整个设置的核心。你可以在其中新增模块、定制已有模块并管理工作流。放在 /pipelines 目录中的所有 pipeline,都会在服务器启动时被自动加载。
你也可以通过 PIPELINES_DIR 环境变量,把该目录从 /pipelines 改到别的位置。
集成示例
你可以在 https://github.com/open-webui/pipelines/blob/main/examples 目录中找到各种集成示例。这些示例展示了如何整合不同功能,是构建自定义 pipeline 的良好起点。
🎉 持续演进中
我们仍在不断演进!非常欢迎你提出反馈,告诉我们哪些 hook 和功能最适合你的实际场景。欢迎加入 Open WebUI 社区,与我们一起完善它。
我们的愿景,是把 Pipelines 打造成 Open WebUI 的终极插件框架。可以把 Open WebUI 想象成 AI 界面的 WordPress,而 Pipelines 就是它丰富多样的插件生态。欢迎加入这段旅程!🌍

