跳到主要内容

Pipelines Logo

Pipelines:与 UI 解耦的 OpenAI API 插件框架

Pipelines 已过时——请勿用于新部署

Pipelines 已过时并被标记为 legacy,不再推荐使用。 它们早于进程内的 Functions(Pipes、Filters、Actions)和 Tools 体系——后者现在能在不跑额外 worker 容器的前提下,覆盖同样的使用场景。

这些页面仅作参考,并为现有部署保留。新项目应面向 Functions、Tools 或外部工具服务器进行开发。

欢迎使用 Pipelines,这是 Open WebUI 生态中的一个项目。Pipelines 为任何兼容 OpenAI API 规范的 UI 客户端提供模块化、可定制的工作流,以及更多扩展能力。你只需几行代码,就能扩展功能、接入专属逻辑并构建动态工作流。

🚀 为什么选择 Pipelines?

  • 灵活扩展: 轻松添加自定义逻辑并接入 Python 库,从 AI agent 到智能家居 API 都可以
  • 无缝集成: 可与任何支持 OpenAI API 规范的 UI / 客户端配合使用(仅 pipe 类型的 Pipeline 可被通用 OpenAI API 客户端使用;filter 类型需要客户端本身支持 Pipelines)
  • 自定义钩子: 构建并集成你自己的 Pipeline

你可以实现的例子

🔧 工作原理

Pipelines Workflow

将 Pipelines 集成到任何兼容 OpenAI API 的 UI 客户端都非常简单。启动你的 Pipelines 实例,然后把客户端中的 OpenAI URL 指向 Pipelines URL 即可。这样你就能为自己的需求接入任意 Python 库。

⚡ 使用 Docker 快速开始

⚠️ 安全警告

Pipelines 是一个支持任意代码执行的插件系统——不要从不可信来源拉取随机 Pipeline。恶意 Pipeline 可能访问你的文件系统、窃取数据、挖矿,甚至直接攻陷系统。安装前务必审查 Pipeline 源代码。更多细节请参阅 Security Policy

使用 Docker 进行快速部署:

  1. 运行 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
  2. 连接到 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

  1. 管理配置:

    • 在管理面板中前往 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:

  1. 确保已安装 Python 3.11。 这是当前唯一官方支持的 Python 版本

  2. 克隆 Pipelines 仓库:

    git clone https://github.com/open-webui/pipelines.git
    cd pipelines
  3. 安装所需依赖:

    pip install -r requirements.txt
  4. 启动 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 就是它丰富多样的插件生态。欢迎加入这段旅程!🌍

本内容仅供参考,不构成任何保证、担保或合同承诺。Open WebUI 按“现状”提供。请参阅您的许可协议 以了解适用条款。