方法一: 用 Docker 容器运行 Pipelines
docker run -d -p 9099:9099 \
--add-host=host.docker.internal:host-gateway \
-v /home/yourname/my-pipelines:/app/pipelines \
--name pipelines \
--restart always \
ghcr.io/open-webui/pipelines:main
这种方法直接使用官方预构建的 Docker 镜像,自动加载 /app/pipelines 路径下的 pipeline 文件;将你写好的 pipeline 挂载进去即可使用
官方镜像下载慢,但是华为云又版本过低?没事,这里我已经帮你找到了南京大学的镜像,速度快,版本新,十分甚至九分的好用
ghcr.nju.edu.cn/open-webui/pipelines:main
方法二: 本地部署pipelines
第一步:克隆官方pipeline仓库
git clone https://github.com/open-webui/pipelines.git
cd pipelines
python3.11 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
注意的点
- 关于 clone github 仓库
如果你拥有自己的服务器,可以在云端进行。而且vscode支持远程连接时git 仓库,很方便(可能需要科学上网),也可以选择先克隆到本地,再把写好的文件上传到云端服务器

- 关于 requirement.txt
- 需要rustc和cargo的支持,需要先下载rust。直接安装依赖可能报错
第二步:创建 rag_pipeline.py 文件
📁 在 pipelines/ 目录下新建:
# pipelines/rag_pipeline.py
from openwebui.pipelines import PipelineStep
from rag_report_generator import ReportGenerator
class RAGPipeline(PipelineStep):
def __init__(self):
# 保留你原来的逻辑
self.generator = ReportGenerator()
def run(self, data: dict) -> dict:
query = data.get("user_input", "") # OpenWebUI 会传 user_input
result = self.generator.generate_report(query)
return {
"response": result # 返回给前端
}
代码片段,仅供参考。
这里的自定义pipeline可参考 (https://github.com/open-webui/pipelines/blob/main/examples/pipelines)中官方的pipeline写法

第三步:启动 Pipelines 服务
sh ./start.sh
成功后会默认监听:
http://localhost:9099/v1/chat/completions
你可以在浏览器尝试访问 http://localhost:9099/docs 查看接口文档是否加载。
这种方法会启动本地 Python 脚本,运行一个 FastAPI 服务,监听 9099 端口,会自动加载你本地 pipelines/ 文件夹中的所有 pipeline 文件(.py)
适合场景:
开发者在调试自定义 pipeline;
不想用 Docker 或暂时测试环境未准备好;
更灵活,便于打 log 和调试。
额外注意事项
请仔细查看openwebui的官方文档,是否正确安装了所需的依赖和所需的python版本,其中提到3.11是唯一支持的python版本!

在 OpenWebUI 设置中绑定 Pipelines
打开 OpenWebUI Web 页面
进入 设置 → 外部连接
添加一个模型:
- URL填写:
http://<你的服务器地址>:9099/ - 密钥:
0p3n-w3bu!
- URL填写:
你会看到有一个图标显示在该连接上,说明你的pipeline连接成功了

上传本地/从GitHub上下载pipeline

现在你可以从模型列表中看到pipeline, 可以直接与其对话

![[Openwebui] 使用Pipeline功能](/images/banner7.webp)

说些什么吧!