docs: add full zh translations for site

Co-authored-by: Fu-Jie <33599649+Fu-Jie@users.noreply.github.com>
This commit is contained in:
copilot-swe-agent[bot]
2025-12-30 01:22:29 +00:00
parent 7f07329f87
commit ba44dfab26
23 changed files with 3071 additions and 0 deletions

View File

@@ -0,0 +1,67 @@
# Export to Excel导出到 Excel
<span class="category-badge action">Action</span>
<span class="version-badge">v1.0.0</span>
将聊天记录导出为 Excel 表格,便于分析、归档和分享。
---
## 概览
Export to Excel 插件可以把你的聊天记录下载为 Excel 文件,适用于:
- 归档重要对话
- 分析聊天数据
- 与同事共享对话内容
- 将 AI 辅助的研究整理成文档
## 功能特性
- :material-file-excel: **Excel 导出**:标准 `.xlsx` 格式
- :material-table: **格式化输出**:整洁的表格结构
- :material-download: **一键下载**:即时生成文件
- :material-history: **完整历史**:导出完整会话内容
---
## 安装
1. 下载插件文件:[`export_to_excel.py`](https://github.com/Fu-Jie/awesome-openwebui/tree/main/plugins/actions/export_to_excel)
2. 上传到 OpenWebUI**Admin Panel** → **Settings****Functions**
3. 启用插件
---
## 使用方法
1. 打开想要导出的对话
2. 点击消息操作栏中的 **Export** 按钮
3. Excel 文件会自动下载
---
## 导出格式
生成的 Excel 文件包含:
| 列 | 说明 |
|--------|-------------|
| Timestamp | 消息发送时间 |
| Role | 角色(用户 / 助手) |
| Content | 消息文本内容 |
| Model | 使用的模型(助手消息) |
---
## 运行要求
!!! note "前置条件"
- OpenWebUI v0.3.0 及以上
- 无需额外 Python 依赖(使用内置库)
---
## 源码
[:fontawesome-brands-github: 在 GitHub 查看](https://github.com/Fu-Jie/awesome-openwebui/tree/main/plugins/actions/export_to_excel){ .md-button }

View File

@@ -0,0 +1,151 @@
# Action 插件
Action 插件会在聊天界面的消息下方添加自定义按钮,让你一键触发特定功能。
## 什么是 Actions
Actions 是交互式插件,能够:
- :material-gesture-tap: 在消息操作栏添加按钮
- :material-export: 生成并导出内容(思维导图、图表、文件等)
- :material-api: 与外部服务和 API 交互
- :material-animation-play: 创建可视化或交互内容
---
## 可用的 Action 插件
<div class="grid cards" markdown>
- :material-brain:{ .lg .middle } **Smart Mind Map**
---
智能分析文本并生成交互式、精美的思维导图。
**版本:** 0.7.2
[:octicons-arrow-right-24: 查看文档](smart-mind-map.md)
- :material-chart-bar:{ .lg .middle } **Smart Infographic**
---
使用 AntV 可视化引擎,将文本转成专业的信息图。
**版本:** 1.0.0
[:octicons-arrow-right-24: 查看文档](smart-infographic.md)
- :material-card-text:{ .lg .middle } **Knowledge Card**
---
快速生成精美的学习记忆卡片,适合学习与记忆。
**版本:** 0.2.0
[:octicons-arrow-right-24: 查看文档](knowledge-card.md)
- :material-file-excel:{ .lg .middle } **Export to Excel**
---
将聊天记录导出为 Excel 电子表格,方便分析或归档。
**版本:** 1.0.0
[:octicons-arrow-right-24: 查看文档](export-to-excel.md)
- :material-text-box-search:{ .lg .middle } **Summary**
---
对长文本进行精简总结,提取要点。
**版本:** 1.0.0
[:octicons-arrow-right-24: 查看文档](summary.md)
</div>
---
## 快速安装
1. 下载需要的 `.py` 插件文件
2. 前往 **Admin Panel****Settings****Functions**
3. 上传文件并完成配置
4. 在聊天消息中使用对应的 Action 按钮
---
## 开发模板
想要自己编写 Action 插件?可以参考下面的模板:
```python
"""
title: My Custom Action
author: Your Name
version: 1.0.0
description: Description of your action plugin
"""
from pydantic import BaseModel, Field
from typing import Optional, Dict, Any
class Action:
class Valves(BaseModel):
# 在这里添加你的配置项
show_status: bool = Field(
default=True,
description="Show status updates during processing"
)
def __init__(self):
self.valves = self.Valves()
async def action(
self,
body: dict,
__user__: Optional[Dict[str, Any]] = None,
__event_emitter__: Optional[Any] = None,
__request__: Optional[Any] = None,
) -> Optional[dict]:
"""
当用户点击 Action 按钮时触发的主方法。
Args:
body: 包含会话数据的消息体
__user__: 当前用户信息
__event_emitter__: 用于发送通知或状态更新
__request__: FastAPI 请求对象
Returns:
修改后的 body 字典或 None
"""
# 发送状态更新
if __event_emitter__ and self.valves.show_status:
await __event_emitter__({
"type": "status",
"data": {"description": "Processing...", "done": False}
})
# 插件逻辑
messages = body.get("messages", [])
if messages:
last_message = messages[-1].get("content", "")
# 在这里处理消息...
# 完成状态
if __event_emitter__ and self.valves.show_status:
await __event_emitter__({
"type": "status",
"data": {"description": "Done!", "done": True}
})
return body
```
更多详情可查看 [插件开发指南](../../development/plugin-guide.md)。

View File

@@ -0,0 +1,88 @@
# Knowledge Card知识卡片
<span class="category-badge action">Action</span>
<span class="version-badge">v0.2.0</span>
快速生成精美的学习记忆卡片,适合学习和速记。
---
## 概览
Knowledge Card 插件(又名 Flash Card / 闪记卡)会把内容转成视觉友好的记忆卡片,帮助你高效学习和记忆。无论备考、理解新概念或复习要点,都能用它快速生成学习素材。
## 功能特性
- :material-card-text: **精美卡片**:现代简洁的版式,便于阅读
- :material-animation-play: **可交互**:点击翻转查看答案
- :material-export: **可导出**:支持保存离线学习
- :material-palette: **可定制**:多种主题与样式
- :material-translate: **多语言**:支持多语言内容
---
## 安装
1. 下载插件文件:[`knowledge_card.py`](https://github.com/Fu-Jie/awesome-openwebui/tree/main/plugins/actions/knowledge-card)
2. 上传到 OpenWebUI**Admin Panel** → **Settings****Functions**
3. 启用插件
---
## 使用方法
1. 与 AI 就你想学习的主题进行对话
2. 点击消息操作栏的 **Flash Card** 按钮
3. 插件会分析内容并生成卡片
4. 点击卡片翻面查看答案
---
## 配置项
| 选项 | 类型 | 默认值 | 说明 |
|--------|------|---------|-------------|
| `cards_per_message` | integer | `5` | 每条消息最多生成的卡片数量 |
| `theme` | string | `"modern"` | 视觉主题 |
| `show_hints` | boolean | `true` | 是否在卡片上显示提示 |
---
## 示例
=== "问题面"
```
┌─────────────────────────────┐
│ │
│ What is the capital of │
│ France? │
│ │
│ [Click to flip] │
└─────────────────────────────┘
```
=== "答案面"
```
┌─────────────────────────────┐
│ │
│ Paris │
│ │
│ The city of lights, │
│ located on the Seine │
│ │
└─────────────────────────────┘
```
---
## 运行要求
!!! note "前置条件"
- OpenWebUI v0.3.0 及以上
- 无需额外 Python 依赖
---
## 源码
[:fontawesome-brands-github: 在 GitHub 查看](https://github.com/Fu-Jie/awesome-openwebui/tree/main/plugins/actions/knowledge-card){ .md-button }

View File

@@ -0,0 +1,107 @@
# Smart Infographic智能信息图
<span class="category-badge action">Action</span>
<span class="version-badge">v1.0.0</span>
基于 AntV 信息图引擎,将长文本一键转成专业、美观的信息图。
---
## 概览
Smart Infographic 使用 AI 分析文本,并基于 AntV 可视化引擎生成专业的信息图。它会自动提取要点,并用合适的图表/结构呈现。
## 功能特性
- :material-robot: **AI 转换**:自动分析文本逻辑,提取要点并生成结构化图表
- :material-palette: **专业模板**:内置 AntV 官方模板:列表、树、思维导图、对比表、流程图、统计图等
- :material-magnify: **自动匹配图标**:根据内容自动选择最合适的 Material Design Icons
- :material-download: **多格式导出**:支持下载 **SVG**、**PNG**、**独立 HTML**
- :material-theme-light-dark: **主题支持**:适配深色/浅色模式
- :material-cellphone-link: **响应式**:桌面与移动端都能良好展示
---
## 安装
1. 下载插件文件:[`infographic.py`](https://github.com/Fu-Jie/awesome-openwebui/tree/main/plugins/actions/infographic)
2. 上传到 OpenWebUI**Admin Panel** → **Settings****Functions**
3. 可选:根据需要配置插件选项
4. 启用插件
---
## 支持的模板类型
| 分类 | 模板名称 | 典型场景 |
|:---------|:--------------|:---------|
| **列表与层级** | `list-grid`, `tree-vertical`, `mindmap` | 特性列表、组织结构、头脑风暴 |
| **序列与关系** | `sequence-roadmap`, `relation-circle` | 路线图、循环流程、步骤拆解 |
| **对比与分析** | `compare-binary`, `compare-swot`, `quadrant-quarter` | 优劣势、SWOT、象限分析 |
| **图表与数据** | `chart-bar`, `chart-line`, `chart-pie` | 趋势、分布、指标对比 |
---
## 使用方法
1. 在聊天中输入需要可视化的文本
2. 点击消息操作栏的 **Infographic**(📊)按钮
3. 等待 AI 分析并生成信息图
4. 预览结果,可用下载按钮保存
---
## 配置项
| 选项 | 类型 | 默认值 | 说明 |
|--------|------|---------|-------------|
| `SHOW_STATUS` | boolean | `true` | 是否展示实时的分析/生成状态 |
| `MODEL_ID` | string | `""` | 指定用于分析的 LLM 模型,留空则使用当前会话模型 |
| `MIN_TEXT_LENGTH` | integer | `100` | 触发分析的最小字符数 |
| `CLEAR_PREVIOUS_HTML` | boolean | `false` | 是否清空之前生成的图表 |
| `MESSAGE_COUNT` | integer | `1` | 参与分析的最近消息条数 |
---
## 语法示例(高级用法)
也可以直接输入信息图语法进行渲染:
```infographic
infographic list-grid
data
title 🚀 Plugin Benefits
desc Why use the Smart Infographic plugin
items
- label Fast Generation
desc Convert text to charts in seconds
- label Beautiful Design
desc Uses AntV professional design standards
```
---
## 运行要求
!!! note "前置条件"
- OpenWebUI v0.3.0 及以上
- 无需额外 Python 依赖(使用 OpenWebUI 内置依赖)
---
## 常见问题
??? question "没有生成信息图?"
请确认文本长度至少 100 字符(可通过 `MIN_TEXT_LENGTH` 调整)。
??? question "模板与内容不匹配?"
AI 会根据内容结构自动选择模板,如需指定可使用高级语法。
??? question "导出失败?"
确认浏览器支持 HTML5 Canvas 和 SVG尝试刷新页面。
---
## 源码
[:fontawesome-brands-github: 在 GitHub 查看](https://github.com/Fu-Jie/awesome-openwebui/tree/main/plugins/actions/infographic){ .md-button }

View File

@@ -0,0 +1,91 @@
# Smart Mind Map智能思维导图
<span class="category-badge action">Action</span>
<span class="version-badge">v0.7.2</span>
智能分析文本内容,生成交互式思维导图,帮助你更直观地理解信息结构。
---
## 概览
Smart Mind Map 会将文本转换成漂亮的交互式思维导图。插件会用 AI 分析内容结构,生成层级化的可视化,帮助快速梳理复杂信息。
## 功能特性
- :material-brain: **AI 分析**:智能提取关键概念与关联关系
- :material-gesture-swipe: **交互导航**:支持缩放、平移、展开/折叠
- :material-palette: **精美样式**:现代化配色,支持自定义主题
- :material-download: **导出**:可保存为图片或结构化数据
- :material-translate: **多语言**:支持多语言文本分析
---
## 安装
1. 下载插件文件:[`smart_mind_map.py`](https://github.com/Fu-Jie/awesome-openwebui/tree/main/plugins/actions/smart-mind-map)
2. 上传到 OpenWebUI**Admin Panel** → **Settings****Functions**
3. 启用插件
---
## 使用方法
1. 先与 AI 对话并生成回复
2. 点击消息操作栏中的 **Mind Map** 按钮
3. 等待思维导图生成
4. 交互使用:
- **缩放**:滚轮缩放
- **平移**:按住拖动
- **展开/折叠**:点击节点显示或隐藏子节点
---
## 配置项
| 选项 | 类型 | 默认值 | 说明 |
|--------|------|---------|-------------|
| `show_status` | boolean | `true` | 是否显示处理状态更新 |
| `max_depth` | integer | `5` | 思维导图的最大层级 |
| `theme` | string | `"default"` | 可视化的主题配色 |
---
## 输出示例
插件会在聊天中嵌入交互式 HTML 思维导图:
```
📊 Mind Map Generated
├── Main Topic
│ ├── Subtopic 1
│ │ ├── Detail A
│ │ └── Detail B
│ ├── Subtopic 2
│ └── Subtopic 3
└── Related Concepts
```
---
## 运行要求
!!! note "前置条件"
- OpenWebUI v0.3.0 及以上
- 无需额外 Python 依赖
---
## 常见问题
??? question "思维导图不显示?"
请确认浏览器支持 HTML5 Canvas并且已开启 JavaScript。
??? question "生成时间过长?"
对超长文本AI 分析会更耗时。建议拆分内容后再生成。
---
## 源码
[:fontawesome-brands-github: 在 GitHub 查看](https://github.com/Fu-Jie/awesome-openwebui/tree/main/plugins/actions/smart-mind-map){ .md-button }

View File

@@ -0,0 +1,82 @@
# Summary摘要
<span class="category-badge action">Action</span>
<span class="version-badge">v1.0.0</span>
为长文本生成简洁摘要,并提取关键要点。
---
## 概览
Summary 插件可以快速理解长文本,生成精炼摘要并列出关键点,适合:
- 总结长文章或文档
- 从对话中提炼要点
- 为复杂主题制作快速概览
## 功能特性
- :material-text-box-search: **智能摘要**AI 驱动的内容分析
- :material-format-list-bulleted: **关键点**:提取重要信息
- :material-content-copy: **便捷复制**:一键复制摘要
- :material-tune: **长度可调**:可选择摘要详略程度
---
## 安装
1. 下载插件文件:[`summary.py`](https://github.com/Fu-Jie/awesome-openwebui/tree/main/plugins/actions/summary)
2. 上传到 OpenWebUI**Admin Panel** → **Settings****Functions**
3. 启用插件
---
## 使用方法
1. 获取一段较长的 AI 回复或粘贴长文本
2. 点击消息操作栏的 **Summary** 按钮
3. 查看生成的摘要与关键点
---
## 配置项
| 选项 | 类型 | 默认值 | 说明 |
|--------|------|---------|-------------|
| `summary_length` | string | `"medium"` | 摘要长度short/medium/long |
| `include_key_points` | boolean | `true` | 是否提取并列出关键点 |
| `language` | string | `"auto"` | 输出语言 |
---
## 输出示例
```markdown
## Summary
This document discusses the implementation of a new feature
for the application, focusing on user experience improvements
and performance optimizations.
### Key Points
- ✅ New user interface design improves accessibility
- ✅ Backend optimizations reduce load times by 40%
- ✅ Mobile responsiveness enhanced
- ✅ Integration with third-party services simplified
```
---
## 运行要求
!!! note "前置条件"
- OpenWebUI v0.3.0 及以上
- 使用当前会话的 LLM 模型进行摘要
---
## 源码
[:fontawesome-brands-github: 在 GitHub 查看](https://github.com/Fu-Jie/awesome-openwebui/tree/main/plugins/actions/summary){ .md-button }

View File

@@ -0,0 +1,122 @@
# Async Context Compression异步上下文压缩
<span class="category-badge filter">Filter</span>
<span class="version-badge">v1.0.0</span>
通过智能摘要减少长对话的 token 消耗,同时保持对话连贯。
---
## 概览
Async Context Compression 过滤器通过以下方式帮助管理长对话的 token 使用:
- 智能总结较早的消息
- 保留关键信息
- 降低 API 成本
- 保持对话一致性
特别适用于:
- 长时间会话
- 多轮复杂讨论
- 成本优化
- 上下文长度控制
## 功能特性
- :material-arrow-collapse-vertical: **智能压缩**AI 驱动的上下文摘要
- :material-clock-fast: **异步处理**:后台非阻塞压缩
- :material-memory: **保留上下文**:尽量保留重要信息
- :material-currency-usd-off: **降低成本**:减少 token 使用
---
## 安装
1. 下载插件文件:[`async_context_compression.py`](https://github.com/Fu-Jie/awesome-openwebui/tree/main/plugins/filters/async-context-compression)
2. 上传到 OpenWebUI**Admin Panel** → **Settings****Functions**
3. 配置压缩参数
4. 启用过滤器
---
## 工作原理
```mermaid
graph TD
A[Incoming Messages] --> B{Token Count > Threshold?}
B -->|No| C[Pass Through]
B -->|Yes| D[Summarize Older Messages]
D --> E[Preserve Recent Messages]
E --> F[Combine Summary + Recent]
F --> G[Send to LLM]
```
---
## 配置项
| 选项 | 类型 | 默认值 | 说明 |
|--------|------|---------|-------------|
| `token_threshold` | integer | `4000` | 超过该 token 数触发压缩 |
| `preserve_recent` | integer | `5` | 保留不压缩的最近消息数量 |
| `summary_model` | string | `"auto"` | 用于摘要的模型 |
| `compression_ratio` | float | `0.3` | 目标压缩比例 |
---
## 示例
### 压缩前
```
[Message 1] User: Tell me about Python...
[Message 2] AI: Python is a programming language...
[Message 3] User: What about its history?
[Message 4] AI: Python was created by Guido...
[Message 5] User: And its features?
[Message 6] AI: Python has many features...
... (many more messages)
[Message 20] User: Current question
```
### 压缩后
```
[Summary] Previous conversation covered Python basics,
history, features, and common use cases...
[Message 18] User: Recent question about decorators
[Message 19] AI: Decorators in Python are...
[Message 20] User: Current question
```
---
## 运行要求
!!! note "前置条件"
- OpenWebUI v0.3.0 及以上
- 需要可用的 LLM 用于摘要
!!! tip "最佳实践"
- 根据模型上下文窗口设置合适的 token 阈值
- 技术讨论可适当提高 `preserve_recent`
- 先在非关键对话中测试压缩效果
---
## 常见问题
??? question "没有触发压缩?"
检查 token 数是否超过配置的阈值,并开启调试日志了解细节。
??? question "重要上下文丢失?"
提高 `preserve_recent` 或降低压缩比例。
---
## 源码
[:fontawesome-brands-github: 在 GitHub 查看](https://github.com/Fu-Jie/awesome-openwebui/tree/main/plugins/filters/async-context-compression){ .md-button }

View File

@@ -0,0 +1,51 @@
# Context Enhancement上下文增强
<span class="category-badge filter">Filter</span>
<span class="version-badge">v1.0.0</span>
为聊天自动补充上下文信息,让 LLM 回复更相关、更准确。
---
## 概览
Context Enhancement 过滤器会自动为会话补充必要的上下文,使模型回答更加贴切。
## 功能特性
- :material-text-box-plus: **自动增强**:智能添加相关上下文
- :material-clock: **时间感知**:包含当前日期/时间信息
- :material-account: **用户上下文**:加入用户偏好或姓名等信息
- :material-cog: **可定制**:可配置要附加的上下文内容
---
## 安装
1. 下载插件文件:[`context_enhancement_filter.py`](https://github.com/Fu-Jie/awesome-openwebui/tree/main/plugins/filters/context_enhancement_filter)
2. 上传到 OpenWebUI**Admin Panel** → **Settings****Functions**
3. 配置增强选项
4. 启用过滤器
---
## 配置项
| 选项 | 类型 | 默认值 | 说明 |
|--------|------|---------|-------------|
| `include_datetime` | boolean | `true` | 是否添加当前日期时间 |
| `include_user_info` | boolean | `true` | 是否添加用户名和偏好 |
| `custom_context` | string | `""` | 始终附加的自定义上下文 |
---
## 运行要求
!!! note "前置条件"
- OpenWebUI v0.3.0 及以上
---
## 源码
[:fontawesome-brands-github: 在 GitHub 查看](https://github.com/Fu-Jie/awesome-openwebui/tree/main/plugins/filters/context_enhancement_filter){ .md-button }

View File

@@ -0,0 +1,54 @@
# Gemini Manifold Companion
<span class="category-badge filter">Filter</span>
<span class="version-badge">v1.0.0</span>
Gemini Manifold Pipe 的伴随过滤器,用于增强 Gemini 集成的处理效果。
---
## 概览
Gemini Manifold Companion 与 [Gemini Manifold Pipe](../pipes/gemini-manifold.md) 搭配使用,为 Gemini 模型集成提供额外的处理与优化。
## 功能特性
- :material-handshake: **无缝协同**:与 Gemini Manifold Pipe 配合工作
- :material-format-text: **消息格式化**:针对 Gemini 优化消息
- :material-shield: **错误处理**:更友好的 API 异常处理
- :material-tune: **精细配置**:提供额外调优选项
---
## 安装
1. 先安装 [Gemini Manifold Pipe](../pipes/gemini-manifold.md)
2. 下载伴随过滤器:[`gemini_manifold_companion.py`](https://github.com/Fu-Jie/awesome-openwebui/tree/main/plugins/filters/gemini_manifold_companion)
3. 上传到 OpenWebUI**Admin Panel** → **Settings****Functions**
4. 启用过滤器
---
## 配置项
| 选项 | 类型 | 默认值 | 说明 |
|--------|------|---------|-------------|
| `auto_format` | boolean | `true` | 为 Gemini 自动格式化消息 |
| `handle_errors` | boolean | `true` | 开启错误处理 |
---
## 运行要求
!!! warning "依赖"
本过滤器需要先安装并配置 **Gemini Manifold Pipe**
!!! note "前置条件"
- OpenWebUI v0.3.0 及以上
- 已安装 Gemini Manifold Pipe
---
## 源码
[:fontawesome-brands-github: 在 GitHub 查看](https://github.com/Fu-Jie/awesome-openwebui/tree/main/plugins/filters/gemini_manifold_companion){ .md-button }

View File

@@ -0,0 +1,155 @@
# Filter 插件
Filter 插件会在消息发送到 LLM 之前或响应生成之后处理和修改内容。
## 什么是 Filters
Filter 充当消息管线中的中间件:
- :material-arrow-right-bold: **Inlet**:在消息到达 LLM 前处理用户消息
- :material-arrow-left-bold: **Outlet**:在展示前处理 LLM 响应
- :material-stream: **Stream**:对流式响应进行实时处理
---
## 可用的 Filter 插件
<div class="grid cards" markdown>
- :material-compress:{ .lg .middle } **Async Context Compression**
---
通过智能总结减少长对话的 token 消耗,同时保持连贯性。
**版本:** 1.0.0
[:octicons-arrow-right-24: 查看文档](async-context-compression.md)
- :material-text-box-plus:{ .lg .middle } **Context Enhancement**
---
为聊天增加额外信息,提升回复质量。
**版本:** 1.0.0
[:octicons-arrow-right-24: 查看文档](context-enhancement.md)
- :material-google:{ .lg .middle } **Gemini Manifold Companion**
---
Gemini Manifold Pipe 插件的伴随过滤器。
**版本:** 1.0.0
[:octicons-arrow-right-24: 查看文档](gemini-manifold-companion.md)
</div>
---
## Filter 工作流程
```mermaid
graph LR
A[User Message] --> B[Inlet Filter]
B --> C[LLM]
C --> D[Outlet Filter]
D --> E[Display to User]
```
### Inlet 处理
`inlet` 方法在消息到达 LLM 前处理:
```python
async def inlet(self, body: dict, __metadata__: dict) -> dict:
# 在发送到 LLM 前修改请求
messages = body.get("messages", [])
# 添加上下文、调整 prompt 等
return body
```
### Outlet 处理
`outlet` 方法在响应生成后处理:
```python
async def outlet(self, body: dict, __metadata__: dict) -> dict:
# 在展示前修改响应
messages = body.get("messages", [])
# 格式化输出、追加引用等
return body
```
---
## 快速安装
1. 下载需要的 Filter `.py` 文件
2. 前往 **Admin Panel****Settings****Functions**
3. 上传文件并配置
4. 在聊天设置或全局启用该过滤器
---
## 开发模板
```python
"""
title: My Custom Filter
author: Your Name
version: 1.0.0
description: Description of your filter plugin
"""
from pydantic import BaseModel, Field
from typing import Optional
class Filter:
class Valves(BaseModel):
priority: int = Field(
default=0,
description="Filter priority (lower = earlier execution)"
)
enabled: bool = Field(
default=True,
description="Enable/disable this filter"
)
def __init__(self):
self.valves = self.Valves()
async def inlet(
self,
body: dict,
__user__: Optional[dict] = None,
__metadata__: Optional[dict] = None
) -> dict:
"""Process messages before sending to LLM."""
if not self.valves.enabled:
return body
# 你的 inlet 逻辑
messages = body.get("messages", [])
return body
async def outlet(
self,
body: dict,
__user__: Optional[dict] = None,
__metadata__: Optional[dict] = None
) -> dict:
"""Process responses before displaying."""
if not self.valves.enabled:
return body
# 你的 outlet 逻辑
return body
```
更多细节见 [插件开发指南](../../development/plugin-guide.md)。

93
docs/plugins/index.zh.md Normal file
View File

@@ -0,0 +1,93 @@
# 插件中心
欢迎来到 OpenWebUI Extras 插件中心!在这里你可以找到完整的插件集合,帮助你强化 OpenWebUI 的体验。
## 插件类型
OpenWebUI 支持四种类型的插件,每种都有不同的用途:
<div class="grid cards" markdown>
- :material-gesture-tap:{ .lg .middle } **Actions动作**
---
在消息下方添加自定义按钮,一键触发思维导图、数据导出或可视化等操作。
[:octicons-arrow-right-24: 浏览 Actions](actions/index.md)
- :material-filter:{ .lg .middle } **Filters过滤器**
---
在请求到达 LLM 之前或响应生成之后处理和修改消息,适合做上下文增强和压缩。
[:octicons-arrow-right-24: 浏览 Filters](filters/index.md)
- :material-pipe:{ .lg .middle } **Pipes管道**
---
创建自定义模型集成或转换 LLM 响应,可连接外部 API 或自定义模型逻辑。
[:octicons-arrow-right-24: 浏览 Pipes](pipes/index.md)
- :material-pipe-wrench:{ .lg .middle } **Pipelines流水线**
---
将多步处理组合为复杂工作流,适合需要多阶段转换的高级场景。
[:octicons-arrow-right-24: 浏览 Pipelines](pipelines/index.md)
</div>
---
## 插件总览
| 插件 | 类型 | 描述 | 版本 |
|--------|------|-------------|---------|
| [Smart Mind Map智能思维导图](actions/smart-mind-map.md) | Action | 从文本生成交互式思维导图 | 0.7.2 |
| [Smart Infographic智能信息图](actions/smart-infographic.md) | Action | 将文本转成专业信息图 | 1.0.0 |
| [Knowledge Card知识卡片](actions/knowledge-card.md) | Action | 生成精美学习卡片 | 0.2.0 |
| [Export to Excel导出到 Excel](actions/export-to-excel.md) | Action | 导出聊天记录为 Excel | 1.0.0 |
| [Summary摘要](actions/summary.md) | Action | 文本摘要工具 | 1.0.0 |
| [Async Context Compression异步上下文压缩](filters/async-context-compression.md) | Filter | 智能上下文压缩 | 1.0.0 |
| [Context Enhancement上下文增强](filters/context-enhancement.md) | Filter | 提升对话上下文 | 1.0.0 |
| [Gemini Manifold Companion](filters/gemini-manifold-companion.md) | Filter | Gemini Manifold 伴侣 | 1.0.0 |
| [Gemini Manifold](pipes/gemini-manifold.md) | Pipe | Gemini 模型集成 | 1.0.0 |
| [MoE Prompt Refiner](pipelines/moe-prompt-refiner.md) | Pipeline | 多模型提示词优化 | 1.0.0 |
---
## 安装指南
### 步骤 1下载插件
点击上方任意插件,查看文档并下载对应的 `.py` 文件。
### 步骤 2上传到 OpenWebUI
1. 打开 OpenWebUI进入 **Admin Panel****Settings****Functions**
2. 点击 **+** 按钮添加新的 Function
3. 上传下载好的 `.py` 文件
4. 配置必要的设置(如 API Key、选项等
### 步骤 3启用并使用
1. 上传后刷新页面
2. **Actions**:在消息操作栏中找到插件按钮
3. **Filters**:在聊天设置或全局启用
4. **Pipes**:在模型下拉中选择自定义模型
5. **Pipelines**:在流水线设置中配置并启用
---
## 兼容性提示
!!! info "OpenWebUI 版本"
本仓库的大多数插件面向 **OpenWebUI v0.3.0** 及以上版本。具体要求请查看各插件文档。
!!! warning "依赖说明"
部分插件可能需要额外的 Python 依赖,请查看对应插件文档确认。

View File

@@ -0,0 +1,63 @@
# Pipeline 插件
Pipeline 是组合多步处理的复杂工作流,适用于高级场景。
## 什么是 Pipelines
Pipelines 不仅是简单转换,还可以实现:
- :material-workflow: 多步骤处理流程
- :material-source-merge: 模型编排
- :material-robot-industrial: 高级智能体行为
- :material-cog-box: 复杂业务逻辑
---
## 可用的 Pipeline 插件
<div class="grid cards" markdown>
- :material-view-module:{ .lg .middle } **MoE Prompt Refiner**
---
为 Mixture of ExpertsMoE汇总请求优化提示词生成高质量综合报告。
**版本:** 1.0.0
[:octicons-arrow-right-24: 查看文档](moe-prompt-refiner.md)
</div>
---
## Pipelines 的区别
| 特性 | Filters | Pipes | Pipelines |
|---------|---------|-------|-----------|
| 复杂度 | 低 | 中 | 高 |
| 主要用途 | 消息处理 | 模型集成 | 多步工作流 |
| 执行方式 | LLM 前后 | 作为 LLM | 自定义编排 |
| 依赖 | 极少 | API 访问 | 往往多个服务 |
---
## 快速安装
1. 下载 Pipeline `.py` 文件
2. 前往 **Admin Panel****Settings****Functions**
3. 上传并配置所需服务
4. 启用该 Pipeline
---
## 开发注意事项
Pipeline 通常需要:
- 多个 API 集成
- 跨步骤的状态管理
- 每一步的错误处理
- 性能优化
详见 [插件开发指南](../../development/plugin-guide.md)。

View File

@@ -0,0 +1,109 @@
# MoE Prompt Refiner
<span class="category-badge pipeline">Pipeline</span>
<span class="version-badge">v1.0.0</span>
为 Mixture of ExpertsMoE汇总请求优化提示词生成高质量的综合报告。
---
## 概览
MoE Prompt Refiner 是一个高级 Pipeline会在将请求发送给多个专家模型前先优化提示词然后综合各模型回复输出结构化的高质量报告。
## 功能特性
- :material-view-module: **多模型**:同时利用多个 AI 模型
- :material-text-search: **提示词优化**:在发送前优化 prompt 获得更好结果
- :material-merge: **结果合成**:整合专家回复
- :material-file-document: **报告生成**:输出结构化报告
---
## 安装
1. 下载 Pipeline 文件:[`moe_prompt_refiner.py`](https://github.com/Fu-Jie/awesome-openwebui/tree/main/plugins/pipelines)
2. 上传到 OpenWebUI**Admin Panel** → **Settings****Functions**
3. 配置专家模型及相关参数
4. 启用该 Pipeline
---
## 工作流程
```mermaid
graph TD
A[User Prompt] --> B[Prompt Refiner]
B --> C[Expert Model 1]
B --> D[Expert Model 2]
B --> E[Expert Model N]
C --> F[Response Synthesizer]
D --> F
E --> F
F --> G[Comprehensive Report]
```
---
## 配置项
| 选项 | 类型 | 默认值 | 说明 |
|--------|------|---------|-------------|
| `expert_models` | list | `[]` | 需要咨询的模型列表 |
| `synthesis_model` | string | `"auto"` | 用于综合回复的模型 |
| `report_format` | string | `"markdown"` | 输出格式 |
---
## 适用场景
- **研究报告**:从多个 AI 视角收集洞见
- **综合分析**:多角度问题拆解
- **决策支持**:获得多模型的平衡建议
- **内容创作**:生成多视角的丰富内容
---
## 示例
**输入 Prompt**
```
Analyze the pros and cons of microservices architecture
```
**输出报告:**
```markdown
# Microservices Architecture Analysis
## Executive Summary
Based on analysis from multiple expert perspectives...
## Advantages
1. **Scalability** (Expert A)...
2. **Technology Flexibility** (Expert B)...
## Disadvantages
1. **Complexity** (Expert A)...
2. **Distributed System Challenges** (Expert C)...
## Recommendations
Synthesized recommendations based on expert consensus...
```
---
## 运行要求
!!! note "前置条件"
- OpenWebUI v0.3.0 及以上
- 可以访问多个 LLM 模型
- 有足够的 API 配额支撑多模型请求
!!! warning "资源消耗"
此 Pipeline 每次请求会进行多次 API 调用,请关注用量与成本。
---
## 源码
[:fontawesome-brands-github: 在 GitHub 查看](https://github.com/Fu-Jie/awesome-openwebui/tree/main/plugins/pipelines){ .md-button }

View File

@@ -0,0 +1,106 @@
# Gemini Manifold
<span class="category-badge pipe">Pipe</span>
<span class="version-badge">v1.0.0</span>
面向 Google Gemini 模型的集成流水线,支持完整流式返回。
---
## 概览
Gemini Manifold Pipe 提供与 Google Gemini AI 模型的无缝集成。它会将 Gemini 模型作为可选项暴露在 OpenWebUI 中,你可以像使用其他模型一样使用它们。
## 功能特性
- :material-google: **完整 Gemini 支持**:可使用所有 Gemini 模型变体
- :material-stream: **流式输出**:实时流式响应
- :material-image: **多模态**:支持图像与文本
- :material-shield: **错误处理**:健壮的错误管理
- :material-tune: **可配置**:可自定义模型参数
---
## 安装
1. 下载插件文件:[`gemini_manifold.py`](https://github.com/Fu-Jie/awesome-openwebui/tree/main/plugins/pipes/gemini_mainfold)
2. 上传到 OpenWebUI**Admin Panel** → **Settings****Functions**
3. 配置你的 Gemini API Key
4. 在模型下拉中选择 Gemini 模型
---
## 配置
| 选项 | 类型 | 是否必填 | 说明 |
|--------|------|----------|-------------|
| `GEMINI_API_KEY` | string | 是 | 你的 Google AI Studio API Key |
| `DEFAULT_MODEL` | string | 否 | 默认使用的 Gemini 模型 |
| `TEMPERATURE` | float | 否 | 输出温度0-1 |
| `MAX_TOKENS` | integer | 否 | 最大回复 token 数 |
---
## 可用模型
配置完成后,你可以选择以下模型:
- `gemini-pro` —— 纯文本模型
- `gemini-pro-vision` —— 多模态模型
- `gemini-1.5-pro` —— 最新 Pro 模型
- `gemini-1.5-flash` —— 快速响应模型
---
## 使用方法
1. 安装后进入任意对话
2. 打开模型选择下拉
3. 查找以 Pipe 名称前缀的模型
4. 选择 Gemini 模型
5. 开始聊天!
---
## 获取 API Key
1. 访问 [Google AI Studio](https://makersuite.google.com/app/apikey)
2. 创建新的 API Key
3. 复制并粘贴到插件配置中
!!! warning "API Key 安全"
请妥善保管你的 API Key不要公开或提交到版本库。
---
## 伴随过滤器
如需增强功能,可安装 [Gemini Manifold Companion](../filters/gemini-manifold-companion.md) 过滤器。
---
## 运行要求
!!! note "前置条件"
- OpenWebUI v0.3.0 及以上
- 有效的 Gemini API Key
- 可访问 Google AI API 的网络
---
## 常见问题
??? question "模型没有出现?"
请确认 API Key 配置正确且插件已启用。
??? question "出现 API 错误?"
检查 Google AI Studio 中的 Key 有效性和额度限制。
??? question "响应较慢?"
可尝试使用 `gemini-1.5-flash` 获得更快速度。
---
## 源码
[:fontawesome-brands-github: 在 GitHub 查看](https://github.com/Fu-Jie/awesome-openwebui/tree/main/plugins/pipes/gemini_mainfold){ .md-button }

View File

@@ -0,0 +1,133 @@
# Pipe 插件
Pipe 插件用于创建自定义模型集成或转换 LLM 响应,会在 OpenWebUI 的模型下拉中显示。
## 什么是 Pipes
Pipes 可以用于:
- :material-api: 连接外部 AI APIGemini、Claude 等)
- :material-robot: 创建自定义模型封装
- :material-cog-transfer: 变换请求与响应
- :material-middleware: 实现中间件逻辑
---
## 可用的 Pipe 插件
<div class="grid cards" markdown>
- :material-google:{ .lg .middle } **Gemini Manifold**
---
面向 Google Gemini 的集成流水线,支持完整流式返回。
**版本:** 1.0.0
[:octicons-arrow-right-24: 查看文档](gemini-manifold.md)
</div>
---
## 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)。