Files
Fu-Jie_openwebui-extensions/docs/plugins/pipes/index.zh.md
fujie bfc2743f3a feat(copilot-sdk): v0.12.1 - disable terminal tools for AI, improve RichUI theme
- Disable terminal server tools from being exposed to AI
- Add RichUI theme-aware CSS variables for better text contrast
- Update version to 0.12.1 across all documentation files
2026-03-24 03:50:09 +08:00

124 lines
3.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Pipe 插件
Pipe 插件用于创建自定义模型集成或转换 LLM 响应,会在 OpenWebUI 的模型下拉中显示。
## 什么是 Pipes
Pipes 可以用于:
- :material-api: 连接外部 AI APIGemini、Claude 等)
- :material-robot: 创建自定义模型封装
- :material-cog-transfer: 变换请求与响应
- :material-middleware: 实现中间件逻辑
---
## 可用的 Pipe 插件
- [GitHub Copilot SDK](github-copilot-sdk.zh.md) (v0.12.1) - GitHub Copilot SDK 官方集成。具备**工作区安全隔离**、**零配置工具桥接**与**BYOK (自带 Key) 支持**。**v0.12.1 更新:禁用终端工具 AI 调用、RichUI 主题感知 CSS 变量**。[查看深度架构解析](github-copilot-sdk-deep-dive.zh.md) | [**查看进阶 实战教程**](github-copilot-sdk-tutorial.zh.md) | [**查看详细使用手册**](github-copilot-sdk-usage-guide.zh.md)。
- **[实战案例GitHub 100 Star 增长预测](star-prediction-example.zh.md)** - 展示如何使用 GitHub Copilot SDK Pipe 结合 Minimax 2.1 模型,自动编写脚本分析 CSV 数据并生成详细的项目增长报告。
- **[实战案例:视频高质量 GIF 转换与加速](video-processing-example.zh.md)** - 演示模型如何通过底层 FFmpeg 工具对录屏进行加速、缩放及双阶段色彩优化处理。
---
## Pipe 工作原理
```mermaid
graph LR
A[User selects Pipe as Model] --> B[Pipe receives request]
B --> C[Transform/Route request]
C --> D[External API / Custom Logic]
D --> E[Return response]
E --> F[Display to User]
```
### `pipes` 方法
定义此 Pipe 提供的模型列表:
```python
def pipes(self):
return [
{"id": "my-model", "name": "My Custom Model"},
{"id": "my-model-fast", "name": "My Custom Model (Fast)"}
]
```
### `pipe` 方法
负责处理实际请求:
```python
def pipe(self, body: dict) -> Generator:
# 处理请求
messages = body.get("messages", [])
# 调用外部 API 或自定义逻辑
response = call_external_api(messages)
# 返回响应(可流式)
return response
```
---
## 快速安装
1. 下载需要的 Pipe `.py` 文件
2. 前往 **Admin Panel****Settings****Functions**
3. 上传并配置 API Key
4. 该 Pipe 会作为模型选项出现
---
## 开发模板
```python
"""
title: My Custom Pipe
author: Your Name
version: 1.0.0
description: Description of your pipe plugin
"""
from pydantic import BaseModel, Field
from typing import Generator, Iterator, Union
class Pipe:
class Valves(BaseModel):
API_KEY: str = Field(
default="",
description="API key for the external service"
)
API_URL: str = Field(
default="https://api.example.com",
description="API endpoint URL"
)
def __init__(self):
self.valves = self.Valves()
def pipes(self) -> list[dict]:
"""Define available models."""
return [
{"id": "my-model", "name": "My Custom Model"},
]
def pipe(
self,
body: dict
) -> Union[str, Generator, Iterator]:
"""Process the request and return response."""
messages = body.get("messages", [])
model = body.get("model", "")
# 自定义逻辑
# 返回值可以是:
# - str单次响应
# - Generator/Iterator流式响应
return "Response from custom pipe"
```
更多细节见 [插件开发指南](../../development/plugin-guide.md)。