Compare commits
122 Commits
v2026.02.0
...
v2026.02.2
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
adc5e0a1f4 | ||
|
|
04b8108890 | ||
|
|
f1ba03e3bd | ||
|
|
cdd9950973 | ||
|
|
473012fa6f | ||
|
|
1bbddb2222 | ||
|
|
dc66610cb2 | ||
|
|
655b5311cf | ||
|
|
4390ee2085 | ||
|
|
6bf3656d30 | ||
|
|
bfb2039095 | ||
|
|
86091f77cf | ||
|
|
eb223e3e75 | ||
|
|
d1bbbd9071 | ||
|
|
840c77ea2f | ||
|
|
91ba7df086 | ||
|
|
fa636c7bc5 | ||
|
|
a5ad295d38 | ||
|
|
e1f70d52a5 | ||
|
|
015c22063a | ||
|
|
0ea95ceefa | ||
|
|
1192c71453 | ||
|
|
0b5663636f | ||
|
|
1736a1bfbf | ||
|
|
d7c25aa973 | ||
|
|
d71b4a7351 | ||
|
|
a05697df70 | ||
|
|
b355c3f0c1 | ||
|
|
30f2aed68a | ||
|
|
50c549b260 | ||
|
|
2a75580831 | ||
|
|
4032746243 | ||
|
|
871e76b1df | ||
|
|
954ebad8b2 | ||
|
|
fa5d962152 | ||
|
|
2ac8d4b14f | ||
|
|
c86b27a0c1 | ||
|
|
2381c5080e | ||
|
|
0394be7d16 | ||
|
|
7c9bf4082a | ||
|
|
8621d178ae | ||
|
|
20a7d57b5b | ||
|
|
8f72e25671 | ||
|
|
b7e62e63e0 | ||
|
|
bbccffa95b | ||
|
|
b9104702ac | ||
|
|
015b0d98ec | ||
|
|
fc56ea7faa | ||
|
|
e1c2261537 | ||
|
|
93e8e3bee2 | ||
|
|
1fb2cccd58 | ||
|
|
b34ce0b075 | ||
|
|
49efcb7e4d | ||
|
|
8d334a48b9 | ||
|
|
16882bf9e5 | ||
|
|
dc0366aab2 | ||
|
|
6d080d3a28 | ||
|
|
e50a55ee11 | ||
|
|
edbd75e5dc | ||
|
|
387ca8788b | ||
|
|
cfb15808ef | ||
|
|
0424521380 | ||
|
|
c2ea3b2479 | ||
|
|
a96a588141 | ||
|
|
f34da0b263 | ||
|
|
80dce6e1de | ||
|
|
080534d03b | ||
|
|
a63d3e89ff | ||
|
|
0b9c242c0f | ||
|
|
6f7ae4a304 | ||
|
|
571adf33c5 | ||
|
|
813e2b8320 | ||
|
|
21ec586c68 | ||
|
|
e95a786420 | ||
|
|
7773723b18 | ||
|
|
c547c1cee5 | ||
|
|
b04112a261 | ||
|
|
df977a7ccc | ||
|
|
3986eb854f | ||
|
|
fe170bedb9 | ||
|
|
3504313f15 | ||
|
|
e5e0f4cbcc | ||
|
|
a7b244602f | ||
|
|
3343e73848 | ||
|
|
7ab3e51d6f | ||
|
|
303d21c73d | ||
|
|
054af87e6e | ||
|
|
991570d025 | ||
|
|
5a5261d184 | ||
|
|
8cdc7723d2 | ||
|
|
a167f51026 | ||
|
|
03ff69f9e0 | ||
|
|
62c69a9a41 | ||
|
|
9bf2a5d2a2 | ||
|
|
13aed46c05 | ||
|
|
02a1668979 | ||
|
|
9760ccb243 | ||
|
|
e2c705fe15 | ||
|
|
37c7bf73c0 | ||
|
|
447e791ab6 | ||
|
|
cde685a364 | ||
|
|
b00206b063 | ||
|
|
e0a838e512 | ||
|
|
b9f4f5f1d6 | ||
|
|
c1afd1fa23 | ||
|
|
eaeaadaf12 | ||
|
|
ee70c6629e | ||
|
|
692971c93c | ||
|
|
e17818bf6c | ||
|
|
c5c9fd9d57 | ||
|
|
5c9875d390 | ||
|
|
9185f88d40 | ||
|
|
1fcad993ea | ||
|
|
1594ea3a20 | ||
|
|
ee681ddad9 | ||
|
|
881597fd51 | ||
|
|
5772b1c65f | ||
|
|
3d4b4b96e8 | ||
|
|
409d2f663f | ||
|
|
de9948a5b0 | ||
|
|
0a51b4cfca | ||
|
|
f8eb096300 |
@@ -12,19 +12,22 @@ All plugins MUST follow the standard README template.
|
||||
**Reference Template**: @docs/PLUGIN_README_TEMPLATE.md
|
||||
|
||||
### Language Requirements
|
||||
|
||||
- **English Version (`README.md`)**: The primary documentation source. Must follow the template strictly.
|
||||
- **Chinese Version (`README_CN.md`)**: MUST be translated based on the English version (`README.md`) to ensure consistency in structure and content.
|
||||
|
||||
### Metadata Requirements
|
||||
|
||||
The metadata line must follow this format:
|
||||
`**Author:** [Name](Link) | **Version:** [X.Y.Z] | **Project:** [Awesome OpenWebUI](https://github.com/Fu-Jie/awesome-openwebui) | **License:** MIT`
|
||||
`**Author:** [Name](Link) | **Version:** [X.Y.Z] | **Project:** [OpenWebUI Extensions](https://github.com/Fu-Jie/openwebui-extensions) | **License:** MIT`
|
||||
|
||||
### Structure Checklist
|
||||
1. **Title & Description**
|
||||
2. **Metadata Line** (Author, Version, Project, License)
|
||||
3. **Preview** (Screenshots/GIFs)
|
||||
4. **What's New** (Keep last 3 versions)
|
||||
5. **Key Features**
|
||||
6. **How to Use**
|
||||
7. **Configuration (Valves)**
|
||||
8. **Troubleshooting** (Must include link to GitHub Issues)
|
||||
|
||||
1. **Title & Description**
|
||||
2. **Metadata Line** (Author, Version, Project, License)
|
||||
3. **Preview** (Screenshots/GIFs)
|
||||
4. **What's New** (Keep last 3 versions)
|
||||
5. **Key Features**
|
||||
6. **How to Use**
|
||||
7. **Configuration (Valves)**
|
||||
8. **Troubleshooting** (Must include link to GitHub Issues)
|
||||
|
||||
@@ -4,7 +4,7 @@ description: OpenWebUI Plugin Development & Release Workflow
|
||||
|
||||
# OpenWebUI Plugin Development Workflow
|
||||
|
||||
This workflow outlines the standard process for developing, documenting, and releasing plugins for OpenWebUI, ensuring compliance with project standards and CI/CD requirements.
|
||||
This workflow outlines the standard process for developing, documenting, and releasing plugins for OpenWebUI. **Crucially, the default goal of this workflow is "Preparation" (updating all relevant files) rather than automatic "Submission" (git commit/push), unless a release is explicitly requested.**
|
||||
|
||||
## 1. Development Standards
|
||||
|
||||
@@ -12,11 +12,11 @@ Reference: `.github/copilot-instructions.md`
|
||||
|
||||
### Bilingual Requirement
|
||||
|
||||
Every plugin **MUST** have bilingual versions for both code and documentation:
|
||||
Every plugin **MUST** have a single internationalized code file and bilingual documentation:
|
||||
|
||||
- **Code**:
|
||||
- English: `plugins/{type}/{name}/{name}.py`
|
||||
- Chinese: `plugins/{type}/{name}/{name_cn}.py` (or `中文名.py`)
|
||||
- **Code (i18n)**:
|
||||
- `plugins/{type}/{name}/{name}.py`
|
||||
- The single `.py` file must implement internal i18n (e.g., using `navigator.language` or backend headers) to support multiple languages natively, rather than splitting into separate files.
|
||||
- **README**:
|
||||
- English: `plugins/{type}/{name}/README.md`
|
||||
- Chinese: `plugins/{type}/{name}/README_CN.md`
|
||||
@@ -45,8 +45,12 @@ When adding or updating a plugin, you **MUST** update the following documentatio
|
||||
|
||||
### Plugin Directory
|
||||
|
||||
- `README.md`: Update version, description, and usage. **Explicitly describe new features in a prominent position at the beginning.**
|
||||
- `README_CN.md`: Update version, description, and usage. **Explicitly describe new features in a prominent position at the beginning.**
|
||||
- `README.md`: Update version, description, and usage.
|
||||
- **Key Capabilities**: **MUST** include ALL core functionalities and features. This is a cumulative section. Every release **MUST** verify that basic core descriptions are NOT lost or overwritten by new feature lists.
|
||||
- **What's New**: Explicitly describe only the latest changes/updates in a prominent position at the beginning. This section is dynamic and changes with versions.
|
||||
- `README_CN.md`: Update version, description, and usage.
|
||||
- **核心功能 (Key Capabilities)**: **必须**包含所有核心功能和特性。这是一个累积性的部分,每次版本更新**必须**确认基础核心功能的描述没有丢失或被新功能列表覆盖。
|
||||
- **最新更新 (What's New)**: 在开头显眼位置明确描述最新的更改/更新。此部分是动态的,随版本变化。
|
||||
|
||||
### Global Documentation (`docs/`)
|
||||
|
||||
@@ -73,16 +77,17 @@ Reference: `.github/workflows/release.yml`
|
||||
- **When to Bump**: Only update the version when:
|
||||
- User says "发布" / "release" / "bump version"
|
||||
- User explicitly asks to prepare for release
|
||||
- **Agent Initiative**: After completing significant changes (new features, bug fixes, or multiple code modifications), the agent **SHOULD proactively ask** the user if they want to release a new version. If confirmed, update all version-related files.
|
||||
- **Agent Initiative**: After completing significant changes (new features, bug fixes, or multiple code modifications), the agent **SHOULD proactively ask** the user if they want to **prepare a new version** for release.
|
||||
- **Release Information Compliance**: When a release is requested, the agent must generate a standard release summary (English commit title + bilingual bullet points) as defined in Section 3 & 5.
|
||||
- **Default Action (Prepare Only)**: When performing a version bump or update, the agent should update all files locally but **STOP** before committing. Present the changes and the **proposed Release/Commit Message** to the user and wait for explicit confirmation to commit/push.
|
||||
- **Consistency**: When bumping, update version in **ALL** locations:
|
||||
1. English Code (`.py`)
|
||||
2. Chinese Code (`.py`)
|
||||
3. English README (`README.md`)
|
||||
4. Chinese README (`README_CN.md`)
|
||||
5. Docs Index (`docs/.../index.md`)
|
||||
6. Docs Index CN (`docs/.../index.zh.md`)
|
||||
7. Docs Detail (`docs/.../{name}.md`)
|
||||
8. Docs Detail CN (`docs/.../{name}.zh.md`)
|
||||
1. Code (`.py`)
|
||||
2. English README (`README.md`)
|
||||
3. Chinese README (`README_CN.md`)
|
||||
4. Docs Index (`docs/.../index.md`)
|
||||
5. Docs Index CN (`docs/.../index.zh.md`)
|
||||
6. Docs Detail (`docs/.../{name}.md`)
|
||||
7. Docs Detail CN (`docs/.../{name}.zh.md`)
|
||||
|
||||
### Automated Release Process
|
||||
|
||||
@@ -99,8 +104,23 @@ Reference: `.github/workflows/release.yml`
|
||||
- **Auto-Sync**: If a local plugin has no ID but matches an existing published plugin by **Title**, the script will automatically fetch the ID, update the local file, and proceed with the update.
|
||||
- Requirement: `OPENWEBUI_API_KEY` secret must be set.
|
||||
- **README Link**: When announcing a release, always include the GitHub README URL for the plugin:
|
||||
- Format: `https://github.com/Fu-Jie/awesome-openwebui/blob/main/plugins/{type}/{name}/README.md`
|
||||
- Example: `https://github.com/Fu-Jie/awesome-openwebui/blob/main/plugins/filters/folder-memory/README.md`
|
||||
- Format: `https://github.com/Fu-Jie/openwebui-extensions/blob/main/plugins/{type}/{name}/README.md`
|
||||
- Example: `https://github.com/Fu-Jie/openwebui-extensions/blob/main/plugins/filters/folder-memory/README.md`
|
||||
|
||||
### Release Content Standard
|
||||
|
||||
When the user confirms a release, the agent **MUST** follow these content standards:
|
||||
|
||||
1. **Commit Message**:
|
||||
- **Language**: English ONLY.
|
||||
- **Format**: `type(scope): description` (e.g., `feat(pipes): add streaming support for Copilot SDK`).
|
||||
- **Body**: List 1-3 key changes in bullet points.
|
||||
2. **Release Summary (for user review)**:
|
||||
- Before committing, present a "Release Draft" containing:
|
||||
- **Title**: e.g., `Release v0.1.1: [Plugin Name] - [Brief Summary]`
|
||||
- **Changelog**: English-only list of commits since the last release, including hashes (e.g., `896de02 docs(config): reorder antigravity model alias example`).
|
||||
- **Verification Status**: Confirm all 7+ files have been updated and synced.
|
||||
3. **Internal Documentation**: Ensure "What's New" sections in READMEs and `docs/` match exactly the changes being released.
|
||||
|
||||
### Pull Request Check
|
||||
|
||||
@@ -113,13 +133,17 @@ Reference: `.github/workflows/release.yml`
|
||||
|
||||
Before committing:
|
||||
|
||||
- [ ] Code is bilingual and functional?
|
||||
- [ ] Code is internal i18n supported (`.py`) and fully functional?
|
||||
- [ ] Docstrings have updated version?
|
||||
- [ ] READMEs are updated and bilingual?
|
||||
- [ ] **Key Capabilities** in READMEs still cover all legacy core features + new features?
|
||||
- [ ] `docs/` index and detail pages are updated?
|
||||
- [ ] Root `README.md` is updated?
|
||||
- [ ] All version numbers match exactly?
|
||||
|
||||
## 5. Git Operations (Agent Rules)
|
||||
|
||||
Strictly follow the rules defined in `.github/copilot-instructions.md` → **Git Operations (Agent Rules)** section.
|
||||
1. **Prepare-on-Demand**: Focus on file modifications and local verification first.
|
||||
2. **No Auto-Commit**: Never `git commit`, `git push`, or `create_pull_request` automatically after file updates unless the user explicitly says "commit this" or "release now".
|
||||
3. **Draft Mode**: If available, use PRs as drafts first.
|
||||
4. **Reference**: Strictly follow the rules defined in `.github/copilot-instructions.md` → **Git Operations (Agent Rules)** section.
|
||||
|
||||
@@ -45,12 +45,21 @@
|
||||
"contributions": [
|
||||
"ideas"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "abaroni",
|
||||
"name": "Alessandro Baroni",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/21365486?v=4",
|
||||
"profile": "https://github.com/abaroni",
|
||||
"contributions": [
|
||||
"ideas"
|
||||
]
|
||||
}
|
||||
],
|
||||
"contributorsPerLine": 7,
|
||||
"skipCi": true,
|
||||
"repoType": "github",
|
||||
"repoHost": "https://github.com",
|
||||
"projectName": "awesome-openwebui",
|
||||
"projectName": "openwebui-extensions",
|
||||
"projectOwner": "Fu-Jie"
|
||||
}
|
||||
}
|
||||
123
.github/copilot-instructions.md
vendored
123
.github/copilot-instructions.md
vendored
@@ -1,4 +1,4 @@
|
||||
# Copilot Instructions for awesome-openwebui
|
||||
# Copilot Instructions for openwebui-extensions
|
||||
|
||||
本文档定义了 OpenWebUI 插件开发的标准规范和最佳实践。Copilot 在生成代码或文档时应遵循这些准则。
|
||||
|
||||
@@ -8,27 +8,26 @@ This document defines the standard conventions and best practices for OpenWebUI
|
||||
|
||||
## 🏗️ 项目结构与命名 (Project Structure & Naming)
|
||||
|
||||
### 1. 双语版本要求 (Bilingual Version Requirements)
|
||||
### 1. 语言与代码规范 (Language & Code Requirements)
|
||||
|
||||
#### 插件代码 (Plugin Code)
|
||||
|
||||
每个插件必须提供两个版本:
|
||||
每个插件**必须**采用单文件国际化 (i18n) 设计。严禁为不同语言创建独立的源代码文件(如 `_cn.py`)。
|
||||
|
||||
1. **英文版本**: `plugin_name.py` - 英文界面、提示词和注释
|
||||
2. **中文版本**: `plugin_name_cn.py` - 中文界面、提示词和注释
|
||||
1. **单代码文件**: `plugins/{type}/{name}/{name}.py`
|
||||
2. **内置 i18n**: 必须在代码中根据前端传来的用户语言(如 `__user__` 中的 `language` 或通过 `get_user_language` 脚本读取)动态切换界面显示、提示词和状态日志。
|
||||
|
||||
示例:
|
||||
示例目录结构:
|
||||
```
|
||||
plugins/actions/export_to_docx/
|
||||
├── export_to_word.py # English version
|
||||
├── export_to_word_cn.py # Chinese version
|
||||
├── README.md # English documentation
|
||||
└── README_CN.md # Chinese documentation
|
||||
├── export_to_word.py # 单个代码文件,内置多语言支持
|
||||
├── README.md # 英文文档 (English documentation)
|
||||
└── README_CN.md # 中文文档
|
||||
```
|
||||
|
||||
#### 文档 (Documentation)
|
||||
|
||||
每个插件目录必须包含双语 README 文件:
|
||||
尽管代码是合一的,但为了市场展示和 SEO,每个插件目录仍**必须**包含双语 README 文件:
|
||||
|
||||
- `README.md` - English documentation
|
||||
- `README_CN.md` - 中文文档
|
||||
@@ -39,7 +38,7 @@ plugins/actions/export_to_docx/
|
||||
|
||||
1. **标题 (Title)**: 插件名称,带 Emoji 图标
|
||||
2. **元数据 (Metadata)**: 作者、版本、项目链接 (一行显示)
|
||||
- 格式: `**Author:** [Fu-Jie](https://github.com/Fu-Jie) | **Version:** x.x.x | **Project:** [Awesome OpenWebUI](https://github.com/Fu-Jie/awesome-openwebui)`
|
||||
- 格式: `**Author:** [Fu-Jie](https://github.com/Fu-Jie) | **Version:** x.x.x | **Project:** [OpenWebUI Extensions](https://github.com/Fu-Jie/openwebui-extensions)`
|
||||
- **注意**: Author 和 Project 为固定值,仅需更新 Version 版本号
|
||||
3. **描述 (Description)**: 一句话功能介绍
|
||||
4. **最新更新 (What's New)**: **必须**放在描述之后,仅展示**最近 1 次**更新
|
||||
@@ -47,8 +46,8 @@ plugins/actions/export_to_docx/
|
||||
6. **使用方法 (How to Use)**: 按步骤说明
|
||||
7. **配置参数 (Configuration/Valves)**: 使用表格格式,包含参数名、默认值、描述
|
||||
8. **支持 (Support)**: **必须**包含,放在配置参数之后、故障排除之前
|
||||
- English: `If this plugin has been useful, a star on [Awesome OpenWebUI](https://github.com/Fu-Jie/awesome-openwebui) is a big motivation for me. Thank you for the support.`
|
||||
- 中文: `如果这个插件对你有帮助,欢迎到 [Awesome OpenWebUI](https://github.com/Fu-Jie/awesome-openwebui) 点个 Star,这将是我持续改进的动力,感谢支持。`
|
||||
- English: `If this plugin has been useful, a star on [OpenWebUI Extensions](https://github.com/Fu-Jie/openwebui-extensions) is a big motivation for me. Thank you for the support.`
|
||||
- 中文: `如果这个插件对你有帮助,欢迎到 [OpenWebUI Extensions](https://github.com/Fu-Jie/openwebui-extensions) 点个 Star,这将是我持续改进的动力,感谢支持。`
|
||||
9. **其他 (Others)**: 支持的模板类型、语法示例、故障排除等
|
||||
- **Changelog**: 统一指向 GitHub 项目历史,不在 README 中列出具体变更
|
||||
|
||||
@@ -58,12 +57,10 @@ plugins/actions/export_to_docx/
|
||||
plugins/
|
||||
├── actions/ # Action 插件 (用户触发的功能)
|
||||
│ ├── my_action/
|
||||
│ │ ├── my_action.py # English version
|
||||
│ │ ├── 我的动作.py # Chinese version
|
||||
│ │ ├── my_action.py # 单文件,内置 i18n
|
||||
│ │ ├── README.md # English documentation
|
||||
│ │ └── README_CN.md # Chinese documentation
|
||||
│ ├── ACTION_PLUGIN_TEMPLATE.py # English template
|
||||
│ ├── ACTION_PLUGIN_TEMPLATE_CN.py # Chinese template
|
||||
│ ├── ACTION_PLUGIN_TEMPLATE.py # 通用 i18n 模板
|
||||
│ └── README.md
|
||||
├── filters/ # Filter 插件 (输入处理)
|
||||
│ └── ...
|
||||
@@ -109,7 +106,7 @@ plugins/debug/
|
||||
"""
|
||||
title: 插件名称 (Plugin Name)
|
||||
author: Fu-Jie
|
||||
author_url: https://github.com/Fu-Jie/awesome-openwebui
|
||||
author_url: https://github.com/Fu-Jie/openwebui-extensions
|
||||
funding_url: https://github.com/open-webui
|
||||
version: 0.1.0
|
||||
icon_url: data:image/svg+xml;base64,<base64-encoded-svg>
|
||||
@@ -124,7 +121,7 @@ description: 插件功能的简短描述。Brief description of plugin functiona
|
||||
|--------------|---------------------|----------------|
|
||||
| `title` | 插件显示名称 | `Export to Word` / `导出为 Word` |
|
||||
| `author` | 作者名称 | `Fu-Jie` |
|
||||
| `author_url` | 作者主页链接 | `https://github.com/Fu-Jie/awesome-openwebui` |
|
||||
| `author_url` | 作者主页链接 | `https://github.com/Fu-Jie/openwebui-extensions` |
|
||||
| `funding_url` | 赞助/项目链接 | `https://github.com/open-webui` |
|
||||
| `version` | 语义化版本号 | `0.1.0`, `1.2.3` |
|
||||
| `icon_url` | 图标 (Base64 编码的 SVG) | 仅 Action 插件**必须**提供。其他类型可选。 |
|
||||
@@ -474,13 +471,67 @@ async def get_user_language(self):
|
||||
|
||||
#### 适用场景与引导 (Usage Guidelines)
|
||||
|
||||
- **语言适配**: 动态获取界面语言 (`ru-RU`, `zh-CN`) 自动切换输出语言。
|
||||
- **语言适配**: 动态获取界面语言 (`ru-RU`, `zh-CN`) 自动切换输出语言和 UI 翻译。这对于单文件 i18n 插件至关重要。
|
||||
- **时区处理**: 获取 `Intl.DateTimeFormat().resolvedOptions().timeZone` 处理时间。
|
||||
- **客户端存储**: 读取 `localStorage` 中的用户偏好设置。
|
||||
- **硬件能力**: 获取 `navigator.clipboard` 或 `navigator.geolocation` (需授权)。
|
||||
|
||||
**注意**: 即使插件有 `Valves` 配置,也应优先尝试自动探测,提升用户体验。
|
||||
|
||||
### 8. 智能代理文件交付规范 (Agent File Delivery Standards)
|
||||
|
||||
在开发具备文件生成能力的智能代理插件(如 GitHub Copilot SDK 集成)时,必须遵循以下标准流程,以确保文件在不同存储后端(本地/S3)下的可用性并绕过不必要的 RAG 处理。
|
||||
|
||||
#### 核心协议:三步交付法 (The 3-Step Delivery Protocol)
|
||||
|
||||
1. **本地写入 (Write Local)**:
|
||||
- 代理必须在当前执行目录 (`.`) 下创建文件。
|
||||
- **严禁**使用系统临时目录(如 `/tmp`)存放待发布的文件,因为这些路径在隔离的工作空间外不可见。
|
||||
2. **显式发布 (Publish)**:
|
||||
- 必须调用内建工具 `publish_file_from_workspace(filename='name.ext')`。
|
||||
- 该工具负责将文件迁移至 Open WebUI 正式存储(自动适配 S3),并注入 `skip_rag` 元数据以防止触发向量化流程(RAG Bypass)。
|
||||
3. **呈现链接 (Display Link)**:
|
||||
- 获取工具返回的 `download_url`(正确格式为 `/api/v1/files/{id}/content`)。
|
||||
- **必须**以 Markdown 链接形式(如 `[点击下载报告](url)`)展示给用户。
|
||||
|
||||
#### 路径语义 (Path Semantics)
|
||||
- 代理应始终将“当前目录”视为其受保护所在的私有工作空间。
|
||||
- `publish_file_from_workspace` 的参数 `filename` 仅需传入相对于当前目录的文件名。
|
||||
|
||||
### 9. Copilot SDK 插件工具定义规范 (Copilot SDK Tool Definition Standards)
|
||||
|
||||
在为 GitHub Copilot SDK 开发自定义工具时,为了确保大模型能正确识别参数(避免生成空的 `properties` Schema),必须遵循以下定义模式:
|
||||
|
||||
#### 显式参数模型 (Explicit Parameter Schema)
|
||||
**禁止**仅依赖函数签名和类型提示。**必须**定义一个继承自 `pydantic.BaseModel` 的类来描述参数,并在 `define_tool` 中通过 `params_type` 显式引用。
|
||||
|
||||
```python
|
||||
from pydantic import BaseModel, Field
|
||||
from copilot import define_tool
|
||||
|
||||
# 1. 定义参数模型
|
||||
class MyToolParams(BaseModel):
|
||||
query: str = Field(..., description="搜索关键词")
|
||||
limit: int = Field(default=10, description="返回结果数量限制")
|
||||
|
||||
# 2. 实现工具逻辑
|
||||
async def my_custom_search(query: str, limit: int) -> dict:
|
||||
# ... 逻辑实现 ...
|
||||
return {"results": []}
|
||||
|
||||
# 3. 注册工具(关键:使用 params_type)
|
||||
my_tool = define_tool(
|
||||
name="my_custom_search",
|
||||
description="在特定数据源中执行搜索",
|
||||
params_type=MyToolParams, # 显式传递参数模型以生成正确的 JSON Schema
|
||||
)(my_custom_search)
|
||||
```
|
||||
|
||||
#### 关键要点 (Key Requirements)
|
||||
1. **params_type**: 必须在 `define_tool` 中使用此参数。这是防止大模型幻觉认为工具“无参数”的唯一可靠方法。
|
||||
2. **Field 描述**: 在 `BaseModel` 中使用 `Field(..., description="...")` 为每个参数提供详细的描述信息。
|
||||
3. **Required vs Optional**: 明确标注必填项(无默认值)和可选项(带 `default`)。
|
||||
|
||||
---
|
||||
|
||||
## ⚡ Action 插件规范 (Action Plugin Standards)
|
||||
@@ -878,8 +929,7 @@ Filter 实例是**单例 (Singleton)**。
|
||||
|
||||
### 1. ✅ 开发检查清单 (Development Checklist)
|
||||
|
||||
- [ ] 创建英文版插件代码 (`plugin_name.py`)
|
||||
- [ ] 创建中文版插件代码 (`plugin_name_cn.py`)
|
||||
- [ ] 代码实现了内置 i18n 逻辑 (`.py`)
|
||||
- [ ] 编写英文 README (`README.md`)
|
||||
- [ ] 编写中文 README (`README_CN.md`)
|
||||
- [ ] 包含标准化文档字符串
|
||||
@@ -887,8 +937,11 @@ Filter 实例是**单例 (Singleton)**。
|
||||
- [ ] 使用 Lucide 图标
|
||||
- [ ] 实现 Valves 配置
|
||||
- [ ] 使用 logging 而非 print
|
||||
- [ ] 测试双语界面
|
||||
- [ ] 测试 i18n 界面适配
|
||||
- [ ] **一致性检查**: 确保文档、代码、README 同步
|
||||
- [ ] **README 结构**:
|
||||
- **Key Capabilities** (英文) / **核心功能** (中文): 必须包含所有核心功能
|
||||
- **What's New** (英文) / **最新更新** (中文): 仅包含最新版本的变更信息
|
||||
|
||||
### 2. 🔄 一致性维护 (Consistency Maintenance)
|
||||
|
||||
@@ -925,10 +978,20 @@ Filter 实例是**单例 (Singleton)**。
|
||||
- Update README/README_CN to include What's New section
|
||||
- Migration: default TITLE_SOURCE changed to chat_title
|
||||
|
||||
### 4. 🤖 Git Operations (Agent Rules)
|
||||
#### 发布信息生成准则 (Release Summary Generation)
|
||||
当准备提交时,必须向用户展示以下格式的“发布草案”:
|
||||
1. **Commit Message**: 符合 Conventional Commits 的英文标题及摘要。
|
||||
2. **变更列表 (Bilingual Changes)**:
|
||||
- 英文: Clear descriptions of technical/functional changes.
|
||||
- 中文: 清晰描述用户可见的功能改进或修复。
|
||||
3. **核查状态 (Verification)**: 确认版本号已在相关 7+ 处位置同步更新(1 个代码文件 + 2 个 README + 4 个 Docs 文件)。
|
||||
|
||||
- **允许**: 直接推送到 `main` 分支并发布。
|
||||
- **允许**: 创建功能分支 (`feature/xxx`),推送到功能分支。
|
||||
### 4. 🤖 Git 提交与推送规范 (Git Operations & Push Rules)
|
||||
|
||||
- **核心原则**: 默认仅进行**本地文件准备**(更新代码、READMEs、Docs、版本号),**严禁**在未获用户明确许可的情况下自动执行 `git commit` 或 `git push`。
|
||||
- **允许 (需确认)**: 只有在用户明确表示“发布”、“Commit it”、“Release”或“提交”后,才允许直接推送到 `main` 分支或创建 PR。
|
||||
- **功能分支**: 推荐在进行大规模重构或实验性功能开发时,创建功能分支 (`feature/xxx`) 进行隔离。
|
||||
- **PR 提交**: 必须使用 GitHub CLI (`gh`) 创建 Pull Request。示例:`gh pr create --title "feat: ..." --body "..."`。
|
||||
|
||||
### 5. 🤝 贡献者认可规范 (Contributor Recognition)
|
||||
|
||||
@@ -938,8 +1001,7 @@ Filter 实例是**单例 (Singleton)**。
|
||||
|
||||
## 📚 参考资源 (Reference Resources)
|
||||
|
||||
- [Action 插件模板 (英文)](plugins/actions/ACTION_PLUGIN_TEMPLATE.py)
|
||||
- [Action 插件模板 (中文)](plugins/actions/ACTION_PLUGIN_TEMPLATE_CN.py)
|
||||
- [Action 插件模板](plugins/actions/ACTION_PLUGIN_TEMPLATE.py)
|
||||
- [插件开发指南](plugins/actions/PLUGIN_DEVELOPMENT_GUIDE.md)
|
||||
- [Lucide Icons](https://lucide.dev/icons/)
|
||||
- [OpenWebUI 文档](https://docs.openwebui.com/)
|
||||
@@ -949,8 +1011,9 @@ Filter 实例是**单例 (Singleton)**。
|
||||
## Author
|
||||
|
||||
Fu-Jie
|
||||
GitHub: [Fu-Jie/awesome-openwebui](https://github.com/Fu-Jie/awesome-openwebui)
|
||||
GitHub: [Fu-Jie/openwebui-extensions](https://github.com/Fu-Jie/openwebui-extensions)
|
||||
|
||||
## License
|
||||
|
||||
MIT License
|
||||
```
|
||||
|
||||
44
.github/workflows/community-stats.yml
vendored
44
.github/workflows/community-stats.yml
vendored
@@ -8,10 +8,8 @@
|
||||
name: Community Stats
|
||||
|
||||
on:
|
||||
# 每小时整点运行
|
||||
schedule:
|
||||
- cron: '0 * * * *'
|
||||
# 手动触发
|
||||
workflow_dispatch:
|
||||
|
||||
permissions:
|
||||
@@ -41,21 +39,16 @@ jobs:
|
||||
run: |
|
||||
if [ -f docs/community-stats.json ]; then
|
||||
echo "total_posts=$(jq -r '.total_posts // 0' docs/community-stats.json)" >> $GITHUB_OUTPUT
|
||||
echo "total_points=$(jq -r '.user.total_points // 0' docs/community-stats.json)" >> $GITHUB_OUTPUT
|
||||
echo "followers=$(jq -r '.user.followers // 0' docs/community-stats.json)" >> $GITHUB_OUTPUT
|
||||
# 提取所有插件的版本号,生成一个排序后的字符串用于比较
|
||||
echo "versions=$(jq -r '[.posts[].version] | sort | join(",")' docs/community-stats.json)" >> $GITHUB_OUTPUT
|
||||
else
|
||||
echo "total_posts=0" >> $GITHUB_OUTPUT
|
||||
echo "total_points=0" >> $GITHUB_OUTPUT
|
||||
echo "followers=0" >> $GITHUB_OUTPUT
|
||||
echo "versions=" >> $GITHUB_OUTPUT
|
||||
fi
|
||||
|
||||
- name: Generate stats report
|
||||
env:
|
||||
OPENWEBUI_API_KEY: ${{ secrets.OPENWEBUI_API_KEY }}
|
||||
OPENWEBUI_USER_ID: ${{ secrets.OPENWEBUI_USER_ID }}
|
||||
GIST_TOKEN: ${{ secrets.GIST_TOKEN }}
|
||||
GIST_ID: ${{ secrets.GIST_ID }}
|
||||
run: |
|
||||
python scripts/openwebui_stats.py
|
||||
|
||||
@@ -63,53 +56,22 @@ jobs:
|
||||
id: new_stats
|
||||
run: |
|
||||
echo "total_posts=$(jq -r '.total_posts // 0' docs/community-stats.json)" >> $GITHUB_OUTPUT
|
||||
echo "total_points=$(jq -r '.user.total_points // 0' docs/community-stats.json)" >> $GITHUB_OUTPUT
|
||||
echo "followers=$(jq -r '.user.followers // 0' docs/community-stats.json)" >> $GITHUB_OUTPUT
|
||||
echo "versions=$(jq -r '[.posts[].version] | sort | join(",")' docs/community-stats.json)" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Check for significant changes
|
||||
id: check_changes
|
||||
run: |
|
||||
OLD_POSTS="${{ steps.old_stats.outputs.total_posts }}"
|
||||
NEW_POSTS="${{ steps.new_stats.outputs.total_posts }}"
|
||||
OLD_POINTS="${{ steps.old_stats.outputs.total_points }}"
|
||||
NEW_POINTS="${{ steps.new_stats.outputs.total_points }}"
|
||||
OLD_FOLLOWERS="${{ steps.old_stats.outputs.followers }}"
|
||||
NEW_FOLLOWERS="${{ steps.new_stats.outputs.followers }}"
|
||||
OLD_VERSIONS="${{ steps.old_stats.outputs.versions }}"
|
||||
NEW_VERSIONS="${{ steps.new_stats.outputs.versions }}"
|
||||
|
||||
SHOULD_COMMIT="false"
|
||||
CHANGE_REASON=""
|
||||
|
||||
# 检查新增插件
|
||||
if [ "$NEW_POSTS" -gt "$OLD_POSTS" ]; then
|
||||
SHOULD_COMMIT="true"
|
||||
CHANGE_REASON="new plugin added ($OLD_POSTS -> $NEW_POSTS)"
|
||||
echo "📦 New plugin detected: $OLD_POSTS -> $NEW_POSTS"
|
||||
fi
|
||||
|
||||
# 检查版本变更
|
||||
if [ "$OLD_VERSIONS" != "$NEW_VERSIONS" ]; then
|
||||
SHOULD_COMMIT="true"
|
||||
CHANGE_REASON="${CHANGE_REASON:+$CHANGE_REASON, }plugin version updated"
|
||||
echo "🔄 Plugin version changed"
|
||||
fi
|
||||
|
||||
# 检查积分增加
|
||||
if [ "$NEW_POINTS" -gt "$OLD_POINTS" ]; then
|
||||
SHOULD_COMMIT="true"
|
||||
CHANGE_REASON="${CHANGE_REASON:+$CHANGE_REASON, }points increased ($OLD_POINTS -> $NEW_POINTS)"
|
||||
echo "⭐ Points increased: $OLD_POINTS -> $NEW_POINTS"
|
||||
fi
|
||||
|
||||
# 检查粉丝增加
|
||||
if [ "$NEW_FOLLOWERS" -gt "$OLD_FOLLOWERS" ]; then
|
||||
SHOULD_COMMIT="true"
|
||||
CHANGE_REASON="${CHANGE_REASON:+$CHANGE_REASON, }followers increased ($OLD_FOLLOWERS -> $NEW_FOLLOWERS)"
|
||||
echo "👥 Followers increased: $OLD_FOLLOWERS -> $NEW_FOLLOWERS"
|
||||
fi
|
||||
|
||||
echo "should_commit=$SHOULD_COMMIT" >> $GITHUB_OUTPUT
|
||||
echo "change_reason=$CHANGE_REASON" >> $GITHUB_OUTPUT
|
||||
|
||||
@@ -124,6 +86,6 @@ jobs:
|
||||
run: |
|
||||
git config --local user.email "github-actions[bot]@users.noreply.github.com"
|
||||
git config --local user.name "github-actions[bot]"
|
||||
git add docs/community-stats.zh.md docs/community-stats.md docs/community-stats.json docs/badges README.md README_CN.md
|
||||
git add docs/ README.md README_CN.md
|
||||
git diff --staged --quiet || git commit -m "chore: update community stats - ${{ steps.check_changes.outputs.change_reason }}"
|
||||
git push
|
||||
|
||||
38
.github/workflows/release.yml
vendored
38
.github/workflows/release.yml
vendored
@@ -1,8 +1,6 @@
|
||||
# GitHub Actions Workflow for Plugin Release
|
||||
# 插件发布工作流
|
||||
# Plugin Release Workflow
|
||||
#
|
||||
# This workflow automates the release process for OpenWebUI plugins.
|
||||
# 此工作流自动化 OpenWebUI 插件的发布流程。
|
||||
#
|
||||
# Triggers:
|
||||
# - Push to main branch when plugins are modified (auto-release)
|
||||
@@ -15,7 +13,7 @@
|
||||
# 3. Creates a GitHub Release with plugin files as downloadable assets
|
||||
# 4. Supports multiple plugin updates in a single release
|
||||
|
||||
name: Plugin Release / 插件发布
|
||||
name: Plugin Release
|
||||
|
||||
on:
|
||||
# Auto-trigger on push to main when plugins are modified
|
||||
@@ -324,14 +322,14 @@ jobs:
|
||||
|
||||
- name: Generate release notes
|
||||
id: notes
|
||||
env:
|
||||
VERSION: ${{ steps.version.outputs.version }}
|
||||
TITLE: ${{ github.event.inputs.release_title }}
|
||||
NOTES: ${{ github.event.inputs.release_notes }}
|
||||
DETECTED_CHANGES: ${{ needs.check-changes.outputs.release_notes }}
|
||||
COMMITS: ${{ steps.commits.outputs.commits }}
|
||||
run: |
|
||||
VERSION="${{ steps.version.outputs.version }}"
|
||||
TITLE="${{ github.event.inputs.release_title }}"
|
||||
NOTES="${{ github.event.inputs.release_notes }}"
|
||||
DETECTED_CHANGES="${{ needs.check-changes.outputs.release_notes }}"
|
||||
COMMITS="${{ steps.commits.outputs.commits }}"
|
||||
|
||||
echo "# ${VERSION} Release / 发布" > release_notes.md
|
||||
echo "# ${VERSION} Release" > release_notes.md
|
||||
echo "" >> release_notes.md
|
||||
|
||||
if [ -n "$TITLE" ]; then
|
||||
@@ -340,21 +338,21 @@ jobs:
|
||||
fi
|
||||
|
||||
if [ -n "$DETECTED_CHANGES" ] && ! echo "$DETECTED_CHANGES" | grep -q "No changes detected"; then
|
||||
echo "## What's Changed / 更新内容" >> release_notes.md
|
||||
echo "## What's Changed" >> release_notes.md
|
||||
echo "" >> release_notes.md
|
||||
echo "$DETECTED_CHANGES" >> release_notes.md
|
||||
echo "" >> release_notes.md
|
||||
fi
|
||||
|
||||
if [ -n "$COMMITS" ]; then
|
||||
echo "## Commits / 提交记录" >> release_notes.md
|
||||
echo "## Commits" >> release_notes.md
|
||||
echo "" >> release_notes.md
|
||||
echo "$COMMITS" >> release_notes.md
|
||||
echo "" >> release_notes.md
|
||||
fi
|
||||
|
||||
if [ -n "$NOTES" ]; then
|
||||
echo "## Additional Notes / 附加说明" >> release_notes.md
|
||||
echo "## Additional Notes" >> release_notes.md
|
||||
echo "" >> release_notes.md
|
||||
echo "$NOTES" >> release_notes.md
|
||||
echo "" >> release_notes.md
|
||||
@@ -364,11 +362,11 @@ jobs:
|
||||
|
||||
cat >> release_notes.md << 'EOF'
|
||||
|
||||
## Download / 下载
|
||||
## Download
|
||||
|
||||
📦 **Download the updated plugin files below** / 请在下方下载更新的插件文件
|
||||
📦 **Download the updated plugin files below**
|
||||
|
||||
### Installation / 安装
|
||||
### Installation
|
||||
|
||||
#### From OpenWebUI Community
|
||||
1. Open OpenWebUI Admin Panel
|
||||
@@ -376,7 +374,7 @@ jobs:
|
||||
3. Search for the plugin name
|
||||
4. Click Install
|
||||
|
||||
#### Manual Installation / 手动安装
|
||||
#### Manual Installation
|
||||
1. Download the plugin file (`.py`) from the assets below
|
||||
2. Open OpenWebUI Admin Panel → Functions
|
||||
3. Click "Create Function" → Import
|
||||
@@ -384,8 +382,8 @@ jobs:
|
||||
|
||||
---
|
||||
|
||||
📚 [Documentation / 文档](https://fu-jie.github.io/awesome-openwebui/)
|
||||
🐛 [Report Issues / 报告问题](https://github.com/Fu-Jie/awesome-openwebui/issues)
|
||||
📚 [Documentation](https://fu-jie.github.io/openwebui-extensions/)
|
||||
🐛 [Report Issues](https://github.com/Fu-Jie/openwebui-extensions/issues)
|
||||
EOF
|
||||
|
||||
echo "=== Release Notes ==="
|
||||
|
||||
1
.gitignore
vendored
1
.gitignore
vendored
@@ -139,3 +139,4 @@ logs/
|
||||
|
||||
# OpenWebUI specific
|
||||
# Add any specific ignores for OpenWebUI plugins if needed
|
||||
.git-worktrees/
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Contributing Guide
|
||||
|
||||
Thank you for your interest in **OpenWebUI Extras**!
|
||||
Thank you for your interest in **OpenWebUI Extensions**!
|
||||
|
||||
## 🚀 How to Contribute
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 贡献指南
|
||||
|
||||
感谢你对 **OpenWebUI Extras** 感兴趣!
|
||||
感谢你对 **OpenWebUI Extensions** 感兴趣!
|
||||
|
||||
## 🚀 贡献流程
|
||||
|
||||
|
||||
105
README.md
105
README.md
@@ -1,6 +1,6 @@
|
||||
# OpenWebUI Extras
|
||||
# OpenWebUI Extensions
|
||||
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
|
||||
[](#contributors-)
|
||||
[](#contributors-)
|
||||
<!-- ALL-CONTRIBUTORS-BADGE:END -->
|
||||
|
||||
English | [中文](./README_CN.md)
|
||||
@@ -9,40 +9,73 @@ A collection of enhancements, plugins, and prompts for [OpenWebUI](https://githu
|
||||
|
||||
<!-- STATS_START -->
|
||||
## 📊 Community Stats
|
||||
|
||||
> 🕐 Auto-updated: 2026-02-07 17:12
|
||||
>
|
||||
> 
|
||||
|
||||
| 👤 Author | 👥 Followers | ⭐ Points | 🏆 Contributions |
|
||||
|:---:|:---:|:---:|:---:|
|
||||
| [Fu-Jie](https://openwebui.com/u/Fu-Jie) | **204** | **257** | **41** |
|
||||
| :---: | :---: | :---: | :---: |
|
||||
| [Fu-Jie](https://openwebui.com/u/Fu-Jie) |  |  |  |
|
||||
|
||||
| 📝 Posts | ⬇️ Downloads | 👁️ Views | 👍 Upvotes | 💾 Saves |
|
||||
|:---:|:---:|:---:|:---:|:---:|
|
||||
| **20** | **3711** | **43662** | **220** | **256** |
|
||||
| :---: | :---: | :---: | :---: | :---: |
|
||||
|  |  |  |  |  |
|
||||
|
||||
### 🔥 Top 6 Popular Plugins
|
||||
|
||||
> 🕐 Auto-updated: 2026-02-07 17:12
|
||||
| Rank | Plugin | Version | Downloads | Views | 📅 Updated |
|
||||
| :---: | :--- | :---: | :---: | :---: | :---: |
|
||||
| 🥇 | [Smart Mind Map](https://openwebui.com/posts/turn_any_text_into_beautiful_mind_maps_3094c59a) |  |  |  |  |
|
||||
| 🥈 | [Smart Infographic](https://openwebui.com/posts/smart_infographic_ad6f0c7f) |  |  |  |  |
|
||||
| 🥉 | [Export to Word Enhanced](https://openwebui.com/posts/export_to_word_enhanced_formatting_fca6a315) |  |  |  |  |
|
||||
| 4️⃣ | [Async Context Compression](https://openwebui.com/posts/async_context_compression_b1655bc8) |  |  |  |  |
|
||||
| 5️⃣ | [Export to Excel](https://openwebui.com/posts/export_mulit_table_to_excel_244b8f9d) |  |  |  |  |
|
||||
| 6️⃣ | [Markdown Normalizer](https://openwebui.com/posts/markdown_normalizer_baaa8732) |  |  |  |  |
|
||||
|
||||
| Rank | Plugin | Version | Downloads | Views | Updated |
|
||||
|:---:|------|:---:|:---:|:---:|:---:|
|
||||
| 🥇 | [Smart Mind Map](https://openwebui.com/posts/turn_any_text_into_beautiful_mind_maps_3094c59a) | 0.9.2 | 883 | 7810 | 2026-01-28 |
|
||||
| 🥈 | [Smart Infographic](https://openwebui.com/posts/smart_infographic_ad6f0c7f) | 1.5.0 | 635 | 5880 | 2026-01-30 |
|
||||
| 🥉 | [Export to Word (Enhanced)](https://openwebui.com/posts/export_to_word_enhanced_formatting_fca6a315) | 0.4.3 | 347 | 2686 | 2026-01-28 |
|
||||
| 4️⃣ | [Async Context Compression](https://openwebui.com/posts/async_context_compression_b1655bc8) | 1.2.2 | 330 | 3436 | 2026-01-28 |
|
||||
| 5️⃣ | [Export to Excel](https://openwebui.com/posts/export_mulit_table_to_excel_244b8f9d) | 0.3.7 | 327 | 1520 | 2026-01-29 |
|
||||
| 6️⃣ | [Markdown Normalizer](https://openwebui.com/posts/markdown_normalizer_baaa8732) | 1.2.4 | 294 | 4270 | 2026-01-29 |
|
||||
### 📈 Total Downloads Trend
|
||||
|
||||
*See full stats in [Community Stats Report](./docs/community-stats.md)*
|
||||

|
||||
|
||||
*See full stats and charts in [Community Stats Report](./docs/community-stats.md)*
|
||||
<!-- STATS_END -->
|
||||
|
||||
## 🌟 Star Features
|
||||
|
||||
### 1. [GitHub Copilot SDK Pipe](https://openwebui.com/posts/github_copilot_official_sdk_pipe_ce96f7b4) [](https://openwebui.com/posts/github_copilot_official_sdk_pipe_ce96f7b4)
|
||||
|
||||
**The ultimate Agent for OpenWebUI.** Supports native code execution (Python/Pandas), raw file analysis, and interactive artifacts.
|
||||
> [!TIP]
|
||||
> **No GitHub Copilot subscription required!** Supports **BYOK (Bring Your Own Key)** mode using your own OpenAI/Anthropic API keys.
|
||||
|
||||
#### 🌟 Featured Real-World Cases
|
||||
|
||||
- **[GitHub Star Forecasting](./docs/plugins/pipes/star-prediction-example.md)**: Automatically parsing CSV data, writing analysis scripts, and generating interactive growth dashboards.
|
||||
- **[Video Optimization](./docs/plugins/pipes/video-processing-example.md)**: Direct control of system-level tools (FFmpeg) to accelerate and compress media with professional color optimization.
|
||||
|
||||
### 2. [Smart Mind Map](https://openwebui.com/posts/turn_any_text_into_beautiful_mind_maps_3094c59a) [](https://openwebui.com/posts/turn_any_text_into_beautiful_mind_maps_3094c59a)
|
||||
|
||||
**Experience interactive thinking.** Seamlessly transforms complex chat sessions into structured, clickable mind maps for better visual modeling and rapid idea extraction.
|
||||
|
||||
### 3. [Smart Infographic](https://openwebui.com/posts/smart_infographic_ad6f0c7f) [](https://openwebui.com/posts/smart_infographic_ad6f0c7f)
|
||||
|
||||
**Professional data storytelling.** Converts raw information into sleek, boardroom-ready infographics powered by AntV, perfect for summarizing long-form content instantly.
|
||||
|
||||
### 4. [Export to Word Enhanced](https://openwebui.com/posts/export_to_word_enhanced_formatting_fca6a315) [](https://openwebui.com/posts/export_to_word_enhanced_formatting_fca6a315)
|
||||
|
||||
**High-fidelity reporting.** Export conversation history into professionally formatted Word documents with preserved headers, code blocks, and math formulas.
|
||||
|
||||
### 5. [Async Context Compression](https://openwebui.com/posts/async_context_compression_b1655bc8) [](https://openwebui.com/posts/async_context_compression_b1655bc8)
|
||||
|
||||
**Maximize your context window.** Intelligently compresses chat history using LLM logic to save tokens and costs while maintaining a high-quality reasoning chain.
|
||||
|
||||
## 📦 Project Contents
|
||||
|
||||
### 🧩 Plugins
|
||||
<!-- markdownlint-disable MD033 -->
|
||||
<details>
|
||||
<summary><b>🧩 Plugins (Actions, Filters, Pipes, Pipelines)</b></summary>
|
||||
|
||||
Located in the `plugins/` directory, containing Python-based enhancements:
|
||||
|
||||
#### Actions
|
||||
### Actions
|
||||
|
||||
- **Smart Mind Map** (`smart-mind-map`): Generates interactive mind maps from text.
|
||||
- **Smart Infographic** (`infographic`): Transforms text into professional infographics using AntV.
|
||||
@@ -51,27 +84,36 @@ Located in the `plugins/` directory, containing Python-based enhancements:
|
||||
- **Export to Excel** (`export_to_excel`): Exports chat history to Excel files.
|
||||
- **Export to Word** (`export_to_docx`): Exports chat history to Word documents.
|
||||
|
||||
#### Filters
|
||||
### Filters
|
||||
|
||||
- **GitHub Copilot SDK Files Filter** (`github_copilot_sdk_files_filter`): Essential companion for Copilot SDK. Bypasses RAG to ensure full file accessibility for Agents.
|
||||
- **Web Gemini Multimodal Filter** (`web_gemini_multimodel_filter`): Adds multimodal capabilities (PDF, Video, Office) to any model with intelligent routing.
|
||||
- **Async Context Compression** (`async-context-compression`): Optimizes token usage via context compression.
|
||||
- **Context Enhancement** (`context_enhancement_filter`): Enhances chat context.
|
||||
- **Folder Memory** (`folder-memory`): Automatically extracts project rules from conversations and injects them into the folder's system prompt.
|
||||
- **Markdown Normalizer** (`markdown_normalizer`): Fixes common Markdown formatting issues in LLM outputs.
|
||||
|
||||
#### Pipes
|
||||
### Pipes
|
||||
|
||||
- **GitHub Copilot SDK** (`github-copilot-sdk`): Official GitHub Copilot SDK integration. Supports dynamic models, multi-turn conversation, streaming, multimodal input, and infinite sessions.
|
||||
- **GitHub Copilot SDK** (`github-copilot-sdk`): Official GitHub Copilot SDK integration. Supports dynamic models (GPT-4o, Claude 3.5, o1), multi-turn conversation, streaming, and infinite sessions.
|
||||
|
||||
#### Pipelines
|
||||
### Pipelines
|
||||
|
||||
- **MoE Prompt Refiner** (`moe_prompt_refiner`): Refines prompts for Mixture of Experts (MoE) summary requests to generate high-quality comprehensive reports.
|
||||
|
||||
### 🎯 Prompts
|
||||
</details>
|
||||
<!-- markdownlint-enable MD033 -->
|
||||
|
||||
Located in the `prompts/` directory, containing fine-tuned System Prompts:
|
||||
<!-- markdownlint-disable MD033 -->
|
||||
<details>
|
||||
<summary><b>🎯 Prompts (System Prompts for various roles)</b></summary>
|
||||
|
||||
- **Coding**: Programming assistance prompts.
|
||||
- **Marketing**: Marketing and copywriting prompts.
|
||||
System Prompts are managed in the `docs/prompts/` directory:
|
||||
|
||||
- **[Prompt Library](./docs/prompts/library.md)**: A curated collection of fine-tuned prompts for Coding, Marketing, and Analysis.
|
||||
|
||||
</details>
|
||||
<!-- markdownlint-enable MD033 -->
|
||||
|
||||
## 🛠️ Extensions
|
||||
|
||||
@@ -131,10 +173,11 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/rbb-dev"><img src="https://avatars.githubusercontent.com/u/37469229?v=4?s=100" width="100px;" alt="rbb-dev"/><br /><sub><b>rbb-dev</b></sub></a><br /><a href="#ideas-rbb-dev" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/Fu-Jie/awesome-openwebui/commits?author=rbb-dev" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://trade.xyz/?ref=BZ1RJRXWO"><img src="https://avatars.githubusercontent.com/u/7317522?v=4?s=100" width="100px;" alt="Raxxoor"/><br /><sub><b>Raxxoor</b></sub></a><br /><a href="https://github.com/Fu-Jie/awesome-openwebui/issues?q=author%3Adhaern" title="Bug reports">🐛</a> <a href="#ideas-dhaern" title="Ideas, Planning, & Feedback">🤔</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/i-iooi-i"><img src="https://avatars.githubusercontent.com/u/1827701?v=4?s=100" width="100px;" alt="ZOLO"/><br /><sub><b>ZOLO</b></sub></a><br /><a href="https://github.com/Fu-Jie/awesome-openwebui/issues?q=author%3Ai-iooi-i" title="Bug reports">🐛</a> <a href="#ideas-i-iooi-i" title="Ideas, Planning, & Feedback">🤔</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/rbb-dev"><img src="https://avatars.githubusercontent.com/u/37469229?v=4?s=100" width="100px;" alt="rbb-dev"/><br /><sub><b>rbb-dev</b></sub></a><br /><a href="#ideas-rbb-dev" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/Fu-Jie/openwebui-extensions/commits?author=rbb-dev" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://trade.xyz/?ref=BZ1RJRXWO"><img src="https://avatars.githubusercontent.com/u/7317522?v=4?s=100" width="100px;" alt="Raxxoor"/><br /><sub><b>Raxxoor</b></sub></a><br /><a href="https://github.com/Fu-Jie/openwebui-extensions/issues?q=author%3Adhaern" title="Bug reports">🐛</a> <a href="#ideas-dhaern" title="Ideas, Planning, & Feedback">🤔</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/i-iooi-i"><img src="https://avatars.githubusercontent.com/u/1827701?v=4?s=100" width="100px;" alt="ZOLO"/><br /><sub><b>ZOLO</b></sub></a><br /><a href="https://github.com/Fu-Jie/openwebui-extensions/issues?q=author%3Ai-iooi-i" title="Bug reports">🐛</a> <a href="#ideas-i-iooi-i" title="Ideas, Planning, & Feedback">🤔</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://perso.crans.org/grande/"><img src="https://avatars.githubusercontent.com/u/469017?v=4?s=100" width="100px;" alt="Johan Grande"/><br /><sub><b>Johan Grande</b></sub></a><br /><a href="#ideas-nahoj" title="Ideas, Planning, & Feedback">🤔</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/abaroni"><img src="https://avatars.githubusercontent.com/u/21365486?v=4?s=100" width="100px;" alt="Alessandro Baroni"/><br /><sub><b>Alessandro Baroni</b></sub></a><br /><a href="#ideas-abaroni" title="Ideas, Planning, & Feedback">🤔</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
133
README_CN.md
133
README_CN.md
@@ -1,4 +1,4 @@
|
||||
# OpenWebUI Extras
|
||||
# OpenWebUI Extensions
|
||||
|
||||
[English](./README.md) | 中文
|
||||
|
||||
@@ -6,40 +6,73 @@ OpenWebUI 增强功能集合。包含个人开发与收集的插件、提示词
|
||||
|
||||
<!-- STATS_START -->
|
||||
## 📊 社区统计
|
||||
|
||||
> 🕐 自动更新于 2026-02-07 17:12
|
||||
>
|
||||
> 
|
||||
|
||||
| 👤 作者 | 👥 粉丝 | ⭐ 积分 | 🏆 贡献 |
|
||||
|:---:|:---:|:---:|:---:|
|
||||
| [Fu-Jie](https://openwebui.com/u/Fu-Jie) | **204** | **257** | **41** |
|
||||
| :---: | :---: | :---: | :---: |
|
||||
| [Fu-Jie](https://openwebui.com/u/Fu-Jie) |  |  |  |
|
||||
|
||||
| 📝 发布 | ⬇️ 下载 | 👁️ 浏览 | 👍 点赞 | 💾 收藏 |
|
||||
|:---:|:---:|:---:|:---:|:---:|
|
||||
| **20** | **3711** | **43662** | **220** | **256** |
|
||||
| :---: | :---: | :---: | :---: | :---: |
|
||||
|  |  |  |  |  |
|
||||
|
||||
### 🔥 热门插件 Top 6
|
||||
|
||||
> 🕐 自动更新于 2026-02-07 17:12
|
||||
| 排名 | 插件 | 版本 | 下载 | 浏览 | 📅 更新 |
|
||||
| :---: | :--- | :---: | :---: | :---: | :---: |
|
||||
| 🥇 | [Smart Mind Map](https://openwebui.com/posts/turn_any_text_into_beautiful_mind_maps_3094c59a) |  |  |  |  |
|
||||
| 🥈 | [Smart Infographic](https://openwebui.com/posts/smart_infographic_ad6f0c7f) |  |  |  |  |
|
||||
| 🥉 | [Export to Word Enhanced](https://openwebui.com/posts/export_to_word_enhanced_formatting_fca6a315) |  |  |  |  |
|
||||
| 4️⃣ | [Async Context Compression](https://openwebui.com/posts/async_context_compression_b1655bc8) |  |  |  |  |
|
||||
| 5️⃣ | [Export to Excel](https://openwebui.com/posts/export_mulit_table_to_excel_244b8f9d) |  |  |  |  |
|
||||
| 6️⃣ | [Markdown Normalizer](https://openwebui.com/posts/markdown_normalizer_baaa8732) |  |  |  |  |
|
||||
|
||||
| 排名 | 插件 | 版本 | 下载 | 浏览 | 更新日期 |
|
||||
|:---:|------|:---:|:---:|:---:|:---:|
|
||||
| 🥇 | [Smart Mind Map](https://openwebui.com/posts/turn_any_text_into_beautiful_mind_maps_3094c59a) | 0.9.2 | 883 | 7810 | 2026-01-28 |
|
||||
| 🥈 | [Smart Infographic](https://openwebui.com/posts/smart_infographic_ad6f0c7f) | 1.5.0 | 635 | 5880 | 2026-01-30 |
|
||||
| 🥉 | [Export to Word (Enhanced)](https://openwebui.com/posts/export_to_word_enhanced_formatting_fca6a315) | 0.4.3 | 347 | 2686 | 2026-01-28 |
|
||||
| 4️⃣ | [Async Context Compression](https://openwebui.com/posts/async_context_compression_b1655bc8) | 1.2.2 | 330 | 3436 | 2026-01-28 |
|
||||
| 5️⃣ | [Export to Excel](https://openwebui.com/posts/export_mulit_table_to_excel_244b8f9d) | 0.3.7 | 327 | 1520 | 2026-01-29 |
|
||||
| 6️⃣ | [Markdown Normalizer](https://openwebui.com/posts/markdown_normalizer_baaa8732) | 1.2.4 | 294 | 4270 | 2026-01-29 |
|
||||
### 📈 总下载量累计趋势
|
||||
|
||||
*完整统计请查看 [社区统计报告](./docs/community-stats.zh.md)*
|
||||

|
||||
|
||||
*完整统计与趋势图请查看 [社区统计报告](./docs/community-stats.zh.md)*
|
||||
<!-- STATS_END -->
|
||||
|
||||
## 🌟 精选功能
|
||||
|
||||
### 1. [GitHub Copilot SDK Pipe](https://openwebui.com/posts/github_copilot_official_sdk_pipe_ce96f7b4) [](https://openwebui.com/posts/github_copilot_official_sdk_pipe_ce96f7b4)
|
||||
|
||||
**OpenWebUI 终极 Agent 增强。** 支持原生代码执行(Python/Pandas)、原始文件直接分析以及交互式 Artifacts。
|
||||
> [!TIP]
|
||||
> **无需 GitHub Copilot 订阅!** 支持 **BYOK (Bring Your Own Key)** 模式,使用你自己的 OpenAI/Anthropic API Key。
|
||||
|
||||
#### 🌟 核心实战案例
|
||||
|
||||
- **[GitHub Star 增长预测](./docs/plugins/pipes/star-prediction-example.zh.md)**:自动解析 CSV 数据,编写 Python 分析脚本并生成动态增长看板。
|
||||
- **[视频高质量转换与压缩](./docs/plugins/pipes/video-processing-example.zh.md)**:直接调用系统级 FFmpeg 工具,实现录屏的加速、缩放及双阶段色彩优化。
|
||||
|
||||
### 2. [Smart Mind Map](https://openwebui.com/posts/turn_any_text_into_beautiful_mind_maps_3094c59a) [](https://openwebui.com/posts/turn_any_text_into_beautiful_mind_maps_3094c59a)
|
||||
|
||||
**体验浸入式思维。** 将复杂的对话瞬间转化为结构化、可点击的交互式思维导图,助力知识建模与逻辑提取。
|
||||
|
||||
### 3. [Smart Infographic](https://openwebui.com/posts/smart_infographic_ad6f0c7f) [](https://openwebui.com/posts/smart_infographic_ad6f0c7f)
|
||||
|
||||
**专业数据叙事。** 将零散信息转化为精美的信息图表(由 AntV 驱动),一键生成学术/汇报级的可视化总结。
|
||||
|
||||
### 4. [Export to Word Enhanced](https://openwebui.com/posts/export_to_word_enhanced_formatting_fca6a315) [](https://openwebui.com/posts/export_to_word_enhanced_formatting_fca6a315)
|
||||
|
||||
**高保真文档导出。** 将对话历史导出为格式完美的 Word 文档,完美保留标题、代码块、LaTeX 公式及 Mermaid 流程图。
|
||||
|
||||
### 5. [Async Context Compression](https://openwebui.com/posts/async_context_compression_b1655bc8) [](https://openwebui.com/posts/async_context_compression_b1655bc8)
|
||||
|
||||
**挑战 Token 極限。** 采用多专家异步压缩逻辑,在保持高吞吐量推理链的同时,大幅降低 Token 消耗。
|
||||
|
||||
## 📦 项目内容
|
||||
|
||||
### 🧩 插件 (Plugins)
|
||||
<!-- markdownlint-disable MD033 -->
|
||||
<details>
|
||||
<summary><b>🧩 插件 (Actions, Filters, Pipes, Pipelines)</b></summary>
|
||||
|
||||
位于 `plugins/` 目录,包含各类 Python 编写的功能增强插件:
|
||||
|
||||
#### Actions (交互增强)
|
||||
### Actions (交互增强)
|
||||
|
||||
- **Smart Mind Map** (`smart-mind-map`): 智能分析文本并生成交互式思维导图。
|
||||
- **Smart Infographic** (`infographic`): 基于 AntV 的智能信息图生成工具。
|
||||
@@ -48,33 +81,36 @@ OpenWebUI 增强功能集合。包含个人开发与收集的插件、提示词
|
||||
- **Export to Excel** (`export_to_excel`): 将对话内容导出为 Excel 文件。
|
||||
- **Export to Word** (`export_to_docx`): 将对话内容导出为 Word 文档。
|
||||
|
||||
#### Filters (消息处理)
|
||||
### Filters (消息处理)
|
||||
|
||||
- **GitHub Copilot SDK Files Filter** (`github_copilot_sdk_files_filter`): Copilot SDK 必备搭档。绕过 RAG,确保 Agent 能真正看到你的每一个文件。
|
||||
- **Web Gemini Multimodal Filter** (`web_gemini_multimodel_filter`): 为任意模型提供多模态能力(PDF、Office、视频等),支持智能路由。
|
||||
- **Async Context Compression** (`async-context-compression`): 异步上下文压缩,优化 Token 使用。
|
||||
- **Context Enhancement** (`context_enhancement_filter`): 上下文增强过滤器。
|
||||
- **Folder Memory** (`folder-memory`): 自动从对话中提取项目规则并注入到文件夹系统提示词中。
|
||||
- **Gemini Manifold Companion** (`gemini_manifold_companion`): Gemini Manifold 配套增强。
|
||||
- **Gemini Multimodal Filter** (`web_gemini_multimodel_filter`): 为任意模型提供多模态能力(PDF、Office、视频等),支持智能路由和字幕精修。
|
||||
- **Markdown Normalizer** (`markdown_normalizer`): 修复 LLM 输出中常见的 Markdown 格式问题。
|
||||
- **Multi-Model Context Merger** (`multi_model_context_merger`): 自动合并并注入多模型回答的上下文。
|
||||
|
||||
#### Pipes (模型管道)
|
||||
### Pipes (模型管道)
|
||||
|
||||
- **GitHub Copilot SDK** (`github-copilot-sdk`): GitHub Copilot SDK 官方集成。支持动态模型、多轮对话、流式输出、图片输入及无限会话。
|
||||
- **Gemini Manifold** (`gemini_mainfold`): 集成 Gemini 模型的管道。
|
||||
|
||||
#### Pipelines (工作流管道)
|
||||
### Pipelines (工作流管道)
|
||||
|
||||
- **MoE Prompt Refiner** (`moe_prompt_refiner`): 优化多模型 (MoE) 汇总请求的提示词,生成高质量的综合报告。
|
||||
|
||||
### 🎯 提示词 (Prompts)
|
||||
</details>
|
||||
<!-- markdownlint-enable MD033 -->
|
||||
|
||||
位于 `prompts/` 目录,包含精心调优的 System Prompts:
|
||||
<!-- markdownlint-disable MD033 -->
|
||||
<details>
|
||||
<summary><b>🎯 提示词 (Prompts - 多角色系统提示词)</b></summary>
|
||||
|
||||
- **Coding**: 编程辅助类提示词。
|
||||
- **Marketing**: 营销文案类提示词。
|
||||
位于 `docs/prompts/` 目录,包含精心调优的提示词集合:
|
||||
|
||||
每个提示词都独立保存为 Markdown 文件,可直接在 OpenWebUI 中使用。
|
||||
- **[Prompt Library](./docs/prompts/library.md)**: 编程、翻译、分析及营销等全领域提示词精选。
|
||||
|
||||
</details>
|
||||
<!-- markdownlint-enable MD033 -->
|
||||
|
||||
## 🛠️ 扩展 (Extensions)
|
||||
|
||||
@@ -84,6 +120,10 @@ Open WebUI 的前端增强扩展:
|
||||
|
||||
## 📖 开发文档
|
||||
|
||||
<!-- markdownlint-disable MD033 -->
|
||||
<details>
|
||||
<summary><b>📚 官方开发与运营指南</b></summary>
|
||||
|
||||
位于 `docs/zh/` 目录:
|
||||
|
||||
- **[插件开发权威指南](./docs/zh/plugin_development_guide.md)** - 整合了入门教程、核心 SDK 详解及最佳实践的系统化指南。 ⭐
|
||||
@@ -91,36 +131,11 @@ Open WebUI 的前端增强扩展:
|
||||
|
||||
更多示例请查看 `docs/examples/` 目录。
|
||||
|
||||
</details>
|
||||
<!-- markdownlint-enable MD033 -->
|
||||
|
||||
## 🚀 快速开始
|
||||
|
||||
本项目是一个资源集合,无需安装 Python 环境。你只需要下载对应的文件并导入到你的 OpenWebUI 实例中即可。
|
||||
|
||||
### 使用提示词 (Prompts)
|
||||
|
||||
1. 在 `/prompts` 目录中浏览并选择你感兴趣的提示词文件 (`.md`)。
|
||||
2. 复制文件内容。
|
||||
3. 在 OpenWebUI 聊天界面中,点击输入框上方的 "Prompt" 按钮。
|
||||
4. 粘贴内容并保存。
|
||||
|
||||
### 使用插件 (Plugins)
|
||||
|
||||
1. **从 OpenWebUI 社区安装 (推荐)**:
|
||||
- 访问我的主页: [Fu-Jie's Profile](https://openwebui.com/u/Fu-Jie)
|
||||
- 浏览插件列表,选择你喜欢的插件。
|
||||
- 点击 "Get" 按钮,将其直接导入到你的 OpenWebUI 实例中。
|
||||
|
||||
2. **手动安装**:
|
||||
- 在 `/plugins` 目录中浏览并下载你需要的插件文件 (`.py`)。
|
||||
- 打开 OpenWebUI 的 **管理员面板 (Admin Panel)** -> **设置 (Settings)** -> **插件 (Plugins)**。
|
||||
- 点击上传按钮,选择刚才下载的 `.py` 文件。
|
||||
- 上传成功后,刷新页面,你就可以在聊天设置或工具栏中启用该插件了。
|
||||
|
||||
### 贡献代码
|
||||
|
||||
如果你有优质的提示词或插件想要分享:
|
||||
|
||||
1. Fork 本仓库。
|
||||
2. 将你的文件添加到对应的 `prompts/` 或 `plugins/` 目录。
|
||||
3. 提交 Pull Request。
|
||||
|
||||
[贡献指南](./CONTRIBUTING_CN.md) | [更新日志](./CHANGELOG.md)
|
||||
|
||||
0
docs/.!55042!.DS_Store
Normal file
0
docs/.!55042!.DS_Store
Normal file
@@ -6,7 +6,7 @@ The Chinese version (README_CN.md) MUST be translated based on this English vers
|
||||
|
||||
[Brief description of what the plugin does. Keep it concise and engaging.]
|
||||
|
||||
**Author:** [Fu-Jie](https://github.com/Fu-Jie) | **Version:** 1.0.0 | **Project:** [Awesome OpenWebUI](https://github.com/Fu-Jie/awesome-openwebui) | **License:** MIT
|
||||
**Author:** [Fu-Jie](https://github.com/Fu-Jie) | **Version:** 1.0.0 | **Project:** [OpenWebUI Extensions](https://github.com/Fu-Jie/openwebui-extensions) | **License:** MIT
|
||||
|
||||
## What's New
|
||||
|
||||
@@ -39,15 +39,15 @@ The Chinese version (README_CN.md) MUST be translated based on this English vers
|
||||
|
||||
## ⭐ Support
|
||||
|
||||
If this plugin has been useful, a star on [Awesome OpenWebUI](https://github.com/Fu-Jie/awesome-openwebui) is a big motivation for me. Thank you for the support.
|
||||
If this plugin has been useful, a star on [OpenWebUI Extensions](https://github.com/Fu-Jie/openwebui-extensions) is a big motivation for me. Thank you for the support.
|
||||
|
||||
## Troubleshooting ❓
|
||||
|
||||
- **Plugin not working?**: Check if the filter/action is enabled in the model settings.
|
||||
- **Debug Logs**: Enable `SHOW_DEBUG_LOG` in Valves and check the browser console (F12) for detailed logs.
|
||||
- **Error Messages**: If you see an error, please copy the full error message and report it.
|
||||
- **Submit an Issue**: If you encounter any problems, please submit an issue on GitHub: [Awesome OpenWebUI Issues](https://github.com/Fu-Jie/awesome-openwebui/issues)
|
||||
- **Submit an Issue**: If you encounter any problems, please submit an issue on GitHub: [OpenWebUI Extensions Issues](https://github.com/Fu-Jie/openwebui-extensions/issues)
|
||||
|
||||
## Changelog
|
||||
|
||||
See the full history on GitHub: [Awesome OpenWebUI](https://github.com/Fu-Jie/awesome-openwebui)
|
||||
See the full history on GitHub: [OpenWebUI Extensions](https://github.com/Fu-Jie/openwebui-extensions)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"label": "downloads",
|
||||
"message": "3.7k",
|
||||
"message": "4.2k",
|
||||
"color": "blue",
|
||||
"namedLogo": "openwebui"
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"label": "followers",
|
||||
"message": "204",
|
||||
"message": "220",
|
||||
"color": "blue"
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"label": "plugins",
|
||||
"message": "20",
|
||||
"message": "22",
|
||||
"color": "green"
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"label": "points",
|
||||
"message": "257",
|
||||
"message": "271",
|
||||
"color": "orange"
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"label": "upvotes",
|
||||
"message": "220",
|
||||
"message": "231",
|
||||
"color": "brightgreen"
|
||||
}
|
||||
@@ -1,16 +1,18 @@
|
||||
{
|
||||
"total_posts": 20,
|
||||
"total_downloads": 3711,
|
||||
"total_views": 43662,
|
||||
"total_upvotes": 220,
|
||||
"total_posts": 22,
|
||||
"total_downloads": 4161,
|
||||
"total_views": 45988,
|
||||
"total_upvotes": 231,
|
||||
"total_downvotes": 2,
|
||||
"total_saves": 256,
|
||||
"total_comments": 47,
|
||||
"total_saves": 274,
|
||||
"total_comments": 55,
|
||||
"by_type": {
|
||||
"post": 3,
|
||||
"filter": 4,
|
||||
"pipe": 1,
|
||||
"action": 14,
|
||||
"unknown": 4,
|
||||
"filter": 1
|
||||
"action": 12,
|
||||
"prompt": 1,
|
||||
"review": 1
|
||||
},
|
||||
"posts": [
|
||||
{
|
||||
@@ -20,13 +22,13 @@
|
||||
"version": "0.9.2",
|
||||
"author": "Fu-Jie",
|
||||
"description": "Intelligently analyzes text content and generates interactive mind maps to help users structure and visualize knowledge.",
|
||||
"downloads": 883,
|
||||
"views": 7810,
|
||||
"downloads": 954,
|
||||
"views": 8395,
|
||||
"upvotes": 22,
|
||||
"saves": 48,
|
||||
"saves": 50,
|
||||
"comments": 13,
|
||||
"created_at": "2025-12-30",
|
||||
"updated_at": "2026-01-28",
|
||||
"created_at": "2025-12-31",
|
||||
"updated_at": "2026-01-29",
|
||||
"url": "https://openwebui.com/posts/turn_any_text_into_beautiful_mind_maps_3094c59a"
|
||||
},
|
||||
{
|
||||
@@ -36,45 +38,45 @@
|
||||
"version": "1.5.0",
|
||||
"author": "Fu-Jie",
|
||||
"description": "AI-powered infographic generator based on AntV Infographic. Supports professional templates, auto-icon matching, and SVG/PNG downloads.",
|
||||
"downloads": 635,
|
||||
"views": 5880,
|
||||
"downloads": 710,
|
||||
"views": 6719,
|
||||
"upvotes": 24,
|
||||
"saves": 33,
|
||||
"saves": 34,
|
||||
"comments": 10,
|
||||
"created_at": "2025-12-28",
|
||||
"updated_at": "2026-01-30",
|
||||
"updated_at": "2026-01-31",
|
||||
"url": "https://openwebui.com/posts/smart_infographic_ad6f0c7f"
|
||||
},
|
||||
{
|
||||
"title": "Export to Word (Enhanced)",
|
||||
"title": "Export to Word Enhanced",
|
||||
"slug": "export_to_word_enhanced_formatting_fca6a315",
|
||||
"type": "action",
|
||||
"version": "0.4.3",
|
||||
"version": "0.4.4",
|
||||
"author": "Fu-Jie",
|
||||
"description": "Export current conversation from Markdown to Word (.docx) with Mermaid diagrams rendered client-side (Mermaid.js, SVG+PNG), LaTeX math, real hyperlinks, improved tables, syntax highlighting, and blockquote support.",
|
||||
"downloads": 347,
|
||||
"views": 2686,
|
||||
"downloads": 383,
|
||||
"views": 3029,
|
||||
"upvotes": 14,
|
||||
"saves": 26,
|
||||
"comments": 2,
|
||||
"comments": 5,
|
||||
"created_at": "2026-01-03",
|
||||
"updated_at": "2026-01-28",
|
||||
"updated_at": "2026-02-07",
|
||||
"url": "https://openwebui.com/posts/export_to_word_enhanced_formatting_fca6a315"
|
||||
},
|
||||
{
|
||||
"title": "Async Context Compression",
|
||||
"slug": "async_context_compression_b1655bc8",
|
||||
"type": "action",
|
||||
"type": "filter",
|
||||
"version": "1.2.2",
|
||||
"author": "Fu-Jie",
|
||||
"description": "Reduces token consumption in long conversations while maintaining coherence through intelligent summarization and message compression.",
|
||||
"downloads": 330,
|
||||
"views": 3436,
|
||||
"downloads": 363,
|
||||
"views": 3759,
|
||||
"upvotes": 14,
|
||||
"saves": 33,
|
||||
"saves": 34,
|
||||
"comments": 0,
|
||||
"created_at": "2025-11-08",
|
||||
"updated_at": "2026-01-28",
|
||||
"updated_at": "2026-01-29",
|
||||
"url": "https://openwebui.com/posts/async_context_compression_b1655bc8"
|
||||
},
|
||||
{
|
||||
@@ -84,26 +86,26 @@
|
||||
"version": "0.3.7",
|
||||
"author": "Fu-Jie",
|
||||
"description": "Extracts tables from chat messages and exports them to Excel (.xlsx) files with smart formatting.",
|
||||
"downloads": 327,
|
||||
"views": 1520,
|
||||
"downloads": 342,
|
||||
"views": 1675,
|
||||
"upvotes": 7,
|
||||
"saves": 6,
|
||||
"comments": 0,
|
||||
"created_at": "2025-05-30",
|
||||
"updated_at": "2026-01-29",
|
||||
"updated_at": "2026-02-10",
|
||||
"url": "https://openwebui.com/posts/export_mulit_table_to_excel_244b8f9d"
|
||||
},
|
||||
{
|
||||
"title": "Markdown Normalizer",
|
||||
"slug": "markdown_normalizer_baaa8732",
|
||||
"type": "action",
|
||||
"type": "filter",
|
||||
"version": "1.2.4",
|
||||
"author": "Fu-Jie",
|
||||
"description": "A content normalizer filter that fixes common Markdown formatting issues in LLM outputs, such as broken code blocks, LaTeX formulas, and list formatting.",
|
||||
"downloads": 294,
|
||||
"views": 4270,
|
||||
"downloads": 341,
|
||||
"views": 4716,
|
||||
"upvotes": 17,
|
||||
"saves": 27,
|
||||
"saves": 30,
|
||||
"comments": 5,
|
||||
"created_at": "2026-01-12",
|
||||
"updated_at": "2026-01-29",
|
||||
@@ -116,26 +118,26 @@
|
||||
"version": "0.2.4",
|
||||
"author": "Fu-Jie",
|
||||
"description": "Quickly generates beautiful flashcards from text, extracting key points and categories.",
|
||||
"downloads": 213,
|
||||
"views": 3247,
|
||||
"downloads": 226,
|
||||
"views": 3387,
|
||||
"upvotes": 13,
|
||||
"saves": 14,
|
||||
"comments": 2,
|
||||
"created_at": "2025-12-30",
|
||||
"updated_at": "2026-01-28",
|
||||
"updated_at": "2026-01-29",
|
||||
"url": "https://openwebui.com/posts/flash_card_65a2ea8f"
|
||||
},
|
||||
{
|
||||
"title": "AI Task Instruction Generator",
|
||||
"slug": "ai_task_instruction_generator_9bab8b37",
|
||||
"type": "unknown",
|
||||
"type": "prompt",
|
||||
"version": "",
|
||||
"author": "",
|
||||
"description": "",
|
||||
"downloads": 153,
|
||||
"views": 2234,
|
||||
"upvotes": 8,
|
||||
"saves": 3,
|
||||
"downloads": 202,
|
||||
"views": 2784,
|
||||
"upvotes": 9,
|
||||
"saves": 6,
|
||||
"comments": 0,
|
||||
"created_at": "2026-01-28",
|
||||
"updated_at": "2026-01-28",
|
||||
@@ -148,8 +150,8 @@
|
||||
"version": "1.0.0",
|
||||
"author": "Fu-Jie",
|
||||
"description": "A comprehensive thinking lens that dives deep into any content - from context to logic, insights, and action paths.",
|
||||
"downloads": 134,
|
||||
"views": 1162,
|
||||
"downloads": 147,
|
||||
"views": 1250,
|
||||
"upvotes": 6,
|
||||
"saves": 11,
|
||||
"comments": 0,
|
||||
@@ -158,36 +160,36 @@
|
||||
"url": "https://openwebui.com/posts/deep_dive_c0b846e4"
|
||||
},
|
||||
{
|
||||
"title": "导出为 Word (增强版)",
|
||||
"title": "导出为Word增强版",
|
||||
"slug": "导出为_word_支持公式流程图表格和代码块_8a6306c0",
|
||||
"type": "action",
|
||||
"version": "0.4.3",
|
||||
"version": "0.4.4",
|
||||
"author": "Fu-Jie",
|
||||
"description": "将对话导出为 Word (.docx),支持 Mermaid 图表 (客户端渲染 SVG+PNG)、LaTeX 数学公式、真实超链接、增强表格格式、代码高亮和引用块。",
|
||||
"downloads": 119,
|
||||
"views": 2111,
|
||||
"downloads": 128,
|
||||
"views": 2219,
|
||||
"upvotes": 13,
|
||||
"saves": 6,
|
||||
"saves": 7,
|
||||
"comments": 4,
|
||||
"created_at": "2026-01-04",
|
||||
"updated_at": "2026-01-28",
|
||||
"updated_at": "2026-02-07",
|
||||
"url": "https://openwebui.com/posts/导出为_word_支持公式流程图表格和代码块_8a6306c0"
|
||||
},
|
||||
{
|
||||
"title": "智能信息图",
|
||||
"slug": "智能信息图_e04a48ff",
|
||||
"type": "action",
|
||||
"version": "1.5.0",
|
||||
"title": "GitHub Copilot Official SDK Pipe",
|
||||
"slug": "github_copilot_official_sdk_pipe_ce96f7b4",
|
||||
"type": "pipe",
|
||||
"version": "0.6.2",
|
||||
"author": "Fu-Jie",
|
||||
"description": "基于 AntV Infographic 的智能信息图生成插件。支持多种专业模板,自动图标匹配,并提供 SVG/PNG 下载功能。",
|
||||
"downloads": 56,
|
||||
"views": 1006,
|
||||
"upvotes": 10,
|
||||
"saves": 1,
|
||||
"comments": 0,
|
||||
"created_at": "2025-12-28",
|
||||
"updated_at": "2026-01-29",
|
||||
"url": "https://openwebui.com/posts/智能信息图_e04a48ff"
|
||||
"description": "Integrate GitHub Copilot SDK. Supports dynamic models, multi-turn conversation, streaming, multimodal input, infinite sessions, and frontend debug logging.",
|
||||
"downloads": 107,
|
||||
"views": 2412,
|
||||
"upvotes": 14,
|
||||
"saves": 9,
|
||||
"comments": 6,
|
||||
"created_at": "2026-01-26",
|
||||
"updated_at": "2026-02-10",
|
||||
"url": "https://openwebui.com/posts/github_copilot_official_sdk_pipe_ce96f7b4"
|
||||
},
|
||||
{
|
||||
"title": "📂 Folder Memory – Auto-Evolving Project Context",
|
||||
@@ -196,8 +198,8 @@
|
||||
"version": "0.1.0",
|
||||
"author": "Fu-Jie",
|
||||
"description": "Automatically extracts project rules from conversations and injects them into the folder's system prompt.",
|
||||
"downloads": 56,
|
||||
"views": 1209,
|
||||
"downloads": 61,
|
||||
"views": 1318,
|
||||
"upvotes": 6,
|
||||
"saves": 8,
|
||||
"comments": 0,
|
||||
@@ -206,20 +208,20 @@
|
||||
"url": "https://openwebui.com/posts/folder_memory_auto_evolving_project_context_4a9875b2"
|
||||
},
|
||||
{
|
||||
"title": "GitHub Copilot Official SDK Pipe",
|
||||
"slug": "github_copilot_official_sdk_pipe_ce96f7b4",
|
||||
"type": "pipe",
|
||||
"version": "0.3.0",
|
||||
"title": "智能信息图",
|
||||
"slug": "智能信息图_e04a48ff",
|
||||
"type": "action",
|
||||
"version": "1.5.0",
|
||||
"author": "Fu-Jie",
|
||||
"description": "Integrate GitHub Copilot SDK. Supports dynamic models, multi-turn conversation, streaming, multimodal input, infinite sessions, and frontend debug logging.",
|
||||
"downloads": 52,
|
||||
"views": 1882,
|
||||
"upvotes": 12,
|
||||
"saves": 6,
|
||||
"comments": 1,
|
||||
"created_at": "2026-01-26",
|
||||
"updated_at": "2026-02-07",
|
||||
"url": "https://openwebui.com/posts/github_copilot_official_sdk_pipe_ce96f7b4"
|
||||
"description": "基于 AntV Infographic 的智能信息图生成插件。支持多种专业模板,自动图标匹配,并提供 SVG/PNG 下载功能。",
|
||||
"downloads": 58,
|
||||
"views": 1066,
|
||||
"upvotes": 10,
|
||||
"saves": 1,
|
||||
"comments": 0,
|
||||
"created_at": "2025-12-28",
|
||||
"updated_at": "2026-01-29",
|
||||
"url": "https://openwebui.com/posts/智能信息图_e04a48ff"
|
||||
},
|
||||
{
|
||||
"title": "思维导图",
|
||||
@@ -228,13 +230,13 @@
|
||||
"version": "0.9.2",
|
||||
"author": "Fu-Jie",
|
||||
"description": "智能分析文本内容,生成交互式思维导图,帮助用户结构化和可视化知识。",
|
||||
"downloads": 37,
|
||||
"views": 564,
|
||||
"downloads": 39,
|
||||
"views": 589,
|
||||
"upvotes": 6,
|
||||
"saves": 2,
|
||||
"comments": 0,
|
||||
"created_at": "2025-12-31",
|
||||
"updated_at": "2026-01-28",
|
||||
"updated_at": "2026-01-29",
|
||||
"url": "https://openwebui.com/posts/智能生成交互式思维导图帮助用户可视化知识_8d4b097b"
|
||||
},
|
||||
{
|
||||
@@ -244,13 +246,13 @@
|
||||
"version": "1.2.2",
|
||||
"author": "Fu-Jie",
|
||||
"description": "通过智能摘要和消息压缩,降低长对话的 token 消耗,同时保持对话连贯性。",
|
||||
"downloads": 31,
|
||||
"views": 628,
|
||||
"downloads": 33,
|
||||
"views": 669,
|
||||
"upvotes": 7,
|
||||
"saves": 4,
|
||||
"saves": 5,
|
||||
"comments": 0,
|
||||
"created_at": "2025-11-08",
|
||||
"updated_at": "2026-01-28",
|
||||
"updated_at": "2026-01-29",
|
||||
"url": "https://openwebui.com/posts/异步上下文压缩_5c0617cb"
|
||||
},
|
||||
{
|
||||
@@ -261,12 +263,12 @@
|
||||
"author": "Fu-Jie",
|
||||
"description": "快速将文本提炼为精美的学习记忆卡片,支持核心要点提取与分类。",
|
||||
"downloads": 27,
|
||||
"views": 661,
|
||||
"views": 690,
|
||||
"upvotes": 8,
|
||||
"saves": 1,
|
||||
"comments": 0,
|
||||
"created_at": "2025-12-30",
|
||||
"updated_at": "2026-01-28",
|
||||
"updated_at": "2026-01-29",
|
||||
"url": "https://openwebui.com/posts/闪记卡生成插件_4a31eac3"
|
||||
},
|
||||
{
|
||||
@@ -276,8 +278,8 @@
|
||||
"version": "1.0.0",
|
||||
"author": "Fu-Jie",
|
||||
"description": "全方位的思维透镜 —— 从背景全景到逻辑脉络,从深度洞察到行动路径。",
|
||||
"downloads": 17,
|
||||
"views": 400,
|
||||
"downloads": 24,
|
||||
"views": 444,
|
||||
"upvotes": 5,
|
||||
"saves": 1,
|
||||
"comments": 0,
|
||||
@@ -286,30 +288,62 @@
|
||||
"url": "https://openwebui.com/posts/精读_99830b0f"
|
||||
},
|
||||
{
|
||||
"title": "🚀 Open WebUI Prompt Plus: AI-Powered Prompt Manager",
|
||||
"slug": "open_webui_prompt_plus_ai_powered_prompt_manager_s_15fa060e",
|
||||
"type": "unknown",
|
||||
"title": "GitHub Copilot SDK Files Filter",
|
||||
"slug": "github_copilot_sdk_files_filter_403a62ee",
|
||||
"type": "filter",
|
||||
"version": "0.1.2",
|
||||
"author": "Fu-Jie",
|
||||
"description": "A specialized filter to bypass OpenWebUI's default RAG for GitHub Copilot SDK models. It moves uploaded files to a safe location ('copilot_files') so the Copilot Pipe can process them natively without interference.",
|
||||
"downloads": 16,
|
||||
"views": 867,
|
||||
"upvotes": 3,
|
||||
"saves": 0,
|
||||
"comments": 0,
|
||||
"created_at": "2026-02-09",
|
||||
"updated_at": "2026-02-10",
|
||||
"url": "https://openwebui.com/posts/github_copilot_sdk_files_filter_403a62ee"
|
||||
},
|
||||
{
|
||||
"title": "🚀 GitHub Copilot SDK Pipe: AI That Executes, Not Just Talks",
|
||||
"slug": "github_copilot_sdk_for_openwebui_elevate_your_ai_t_a140f293",
|
||||
"type": "post",
|
||||
"version": "",
|
||||
"author": "",
|
||||
"description": "",
|
||||
"downloads": 0,
|
||||
"views": 1429,
|
||||
"views": 296,
|
||||
"upvotes": 5,
|
||||
"saves": 0,
|
||||
"comments": 0,
|
||||
"created_at": "2026-02-10",
|
||||
"updated_at": "2026-02-10",
|
||||
"url": "https://openwebui.com/posts/github_copilot_sdk_for_openwebui_elevate_your_ai_t_a140f293"
|
||||
},
|
||||
{
|
||||
"title": "🚀 Open WebUI Prompt Plus: AI-Powered Prompt Manager",
|
||||
"slug": "open_webui_prompt_plus_ai_powered_prompt_manager_s_15fa060e",
|
||||
"type": "post",
|
||||
"version": "",
|
||||
"author": "",
|
||||
"description": "",
|
||||
"downloads": 0,
|
||||
"views": 1526,
|
||||
"upvotes": 12,
|
||||
"saves": 17,
|
||||
"saves": 19,
|
||||
"comments": 8,
|
||||
"created_at": "2026-01-25",
|
||||
"updated_at": "2026-01-28",
|
||||
"updated_at": "2026-01-29",
|
||||
"url": "https://openwebui.com/posts/open_webui_prompt_plus_ai_powered_prompt_manager_s_15fa060e"
|
||||
},
|
||||
{
|
||||
"title": "Review of Claude Haiku 4.5",
|
||||
"slug": "review_of_claude_haiku_45_41b0db39",
|
||||
"type": "unknown",
|
||||
"type": "review",
|
||||
"version": "",
|
||||
"author": "",
|
||||
"description": "",
|
||||
"downloads": 0,
|
||||
"views": 135,
|
||||
"views": 161,
|
||||
"upvotes": 2,
|
||||
"saves": 0,
|
||||
"comments": 0,
|
||||
@@ -320,14 +354,14 @@
|
||||
{
|
||||
"title": " 🛠️ Debug Open WebUI Plugins in Your Browser",
|
||||
"slug": "debug_open_webui_plugins_in_your_browser_81bf7960",
|
||||
"type": "unknown",
|
||||
"type": "post",
|
||||
"version": "",
|
||||
"author": "",
|
||||
"description": "",
|
||||
"downloads": 0,
|
||||
"views": 1392,
|
||||
"views": 1421,
|
||||
"upvotes": 14,
|
||||
"saves": 9,
|
||||
"saves": 10,
|
||||
"comments": 2,
|
||||
"created_at": "2026-01-10",
|
||||
"updated_at": "2026-01-10",
|
||||
@@ -339,11 +373,11 @@
|
||||
"name": "Fu-Jie",
|
||||
"profile_url": "https://openwebui.com/u/Fu-Jie",
|
||||
"profile_image": "https://community.s3.openwebui.com/uploads/users/b15d1348-4347-42b4-b815-e053342d6cb0/profile_d9510745-4bd4-4f8f-a997-4a21847d9300.webp",
|
||||
"followers": 204,
|
||||
"followers": 220,
|
||||
"following": 4,
|
||||
"total_points": 257,
|
||||
"post_points": 218,
|
||||
"comment_points": 39,
|
||||
"contributions": 41
|
||||
"total_points": 271,
|
||||
"post_points": 229,
|
||||
"comment_points": 42,
|
||||
"contributions": 48
|
||||
}
|
||||
}
|
||||
@@ -1,46 +1,60 @@
|
||||
# 📊 OpenWebUI Community Stats Report
|
||||
|
||||
> 📅 Updated: 2026-02-07 17:12
|
||||
> 
|
||||
|
||||
### 📈 Total Downloads Trend
|
||||

|
||||
|
||||
> *Blue: Downloads | Purple: Views (Real-time dynamic)*
|
||||
|
||||
### 📂 Content Distribution
|
||||

|
||||
|
||||
|
||||
## 📈 Overview
|
||||
|
||||
| Metric | Value |
|
||||
|------|------|
|
||||
| 📝 Total Posts | 20 |
|
||||
| ⬇️ Total Downloads | 3711 |
|
||||
| 👁️ Total Views | 43662 |
|
||||
| 👍 Total Upvotes | 220 |
|
||||
| 💾 Total Saves | 256 |
|
||||
| 💬 Total Comments | 47 |
|
||||
| 📝 Total Posts |  |
|
||||
| ⬇️ Total Downloads |  |
|
||||
| 👁️ Total Views |  |
|
||||
| 👍 Total Upvotes |  |
|
||||
| 💾 Total Saves |  |
|
||||
| ⭐ Author Points |  |
|
||||
| 👥 Followers |  |
|
||||
|
||||
## 📂 By Type
|
||||
|
||||
- **pipe**: 1
|
||||
- **action**: 14
|
||||
- **unknown**: 4
|
||||
- **filter**: 1
|
||||
- 
|
||||
- 
|
||||
- 
|
||||
- 
|
||||
- 
|
||||
- 
|
||||
|
||||
## 📋 Posts List
|
||||
|
||||
| Rank | Title | Type | Version | Downloads | Views | Upvotes | Saves | Updated |
|
||||
|:---:|------|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
|
||||
| 1 | [Smart Mind Map](https://openwebui.com/posts/turn_any_text_into_beautiful_mind_maps_3094c59a) | action | 0.9.2 | 883 | 7810 | 22 | 48 | 2026-01-28 |
|
||||
| 2 | [Smart Infographic](https://openwebui.com/posts/smart_infographic_ad6f0c7f) | action | 1.5.0 | 635 | 5880 | 24 | 33 | 2026-01-30 |
|
||||
| 3 | [Export to Word (Enhanced)](https://openwebui.com/posts/export_to_word_enhanced_formatting_fca6a315) | action | 0.4.3 | 347 | 2686 | 14 | 26 | 2026-01-28 |
|
||||
| 4 | [Async Context Compression](https://openwebui.com/posts/async_context_compression_b1655bc8) | action | 1.2.2 | 330 | 3436 | 14 | 33 | 2026-01-28 |
|
||||
| 5 | [Export to Excel](https://openwebui.com/posts/export_mulit_table_to_excel_244b8f9d) | action | 0.3.7 | 327 | 1520 | 7 | 6 | 2026-01-29 |
|
||||
| 6 | [Markdown Normalizer](https://openwebui.com/posts/markdown_normalizer_baaa8732) | action | 1.2.4 | 294 | 4270 | 17 | 27 | 2026-01-29 |
|
||||
| 7 | [Flash Card](https://openwebui.com/posts/flash_card_65a2ea8f) | action | 0.2.4 | 213 | 3247 | 13 | 14 | 2026-01-28 |
|
||||
| 8 | [AI Task Instruction Generator](https://openwebui.com/posts/ai_task_instruction_generator_9bab8b37) | unknown | | 153 | 2234 | 8 | 3 | 2026-01-28 |
|
||||
| 9 | [Deep Dive](https://openwebui.com/posts/deep_dive_c0b846e4) | action | 1.0.0 | 134 | 1162 | 6 | 11 | 2026-01-08 |
|
||||
| 10 | [导出为 Word (增强版)](https://openwebui.com/posts/导出为_word_支持公式流程图表格和代码块_8a6306c0) | action | 0.4.3 | 119 | 2111 | 13 | 6 | 2026-01-28 |
|
||||
| 11 | [智能信息图](https://openwebui.com/posts/智能信息图_e04a48ff) | action | 1.5.0 | 56 | 1006 | 10 | 1 | 2026-01-29 |
|
||||
| 12 | [📂 Folder Memory – Auto-Evolving Project Context](https://openwebui.com/posts/folder_memory_auto_evolving_project_context_4a9875b2) | filter | 0.1.0 | 56 | 1209 | 6 | 8 | 2026-01-20 |
|
||||
| 13 | [GitHub Copilot Official SDK Pipe](https://openwebui.com/posts/github_copilot_official_sdk_pipe_ce96f7b4) | pipe | 0.3.0 | 52 | 1882 | 12 | 6 | 2026-02-07 |
|
||||
| 14 | [思维导图](https://openwebui.com/posts/智能生成交互式思维导图帮助用户可视化知识_8d4b097b) | action | 0.9.2 | 37 | 564 | 6 | 2 | 2026-01-28 |
|
||||
| 15 | [异步上下文压缩](https://openwebui.com/posts/异步上下文压缩_5c0617cb) | action | 1.2.2 | 31 | 628 | 7 | 4 | 2026-01-28 |
|
||||
| 16 | [闪记卡 (Flash Card)](https://openwebui.com/posts/闪记卡生成插件_4a31eac3) | action | 0.2.4 | 27 | 661 | 8 | 1 | 2026-01-28 |
|
||||
| 17 | [精读](https://openwebui.com/posts/精读_99830b0f) | action | 1.0.0 | 17 | 400 | 5 | 1 | 2026-01-08 |
|
||||
| 18 | [🚀 Open WebUI Prompt Plus: AI-Powered Prompt Manager](https://openwebui.com/posts/open_webui_prompt_plus_ai_powered_prompt_manager_s_15fa060e) | unknown | | 0 | 1429 | 12 | 17 | 2026-01-28 |
|
||||
| 19 | [Review of Claude Haiku 4.5](https://openwebui.com/posts/review_of_claude_haiku_45_41b0db39) | unknown | | 0 | 135 | 2 | 0 | 2026-01-14 |
|
||||
| 20 | [ 🛠️ Debug Open WebUI Plugins in Your Browser](https://openwebui.com/posts/debug_open_webui_plugins_in_your_browser_81bf7960) | unknown | | 0 | 1392 | 14 | 9 | 2026-01-10 |
|
||||
| 1 | [Smart Mind Map](https://openwebui.com/posts/turn_any_text_into_beautiful_mind_maps_3094c59a) | action |  |  |  |  |  | 2026-01-29 |
|
||||
| 2 | [Smart Infographic](https://openwebui.com/posts/smart_infographic_ad6f0c7f) | action |  |  |  |  |  | 2026-01-31 |
|
||||
| 3 | [Export to Word Enhanced](https://openwebui.com/posts/export_to_word_enhanced_formatting_fca6a315) | action |  |  |  |  |  | 2026-02-07 |
|
||||
| 4 | [Async Context Compression](https://openwebui.com/posts/async_context_compression_b1655bc8) | filter |  |  |  |  |  | 2026-01-29 |
|
||||
| 5 | [Export to Excel](https://openwebui.com/posts/export_mulit_table_to_excel_244b8f9d) | action |  |  |  |  |  | 2026-02-10 |
|
||||
| 6 | [Markdown Normalizer](https://openwebui.com/posts/markdown_normalizer_baaa8732) | filter |  |  |  |  |  | 2026-01-29 |
|
||||
| 7 | [Flash Card](https://openwebui.com/posts/flash_card_65a2ea8f) | action |  |  |  |  |  | 2026-01-29 |
|
||||
| 8 | [AI Task Instruction Generator](https://openwebui.com/posts/ai_task_instruction_generator_9bab8b37) | prompt |  |  |  |  |  | 2026-01-28 |
|
||||
| 9 | [Deep Dive](https://openwebui.com/posts/deep_dive_c0b846e4) | action |  |  |  |  |  | 2026-01-08 |
|
||||
| 10 | [导出为Word增强版](https://openwebui.com/posts/导出为_word_支持公式流程图表格和代码块_8a6306c0) | action |  |  |  |  |  | 2026-02-07 |
|
||||
| 11 | [GitHub Copilot Official SDK Pipe](https://openwebui.com/posts/github_copilot_official_sdk_pipe_ce96f7b4) | pipe |  |  |  |  |  | 2026-02-10 |
|
||||
| 12 | [📂 Folder Memory – Auto-Evolving Project Context](https://openwebui.com/posts/folder_memory_auto_evolving_project_context_4a9875b2) | filter |  |  |  |  |  | 2026-01-20 |
|
||||
| 13 | [智能信息图](https://openwebui.com/posts/智能信息图_e04a48ff) | action |  |  |  |  |  | 2026-01-29 |
|
||||
| 14 | [思维导图](https://openwebui.com/posts/智能生成交互式思维导图帮助用户可视化知识_8d4b097b) | action |  |  |  |  |  | 2026-01-29 |
|
||||
| 15 | [异步上下文压缩](https://openwebui.com/posts/异步上下文压缩_5c0617cb) | action |  |  |  |  |  | 2026-01-29 |
|
||||
| 16 | [闪记卡 (Flash Card)](https://openwebui.com/posts/闪记卡生成插件_4a31eac3) | action |  |  |  |  |  | 2026-01-29 |
|
||||
| 17 | [精读](https://openwebui.com/posts/精读_99830b0f) | action |  |  |  |  |  | 2026-01-08 |
|
||||
| 18 | [GitHub Copilot SDK Files Filter](https://openwebui.com/posts/github_copilot_sdk_files_filter_403a62ee) | filter |  |  |  |  |  | 2026-02-10 |
|
||||
| 19 | [🚀 GitHub Copilot SDK Pipe: AI That Executes, Not Just Talks](https://openwebui.com/posts/github_copilot_sdk_for_openwebui_elevate_your_ai_t_a140f293) | post |  |  |  |  |  | 2026-02-10 |
|
||||
| 20 | [🚀 Open WebUI Prompt Plus: AI-Powered Prompt Manager](https://openwebui.com/posts/open_webui_prompt_plus_ai_powered_prompt_manager_s_15fa060e) | post |  |  |  |  |  | 2026-01-29 |
|
||||
| 21 | [Review of Claude Haiku 4.5](https://openwebui.com/posts/review_of_claude_haiku_45_41b0db39) | review |  |  |  |  |  | 2026-01-14 |
|
||||
| 22 | [ 🛠️ Debug Open WebUI Plugins in Your Browser](https://openwebui.com/posts/debug_open_webui_plugins_in_your_browser_81bf7960) | post |  |  |  |  |  | 2026-01-10 |
|
||||
|
||||
@@ -1,46 +1,60 @@
|
||||
# 📊 OpenWebUI 社区统计报告
|
||||
|
||||
> 📅 更新时间: 2026-02-07 17:12
|
||||
> 
|
||||
|
||||
### 📈 总下载量累计趋势
|
||||

|
||||
|
||||
> *蓝色: 总下载量 | 紫色: 总浏览量 (实时动态生成)*
|
||||
|
||||
### 📂 内容分类占比 (Distribution)
|
||||

|
||||
|
||||
|
||||
## 📈 总览
|
||||
|
||||
| 指标 | 数值 |
|
||||
|------|------|
|
||||
| 📝 发布数量 | 20 |
|
||||
| ⬇️ 总下载量 | 3711 |
|
||||
| 👁️ 总浏览量 | 43662 |
|
||||
| 👍 总点赞数 | 220 |
|
||||
| 💾 总收藏数 | 256 |
|
||||
| 💬 总评论数 | 47 |
|
||||
| 📝 发布数量 |  |
|
||||
| ⬇️ 总下载量 |  |
|
||||
| 👁️ 总浏览量 |  |
|
||||
| 👍 总点赞数 |  |
|
||||
| 💾 总收藏数 |  |
|
||||
| ⭐ 作者总积分 |  |
|
||||
| 👥 粉丝数量 |  |
|
||||
|
||||
## 📂 按类型分类
|
||||
|
||||
- **pipe**: 1
|
||||
- **action**: 14
|
||||
- **unknown**: 4
|
||||
- **filter**: 1
|
||||
- 
|
||||
- 
|
||||
- 
|
||||
- 
|
||||
- 
|
||||
- 
|
||||
|
||||
## 📋 发布列表
|
||||
|
||||
| 排名 | 标题 | 类型 | 版本 | 下载 | 浏览 | 点赞 | 收藏 | 更新日期 |
|
||||
|:---:|------|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
|
||||
| 1 | [Smart Mind Map](https://openwebui.com/posts/turn_any_text_into_beautiful_mind_maps_3094c59a) | action | 0.9.2 | 883 | 7810 | 22 | 48 | 2026-01-28 |
|
||||
| 2 | [Smart Infographic](https://openwebui.com/posts/smart_infographic_ad6f0c7f) | action | 1.5.0 | 635 | 5880 | 24 | 33 | 2026-01-30 |
|
||||
| 3 | [Export to Word (Enhanced)](https://openwebui.com/posts/export_to_word_enhanced_formatting_fca6a315) | action | 0.4.3 | 347 | 2686 | 14 | 26 | 2026-01-28 |
|
||||
| 4 | [Async Context Compression](https://openwebui.com/posts/async_context_compression_b1655bc8) | action | 1.2.2 | 330 | 3436 | 14 | 33 | 2026-01-28 |
|
||||
| 5 | [Export to Excel](https://openwebui.com/posts/export_mulit_table_to_excel_244b8f9d) | action | 0.3.7 | 327 | 1520 | 7 | 6 | 2026-01-29 |
|
||||
| 6 | [Markdown Normalizer](https://openwebui.com/posts/markdown_normalizer_baaa8732) | action | 1.2.4 | 294 | 4270 | 17 | 27 | 2026-01-29 |
|
||||
| 7 | [Flash Card](https://openwebui.com/posts/flash_card_65a2ea8f) | action | 0.2.4 | 213 | 3247 | 13 | 14 | 2026-01-28 |
|
||||
| 8 | [AI Task Instruction Generator](https://openwebui.com/posts/ai_task_instruction_generator_9bab8b37) | unknown | | 153 | 2234 | 8 | 3 | 2026-01-28 |
|
||||
| 9 | [Deep Dive](https://openwebui.com/posts/deep_dive_c0b846e4) | action | 1.0.0 | 134 | 1162 | 6 | 11 | 2026-01-08 |
|
||||
| 10 | [导出为 Word (增强版)](https://openwebui.com/posts/导出为_word_支持公式流程图表格和代码块_8a6306c0) | action | 0.4.3 | 119 | 2111 | 13 | 6 | 2026-01-28 |
|
||||
| 11 | [智能信息图](https://openwebui.com/posts/智能信息图_e04a48ff) | action | 1.5.0 | 56 | 1006 | 10 | 1 | 2026-01-29 |
|
||||
| 12 | [📂 Folder Memory – Auto-Evolving Project Context](https://openwebui.com/posts/folder_memory_auto_evolving_project_context_4a9875b2) | filter | 0.1.0 | 56 | 1209 | 6 | 8 | 2026-01-20 |
|
||||
| 13 | [GitHub Copilot Official SDK Pipe](https://openwebui.com/posts/github_copilot_official_sdk_pipe_ce96f7b4) | pipe | 0.3.0 | 52 | 1882 | 12 | 6 | 2026-02-07 |
|
||||
| 14 | [思维导图](https://openwebui.com/posts/智能生成交互式思维导图帮助用户可视化知识_8d4b097b) | action | 0.9.2 | 37 | 564 | 6 | 2 | 2026-01-28 |
|
||||
| 15 | [异步上下文压缩](https://openwebui.com/posts/异步上下文压缩_5c0617cb) | action | 1.2.2 | 31 | 628 | 7 | 4 | 2026-01-28 |
|
||||
| 16 | [闪记卡 (Flash Card)](https://openwebui.com/posts/闪记卡生成插件_4a31eac3) | action | 0.2.4 | 27 | 661 | 8 | 1 | 2026-01-28 |
|
||||
| 17 | [精读](https://openwebui.com/posts/精读_99830b0f) | action | 1.0.0 | 17 | 400 | 5 | 1 | 2026-01-08 |
|
||||
| 18 | [🚀 Open WebUI Prompt Plus: AI-Powered Prompt Manager](https://openwebui.com/posts/open_webui_prompt_plus_ai_powered_prompt_manager_s_15fa060e) | unknown | | 0 | 1429 | 12 | 17 | 2026-01-28 |
|
||||
| 19 | [Review of Claude Haiku 4.5](https://openwebui.com/posts/review_of_claude_haiku_45_41b0db39) | unknown | | 0 | 135 | 2 | 0 | 2026-01-14 |
|
||||
| 20 | [ 🛠️ Debug Open WebUI Plugins in Your Browser](https://openwebui.com/posts/debug_open_webui_plugins_in_your_browser_81bf7960) | unknown | | 0 | 1392 | 14 | 9 | 2026-01-10 |
|
||||
| 1 | [Smart Mind Map](https://openwebui.com/posts/turn_any_text_into_beautiful_mind_maps_3094c59a) | action |  |  |  |  |  | 2026-01-29 |
|
||||
| 2 | [Smart Infographic](https://openwebui.com/posts/smart_infographic_ad6f0c7f) | action |  |  |  |  |  | 2026-01-31 |
|
||||
| 3 | [Export to Word Enhanced](https://openwebui.com/posts/export_to_word_enhanced_formatting_fca6a315) | action |  |  |  |  |  | 2026-02-07 |
|
||||
| 4 | [Async Context Compression](https://openwebui.com/posts/async_context_compression_b1655bc8) | filter |  |  |  |  |  | 2026-01-29 |
|
||||
| 5 | [Export to Excel](https://openwebui.com/posts/export_mulit_table_to_excel_244b8f9d) | action |  |  |  |  |  | 2026-02-10 |
|
||||
| 6 | [Markdown Normalizer](https://openwebui.com/posts/markdown_normalizer_baaa8732) | filter |  |  |  |  |  | 2026-01-29 |
|
||||
| 7 | [Flash Card](https://openwebui.com/posts/flash_card_65a2ea8f) | action |  |  |  |  |  | 2026-01-29 |
|
||||
| 8 | [AI Task Instruction Generator](https://openwebui.com/posts/ai_task_instruction_generator_9bab8b37) | prompt |  |  |  |  |  | 2026-01-28 |
|
||||
| 9 | [Deep Dive](https://openwebui.com/posts/deep_dive_c0b846e4) | action |  |  |  |  |  | 2026-01-08 |
|
||||
| 10 | [导出为Word增强版](https://openwebui.com/posts/导出为_word_支持公式流程图表格和代码块_8a6306c0) | action |  |  |  |  |  | 2026-02-07 |
|
||||
| 11 | [GitHub Copilot Official SDK Pipe](https://openwebui.com/posts/github_copilot_official_sdk_pipe_ce96f7b4) | pipe |  |  |  |  |  | 2026-02-10 |
|
||||
| 12 | [📂 Folder Memory – Auto-Evolving Project Context](https://openwebui.com/posts/folder_memory_auto_evolving_project_context_4a9875b2) | filter |  |  |  |  |  | 2026-01-20 |
|
||||
| 13 | [智能信息图](https://openwebui.com/posts/智能信息图_e04a48ff) | action |  |  |  |  |  | 2026-01-29 |
|
||||
| 14 | [思维导图](https://openwebui.com/posts/智能生成交互式思维导图帮助用户可视化知识_8d4b097b) | action |  |  |  |  |  | 2026-01-29 |
|
||||
| 15 | [异步上下文压缩](https://openwebui.com/posts/异步上下文压缩_5c0617cb) | action |  |  |  |  |  | 2026-01-29 |
|
||||
| 16 | [闪记卡 (Flash Card)](https://openwebui.com/posts/闪记卡生成插件_4a31eac3) | action |  |  |  |  |  | 2026-01-29 |
|
||||
| 17 | [精读](https://openwebui.com/posts/精读_99830b0f) | action |  |  |  |  |  | 2026-01-08 |
|
||||
| 18 | [GitHub Copilot SDK Files Filter](https://openwebui.com/posts/github_copilot_sdk_files_filter_403a62ee) | filter |  |  |  |  |  | 2026-02-10 |
|
||||
| 19 | [🚀 GitHub Copilot SDK Pipe: AI That Executes, Not Just Talks](https://openwebui.com/posts/github_copilot_sdk_for_openwebui_elevate_your_ai_t_a140f293) | post |  |  |  |  |  | 2026-02-10 |
|
||||
| 20 | [🚀 Open WebUI Prompt Plus: AI-Powered Prompt Manager](https://openwebui.com/posts/open_webui_prompt_plus_ai_powered_prompt_manager_s_15fa060e) | post |  |  |  |  |  | 2026-01-29 |
|
||||
| 21 | [Review of Claude Haiku 4.5](https://openwebui.com/posts/review_of_claude_haiku_45_41b0db39) | review |  |  |  |  |  | 2026-01-14 |
|
||||
| 22 | [ 🛠️ Debug Open WebUI Plugins in Your Browser](https://openwebui.com/posts/debug_open_webui_plugins_in_your_browser_81bf7960) | post |  |  |  |  |  | 2026-01-10 |
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Contributing Guide
|
||||
|
||||
Thank you for your interest in contributing to **OpenWebUI Extras**! We welcome contributions of plugins, prompts, documentation, and more.
|
||||
Thank you for your interest in contributing to **OpenWebUI Extensions**! We welcome contributions of plugins, prompts, documentation, and more.
|
||||
|
||||
---
|
||||
|
||||
@@ -181,6 +181,6 @@ By contributing, you agree that your contributions will be licensed under the sa
|
||||
|
||||
## 🙏 Thank You!
|
||||
|
||||
Every contribution, no matter how small, helps make OpenWebUI Extras better for everyone. Thank you for being part of our community!
|
||||
Every contribution, no matter how small, helps make OpenWebUI Extensions better for everyone. Thank you for being part of our community!
|
||||
|
||||
[:fontawesome-brands-github: View on GitHub](https://github.com/Fu-Jie/awesome-openwebui){ .md-button .md-button--primary }
|
||||
[:fontawesome-brands-github: View on GitHub](https://github.com/Fu-Jie/openwebui-extensions){ .md-button .md-button--primary }
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 贡献指南
|
||||
|
||||
感谢你对 **OpenWebUI Extras** 的兴趣!我们欢迎各种形式的贡献,包括插件、提示词、文档等。
|
||||
感谢你对 **OpenWebUI Extensions** 的兴趣!我们欢迎各种形式的贡献,包括插件、提示词、文档等。
|
||||
|
||||
---
|
||||
|
||||
@@ -181,6 +181,6 @@ Update: 插件开发指南添加新示例
|
||||
|
||||
## 🙏 感谢
|
||||
|
||||
每一份贡献,无论大小,都有助于让 OpenWebUI Extras 变得更好。感谢你成为我们社区的一员!
|
||||
每一份贡献,无论大小,都有助于让 OpenWebUI Extensions 变得更好。感谢你成为我们社区的一员!
|
||||
|
||||
[:fontawesome-brands-github: 在 GitHub 上查看](https://github.com/Fu-Jie/awesome-openwebui){ .md-button .md-button--primary }
|
||||
[:fontawesome-brands-github: 在 GitHub 上查看](https://github.com/Fu-Jie/openwebui-extensions){ .md-button .md-button--primary }
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 贡献指南
|
||||
|
||||
感谢你对 **OpenWebUI Extras** 的兴趣!我们欢迎各种形式的贡献,包括插件、提示词、文档等。
|
||||
感谢你对 **OpenWebUI Extensions** 的兴趣!我们欢迎各种形式的贡献,包括插件、提示词、文档等。
|
||||
|
||||
---
|
||||
|
||||
@@ -181,6 +181,6 @@ Update: 插件开发指南添加新示例
|
||||
|
||||
## 🙏 感谢
|
||||
|
||||
每一份贡献,无论大小,都有助于让 OpenWebUI Extras 变得更好。感谢你成为我们社区的一员!
|
||||
每一份贡献,无论大小,都有助于让 OpenWebUI Extensions 变得更好。感谢你成为我们社区的一员!
|
||||
|
||||
[:fontawesome-brands-github: 在 GitHub 上查看](https://github.com/Fu-Jie/awesome-openwebui){ .md-button .md-button--primary }
|
||||
[:fontawesome-brands-github: 在 GitHub 上查看](https://github.com/Fu-Jie/openwebui-extensions){ .md-button .md-button--primary }
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Documentation Writing Guide
|
||||
|
||||
This guide explains how to write and contribute documentation for OpenWebUI Extras.
|
||||
This guide explains how to write and contribute documentation for OpenWebUI Extensions.
|
||||
|
||||
---
|
||||
|
||||
@@ -21,8 +21,8 @@ Our documentation is built with [MkDocs](https://www.mkdocs.org/) and the [Mater
|
||||
|
||||
```bash
|
||||
# Clone the repository
|
||||
git clone https://github.com/Fu-Jie/awesome-openwebui.git
|
||||
cd awesome-openwebui
|
||||
git clone https://github.com/Fu-Jie/openwebui-extensions.git
|
||||
cd openwebui-extensions
|
||||
|
||||
# Install dependencies
|
||||
pip install -r requirements.txt
|
||||
@@ -122,7 +122,7 @@ Step-by-step usage instructions.
|
||||
|
||||
## Source Code
|
||||
|
||||
[:fontawesome-brands-github: View on GitHub](https://github.com/Fu-Jie/awesome-openwebui/tree/main/plugins/...){ .md-button }
|
||||
[:fontawesome-brands-github: View on GitHub](https://github.com/Fu-Jie/openwebui-extensions/tree/main/plugins/...){ .md-button }
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 文档编写指南
|
||||
|
||||
本文介绍如何为 OpenWebUI Extras 编写与贡献文档。
|
||||
本文介绍如何为 OpenWebUI Extensions 编写与贡献文档。
|
||||
|
||||
---
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
|
||||
```bash
|
||||
# 克隆仓库
|
||||
git clone https://github.com/Fu-Jie/awesome-openwebui.git
|
||||
cd awesome-openwebui
|
||||
git clone https://github.com/Fu-Jie/openwebui-extensions.git
|
||||
cd openwebui-extensions
|
||||
|
||||
# 安装依赖
|
||||
pip install -r requirements.txt
|
||||
@@ -122,7 +122,7 @@ Step-by-step usage instructions.
|
||||
|
||||
## Source Code
|
||||
|
||||
[:fontawesome-brands-github: View on GitHub](https://github.com/Fu-Jie/awesome-openwebui/tree/main/plugins/...){ .md-button }
|
||||
[:fontawesome-brands-github: View on GitHub](https://github.com/Fu-Jie/openwebui-extensions/tree/main/plugins/...){ .md-button }
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Development
|
||||
|
||||
Learn how to develop plugins and contribute to OpenWebUI Extras.
|
||||
Learn how to develop plugins and contribute to OpenWebUI Extensions.
|
||||
|
||||
---
|
||||
|
||||
@@ -164,5 +164,5 @@ user_language = __user__.get("language", "en-US")
|
||||
## Resources
|
||||
|
||||
- [Full Development Guide](plugin-guide.md)
|
||||
- [Plugin Examples](https://github.com/Fu-Jie/awesome-openwebui/tree/main/plugins)
|
||||
- [Plugin Examples](https://github.com/Fu-Jie/openwebui-extensions/tree/main/plugins)
|
||||
- [OpenWebUI Documentation](https://docs.openwebui.com/)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 开发指南
|
||||
|
||||
了解如何开发插件并为 OpenWebUI Extras 做出贡献。
|
||||
了解如何开发插件并为 OpenWebUI Extensions 做出贡献。
|
||||
|
||||
---
|
||||
|
||||
@@ -164,5 +164,5 @@ user_language = __user__.get("language", "en-US")
|
||||
## 资源
|
||||
|
||||
- [完整开发指南](plugin-guide.md)
|
||||
- [插件示例](https://github.com/Fu-Jie/awesome-openwebui/tree/main/plugins)
|
||||
- [插件示例](https://github.com/Fu-Jie/openwebui-extensions/tree/main/plugins)
|
||||
- [OpenWebUI 文档](https://docs.openwebui.com/)
|
||||
|
||||
@@ -406,6 +406,6 @@ except Exception as e:
|
||||
|
||||
## Additional Resources
|
||||
|
||||
- [:fontawesome-brands-github: Plugin Examples](https://github.com/Fu-Jie/awesome-openwebui/tree/main/plugins)
|
||||
- [:fontawesome-brands-github: Plugin Examples](https://github.com/Fu-Jie/openwebui-extensions/tree/main/plugins)
|
||||
- [:material-book-open-variant: OpenWebUI Official Docs](https://docs.openwebui.com/)
|
||||
- [:material-forum: Community Discussions](https://github.com/open-webui/open-webui/discussions)
|
||||
|
||||
@@ -4,17 +4,17 @@ hide:
|
||||
- toc
|
||||
---
|
||||
|
||||
# Welcome to OpenWebUI Extras
|
||||
# Welcome to OpenWebUI Extensions
|
||||
|
||||
<div class="hero-section" markdown>
|
||||
<div class="hero-content" markdown>
|
||||
|
||||
# 🚀 Supercharge Your OpenWebUI Experience
|
||||
|
||||
**OpenWebUI Extras** is a curated collection of plugins, prompts, and enhancements designed to extend the functionality of [OpenWebUI](https://github.com/open-webui/open-webui).
|
||||
**OpenWebUI Extensions** is a curated collection of plugins, prompts, and enhancements designed to extend the functionality of [OpenWebUI](https://github.com/open-webui/open-webui).
|
||||
|
||||
[Get Started :material-arrow-right:](#quick-navigation){ .md-button .md-button--primary }
|
||||
[View on GitHub :fontawesome-brands-github:](https://github.com/Fu-Jie/awesome-openwebui){ .md-button }
|
||||
[View on GitHub :fontawesome-brands-github:](https://github.com/Fu-Jie/openwebui-extensions){ .md-button }
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@@ -135,6 +135,6 @@ We welcome contributions! Whether it's a new plugin, a helpful prompt, or docume
|
||||
|
||||
<div class="footer-stats" markdown>
|
||||
|
||||
**OpenWebUI Extras** - Making AI interactions more powerful and productive.
|
||||
**OpenWebUI Extensions** - Making AI interactions more powerful and productive.
|
||||
|
||||
</div>
|
||||
|
||||
@@ -4,17 +4,17 @@ hide:
|
||||
- toc
|
||||
---
|
||||
|
||||
# 欢迎来到 OpenWebUI Extras
|
||||
# 欢迎来到 OpenWebUI Extensions
|
||||
|
||||
<div class="hero-section" markdown>
|
||||
<div class="hero-content" markdown>
|
||||
|
||||
# 🚀 增强你的 OpenWebUI 体验
|
||||
|
||||
**OpenWebUI Extras** 是一个精心整理的插件、提示词和增强功能集合,旨在扩展 [OpenWebUI](https://github.com/open-webui/open-webui) 的功能。
|
||||
**OpenWebUI Extensions** 是一个精心整理的插件、提示词和增强功能集合,旨在扩展 [OpenWebUI](https://github.com/open-webui/open-webui) 的功能。
|
||||
|
||||
[开始使用 :material-arrow-right:](#快速导航){ .md-button .md-button--primary }
|
||||
[在 GitHub 上查看 :fontawesome-brands-github:](https://github.com/Fu-Jie/awesome-openwebui){ .md-button }
|
||||
[在 GitHub 上查看 :fontawesome-brands-github:](https://github.com/Fu-Jie/openwebui-extensions){ .md-button }
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@@ -135,6 +135,6 @@ hide:
|
||||
|
||||
<div class="footer-stats" markdown>
|
||||
|
||||
**OpenWebUI Extras** - 让 AI 交互更强大、更高效。
|
||||
**OpenWebUI Extensions** - 让 AI 交互更强大、更高效。
|
||||
|
||||
</div>
|
||||
|
||||
@@ -158,7 +158,7 @@ if (response.ok) {
|
||||
|
||||
## 完整示例
|
||||
|
||||
参考 [js_render_poc.py](https://github.com/Fu-Jie/awesome-openwebui/blob/main/plugins/actions/js-render-poc/js_render_poc.py) 获取完整的 PoC 实现。
|
||||
参考 [js_render_poc.py](https://github.com/Fu-Jie/openwebui-extensions/blob/main/plugins/actions/js-render-poc/js_render_poc.py) 获取完整的 PoC 实现。
|
||||
|
||||
## 事件类型
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@ The Deep Dive plugin transforms how you understand complex content by guiding yo
|
||||
|
||||
## Installation
|
||||
|
||||
1. Download the plugin file: [`deep_dive.py`](https://github.com/Fu-Jie/awesome-openwebui/tree/main/plugins/actions/deep-dive)
|
||||
1. Download the plugin file: [`deep_dive.py`](https://github.com/Fu-Jie/openwebui-extensions/tree/main/plugins/actions/deep-dive)
|
||||
2. Upload to OpenWebUI: **Admin Panel** → **Settings** → **Functions**
|
||||
3. Enable the plugin
|
||||
|
||||
@@ -108,4 +108,4 @@ The plugin generates a beautiful structured timeline:
|
||||
|
||||
## Source Code
|
||||
|
||||
[:fontawesome-brands-github: View on GitHub](https://github.com/Fu-Jie/awesome-openwebui/tree/main/plugins/actions/deep-dive){ .md-button }
|
||||
[:fontawesome-brands-github: View on GitHub](https://github.com/Fu-Jie/openwebui-extensions/tree/main/plugins/actions/deep-dive){ .md-button }
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
|
||||
## 安装
|
||||
|
||||
1. 下载插件文件: [`deep_dive_cn.py`](https://github.com/Fu-Jie/awesome-openwebui/tree/main/plugins/actions/deep-dive)
|
||||
1. 下载插件文件: [`deep_dive_cn.py`](https://github.com/Fu-Jie/openwebui-extensions/tree/main/plugins/actions/deep-dive)
|
||||
2. 上传到 OpenWebUI: **管理面板** → **设置** → **Functions**
|
||||
3. 启用插件
|
||||
|
||||
@@ -108,4 +108,4 @@
|
||||
|
||||
## 源代码
|
||||
|
||||
[:fontawesome-brands-github: 在 GitHub 上查看](https://github.com/Fu-Jie/awesome-openwebui/tree/main/plugins/actions/deep-dive){ .md-button }
|
||||
[:fontawesome-brands-github: 在 GitHub 上查看](https://github.com/Fu-Jie/openwebui-extensions/tree/main/plugins/actions/deep-dive){ .md-button }
|
||||
|
||||
@@ -47,7 +47,7 @@ The Export to Excel plugin allows you to download your chat conversations as Exc
|
||||
|
||||
## Installation
|
||||
|
||||
1. Download the plugin file: [`export_to_excel.py`](https://github.com/Fu-Jie/awesome-openwebui/tree/main/plugins/actions/export_to_excel)
|
||||
1. Download the plugin file: [`export_to_excel.py`](https://github.com/Fu-Jie/openwebui-extensions/tree/main/plugins/actions/export_to_excel)
|
||||
2. Upload to OpenWebUI: **Admin Panel** → **Settings** → **Functions**
|
||||
3. Enable the plugin
|
||||
|
||||
@@ -84,4 +84,4 @@ The exported Excel file contains:
|
||||
|
||||
## Source Code
|
||||
|
||||
[:fontawesome-brands-github: View on GitHub](https://github.com/Fu-Jie/awesome-openwebui/tree/main/plugins/actions/export_to_excel){ .md-button }
|
||||
[:fontawesome-brands-github: View on GitHub](https://github.com/Fu-Jie/openwebui-extensions/tree/main/plugins/actions/export_to_excel){ .md-button }
|
||||
|
||||
@@ -47,7 +47,7 @@ Export to Excel 插件可以把你的聊天记录下载为 Excel 文件,适用
|
||||
|
||||
## 安装
|
||||
|
||||
1. 下载插件文件:[`export_to_excel.py`](https://github.com/Fu-Jie/awesome-openwebui/tree/main/plugins/actions/export_to_excel)
|
||||
1. 下载插件文件:[`export_to_excel.py`](https://github.com/Fu-Jie/openwebui-extensions/tree/main/plugins/actions/export_to_excel)
|
||||
2. 上传到 OpenWebUI:**Admin Panel** → **Settings** → **Functions**
|
||||
3. 启用插件
|
||||
|
||||
@@ -84,4 +84,4 @@ Export to Excel 插件可以把你的聊天记录下载为 Excel 文件,适用
|
||||
|
||||
## 源码
|
||||
|
||||
[:fontawesome-brands-github: 在 GitHub 查看](https://github.com/Fu-Jie/awesome-openwebui/tree/main/plugins/actions/export_to_excel){ .md-button }
|
||||
[:fontawesome-brands-github: 在 GitHub 查看](https://github.com/Fu-Jie/openwebui-extensions/tree/main/plugins/actions/export_to_excel){ .md-button }
|
||||
|
||||
@@ -75,7 +75,7 @@ Users can override the following settings in their personal settings:
|
||||
|
||||
## Installation
|
||||
|
||||
1. Download the plugin file: [`export_to_word.py`](https://github.com/Fu-Jie/awesome-openwebui/tree/main/plugins/actions/export_to_docx)
|
||||
1. Download the plugin file: [`export_to_word.py`](https://github.com/Fu-Jie/openwebui-extensions/tree/main/plugins/actions/export_to_docx)
|
||||
2. Upload to OpenWebUI: **Admin Panel** → **Settings** → **Functions**
|
||||
3. Enable the plugin
|
||||
|
||||
@@ -125,5 +125,5 @@ Users can override the following settings in their personal settings:
|
||||
|
||||
## Source Code
|
||||
|
||||
[:fontawesome-brands-github: View on GitHub](https://github.com/Fu-Jie/awesome-openwebui/tree/main/plugins/actions/export_to_docx){ .md-button }
|
||||
**Author:** [Fu-Jie](https://github.com/Fu-Jie) | **Version:** 0.4.4 | **Project:** [Awesome OpenWebUI](https://github.com/Fu-Jie/awesome-openwebui)
|
||||
[:fontawesome-brands-github: View on GitHub](https://github.com/Fu-Jie/openwebui-extensions/tree/main/plugins/actions/export_to_docx){ .md-button }
|
||||
**Author:** [Fu-Jie](https://github.com/Fu-Jie) | **Version:** 0.4.4 | **Project:** [OpenWebUI Extensions](https://github.com/Fu-Jie/openwebui-extensions)
|
||||
|
||||
@@ -75,7 +75,7 @@ Export to Word 插件会把聊天消息从 Markdown 转成精致的 Word 文档
|
||||
|
||||
## 安装
|
||||
|
||||
1. 下载插件文件:[`export_to_word.py`](https://github.com/Fu-Jie/awesome-openwebui/tree/main/plugins/actions/export_to_docx)
|
||||
1. 下载插件文件:[`export_to_word.py`](https://github.com/Fu-Jie/openwebui-extensions/tree/main/plugins/actions/export_to_docx)
|
||||
2. 上传到 OpenWebUI:**Admin Panel** → **Settings** → **Functions**
|
||||
3. 启用插件
|
||||
|
||||
@@ -125,5 +125,5 @@ Export to Word 插件会把聊天消息从 Markdown 转成精致的 Word 文档
|
||||
|
||||
## 源码
|
||||
|
||||
[:fontawesome-brands-github: View on GitHub](https://github.com/Fu-Jie/awesome-openwebui/tree/main/plugins/actions/export_to_docx){ .md-button }
|
||||
**Author:** [Fu-Jie](https://github.com/Fu-Jie) | **Version:** 0.4.4 | **Project:** [Awesome OpenWebUI](https://github.com/Fu-Jie/awesome-openwebui)
|
||||
[:fontawesome-brands-github: View on GitHub](https://github.com/Fu-Jie/openwebui-extensions/tree/main/plugins/actions/export_to_docx){ .md-button }
|
||||
**Author:** [Fu-Jie](https://github.com/Fu-Jie) | **Version:** 0.4.4 | **Project:** [OpenWebUI Extensions](https://github.com/Fu-Jie/openwebui-extensions)
|
||||
|
||||
@@ -23,7 +23,7 @@ The Knowledge Card plugin (also known as Flash Card / 闪记卡) transforms cont
|
||||
|
||||
## Installation
|
||||
|
||||
1. Download the plugin file: [`flash_card.py`](https://github.com/Fu-Jie/awesome-openwebui/tree/main/plugins/actions/flash-card)
|
||||
1. Download the plugin file: [`flash_card.py`](https://github.com/Fu-Jie/openwebui-extensions/tree/main/plugins/actions/flash-card)
|
||||
2. Upload to OpenWebUI: **Admin Panel** → **Settings** → **Functions**
|
||||
3. Enable the plugin
|
||||
|
||||
@@ -85,4 +85,4 @@ The Knowledge Card plugin (also known as Flash Card / 闪记卡) transforms cont
|
||||
|
||||
## Source Code
|
||||
|
||||
[:fontawesome-brands-github: View on GitHub](https://github.com/Fu-Jie/awesome-openwebui/tree/main/plugins/actions/flash-card){ .md-button }
|
||||
[:fontawesome-brands-github: View on GitHub](https://github.com/Fu-Jie/openwebui-extensions/tree/main/plugins/actions/flash-card){ .md-button }
|
||||
|
||||
@@ -23,7 +23,7 @@ Knowledge Card 插件(又名 Flash Card / 闪记卡)会把内容转成视觉
|
||||
|
||||
## 安装
|
||||
|
||||
1. 下载插件文件:[`flash_card.py`](https://github.com/Fu-Jie/awesome-openwebui/tree/main/plugins/actions/flash-card)
|
||||
1. 下载插件文件:[`flash_card.py`](https://github.com/Fu-Jie/openwebui-extensions/tree/main/plugins/actions/flash-card)
|
||||
2. 上传到 OpenWebUI:**Admin Panel** → **Settings** → **Functions**
|
||||
3. 启用插件
|
||||
|
||||
@@ -85,4 +85,4 @@ Knowledge Card 插件(又名 Flash Card / 闪记卡)会把内容转成视觉
|
||||
|
||||
## 源码
|
||||
|
||||
[:fontawesome-brands-github: 在 GitHub 查看](https://github.com/Fu-Jie/awesome-openwebui/tree/main/plugins/actions/flash-card){ .md-button }
|
||||
[:fontawesome-brands-github: 在 GitHub 查看](https://github.com/Fu-Jie/openwebui-extensions/tree/main/plugins/actions/flash-card){ .md-button }
|
||||
|
||||
@@ -23,7 +23,7 @@ Actions are interactive plugins that:
|
||||
|
||||
Intelligently analyzes text content and generates interactive mind maps with beautiful visualizations.
|
||||
|
||||
**Version:** 0.9.1
|
||||
**Version:** 1.0.0
|
||||
|
||||
[:octicons-arrow-right-24: Documentation](smart-mind-map.md)
|
||||
|
||||
@@ -33,7 +33,7 @@ Actions are interactive plugins that:
|
||||
|
||||
Transform text into professional infographics using AntV visualization engine with various templates.
|
||||
|
||||
**Version:** 1.4.9
|
||||
**Version:** 1.5.0
|
||||
|
||||
[:octicons-arrow-right-24: Documentation](smart-infographic.md)
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ Actions 是交互式插件,能够:
|
||||
|
||||
智能分析文本并生成交互式、精美的思维导图。
|
||||
|
||||
**版本:** 0.8.0
|
||||
**版本:** 1.0.0
|
||||
|
||||
[:octicons-arrow-right-24: 查看文档](smart-mind-map.md)
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@ The Smart Infographic plugin uses AI to analyze text content and generate profes
|
||||
|
||||
## Installation
|
||||
|
||||
1. Download the plugin file: [`infographic.py`](https://github.com/Fu-Jie/awesome-openwebui/tree/main/plugins/actions/infographic)
|
||||
1. Download the plugin file: [`infographic.py`](https://github.com/Fu-Jie/openwebui-extensions/tree/main/plugins/actions/infographic)
|
||||
2. Upload to OpenWebUI: **Admin Panel** → **Settings** → **Functions**
|
||||
3. Configure plugin settings (optional)
|
||||
4. Enable the plugin
|
||||
@@ -108,4 +108,4 @@ data
|
||||
|
||||
## Source Code
|
||||
|
||||
[:fontawesome-brands-github: View on GitHub](https://github.com/Fu-Jie/awesome-openwebui/tree/main/plugins/actions/infographic){ .md-button }
|
||||
[:fontawesome-brands-github: View on GitHub](https://github.com/Fu-Jie/openwebui-extensions/tree/main/plugins/actions/infographic){ .md-button }
|
||||
|
||||
@@ -26,7 +26,7 @@ Smart Infographic 使用 AI 分析文本,并基于 AntV 可视化引擎生成
|
||||
|
||||
## 安装
|
||||
|
||||
1. 下载插件文件:[`infographic.py`](https://github.com/Fu-Jie/awesome-openwebui/tree/main/plugins/actions/infographic)
|
||||
1. 下载插件文件:[`infographic.py`](https://github.com/Fu-Jie/openwebui-extensions/tree/main/plugins/actions/infographic)
|
||||
2. 上传到 OpenWebUI:**Admin Panel** → **Settings** → **Functions**
|
||||
3. 可选:根据需要配置插件选项
|
||||
4. 启用插件
|
||||
@@ -108,4 +108,4 @@ data
|
||||
|
||||
## 源码
|
||||
|
||||
[:fontawesome-brands-github: 在 GitHub 查看](https://github.com/Fu-Jie/awesome-openwebui/tree/main/plugins/actions/infographic){ .md-button }
|
||||
[:fontawesome-brands-github: 在 GitHub 查看](https://github.com/Fu-Jie/openwebui-extensions/tree/main/plugins/actions/infographic){ .md-button }
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Smart Mind Map
|
||||
|
||||
<span class="category-badge action">Action</span>
|
||||
<span class="version-badge">v0.9.2</span>
|
||||
<span class="version-badge">v1.0.0</span>
|
||||
|
||||
Intelligently analyzes text content and generates interactive mind maps for better visualization and understanding.
|
||||
|
||||
@@ -17,13 +17,14 @@ The Smart Mind Map plugin transforms text content into beautiful, interactive mi
|
||||
- :material-gesture-swipe: **Rich Controls**: Zoom, reset view, expand level selector (All/2/3) and fullscreen
|
||||
- :material-palette: **Theme Aware**: Auto-detects OpenWebUI light/dark theme with manual toggle
|
||||
- :material-download: **One-Click Export**: Download high-res PNG, copy SVG, or copy Markdown source
|
||||
- :material-translate: **Multi-language**: Matches output language to the input text
|
||||
- :material-translate: **i18n Embedded**: One code file smartly detects frontend languages and translates the output.
|
||||
- :material-arrow-all: **Auto-Sizing & Direct Embed**: Seamlessly scales to display massive canvas inline (requires setting toggle).
|
||||
|
||||
---
|
||||
|
||||
## Installation
|
||||
|
||||
1. Download the plugin file: [`smart_mind_map.py`](https://github.com/Fu-Jie/awesome-openwebui/tree/main/plugins/actions/smart-mind-map)
|
||||
1. Download the plugin file: [`smart_mind_map.py`](https://github.com/Fu-Jie/openwebui-extensions/tree/main/plugins/actions/smart-mind-map)
|
||||
2. Upload to OpenWebUI: **Admin Panel** → **Settings** → **Functions** (Actions)
|
||||
3. Enable the plugin, and optionally allow iframe same-origin access so theme auto-detection works
|
||||
|
||||
@@ -50,6 +51,7 @@ The Smart Mind Map plugin transforms text content into beautiful, interactive mi
|
||||
| `MIN_TEXT_LENGTH` | integer | `100` | Minimum characters required before analysis runs |
|
||||
| `CLEAR_PREVIOUS_HTML` | boolean | `false` | Clear previous plugin HTML instead of merging |
|
||||
| `MESSAGE_COUNT` | integer | `1` | Number of recent messages to include (1–5) |
|
||||
| `ENABLE_DIRECT_EMBED_MODE` | boolean | `false` | Enable inline full-width UI for OpenWebUI 0.8.0+ |
|
||||
|
||||
---
|
||||
|
||||
@@ -94,4 +96,4 @@ The plugin generates an interactive HTML mind map embedded in the chat:
|
||||
|
||||
## Source Code
|
||||
|
||||
[:fontawesome-brands-github: View on GitHub](https://github.com/Fu-Jie/awesome-openwebui/tree/main/plugins/actions/smart-mind-map){ .md-button }
|
||||
[:fontawesome-brands-github: View on GitHub](https://github.com/Fu-Jie/openwebui-extensions/tree/main/plugins/actions/smart-mind-map){ .md-button }
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Smart Mind Map(智能思维导图)
|
||||
|
||||
<span class="category-badge action">Action</span>
|
||||
<span class="version-badge">v0.9.2</span>
|
||||
<span class="version-badge">v1.0.0</span>
|
||||
|
||||
智能分析文本内容,生成交互式思维导图,帮助你更直观地理解信息结构。
|
||||
|
||||
@@ -17,13 +17,14 @@ Smart Mind Map 会将文本转换成漂亮的交互式思维导图。插件会
|
||||
- :material-gesture-swipe: **丰富控制**:缩放/重置、展开层级(全部/2/3 级)与全屏
|
||||
- :material-palette: **主题感知**:自动检测 OpenWebUI 亮/暗色主题并支持手动切换
|
||||
- :material-download: **一键导出**:下载高分辨率 PNG、复制 SVG 或 Markdown
|
||||
- :material-translate: **多语言**:输出语言与输入文本一致
|
||||
- :material-translate: **内置 i18n 语言识别**:单个文件自动检测控制台前端语言,无需繁杂的各种语言包版本。
|
||||
- :material-arrow-all: **直出全屏版体验 (需配置开启)**:新版直出渲染抛开沙盒限制,纵情铺满屏幕,享受原生的图表体验。
|
||||
|
||||
---
|
||||
|
||||
## 安装
|
||||
|
||||
1. 下载插件文件:[`smart_mind_map.py`](https://github.com/Fu-Jie/awesome-openwebui/tree/main/plugins/actions/smart-mind-map)
|
||||
1. 下载插件文件:[`smart_mind_map.py`](https://github.com/Fu-Jie/openwebui-extensions/tree/main/plugins/actions/smart-mind-map)
|
||||
2. 上传到 OpenWebUI:**Admin Panel** → **Settings** → **Functions**(Actions)
|
||||
3. 启用插件,并可在设置中允许 iframe same-origin 以启用主题自动检测
|
||||
|
||||
@@ -50,6 +51,7 @@ Smart Mind Map 会将文本转换成漂亮的交互式思维导图。插件会
|
||||
| `MIN_TEXT_LENGTH` | integer | `100` | 开始分析所需的最少字符数 |
|
||||
| `CLEAR_PREVIOUS_HTML` | boolean | `false` | 生成新导图时是否清除之前的插件 HTML |
|
||||
| `MESSAGE_COUNT` | integer | `1` | 用于生成的最近消息数量(1–5) |
|
||||
| `ENABLE_DIRECT_EMBED_MODE` | boolean | `false` | 是否开启沉浸式直出模式 (需要 Open WebUI 0.8.0+ ) |
|
||||
|
||||
---
|
||||
|
||||
@@ -94,4 +96,4 @@ Smart Mind Map 会将文本转换成漂亮的交互式思维导图。插件会
|
||||
|
||||
## 源码
|
||||
|
||||
[:fontawesome-brands-github: 在 GitHub 查看](https://github.com/Fu-Jie/awesome-openwebui/tree/main/plugins/actions/smart-mind-map){ .md-button }
|
||||
[:fontawesome-brands-github: 在 GitHub 查看](https://github.com/Fu-Jie/openwebui-extensions/tree/main/plugins/actions/smart-mind-map){ .md-button }
|
||||
|
||||
@@ -1,137 +1,81 @@
|
||||
# Async Context Compression
|
||||
# Async Context Compression Filter
|
||||
|
||||
<span class="category-badge filter">Filter</span>
|
||||
<span class="version-badge">v1.2.2</span>
|
||||
**Author:** [Fu-Jie](https://github.com/Fu-Jie/openwebui-extensions) | **Version:** 1.3.0 | **Project:** [OpenWebUI Extensions](https://github.com/Fu-Jie/openwebui-extensions) | **License:** MIT
|
||||
|
||||
Reduces token consumption in long conversations through intelligent summarization while maintaining conversational coherence.
|
||||
This filter reduces token consumption in long conversations through intelligent summarization and message compression while keeping conversations coherent.
|
||||
|
||||
## What's new in 1.3.0
|
||||
|
||||
- **Internationalization (i18n)**: Complete localization of user-facing messages across 9 languages (English, Chinese, Japanese, Korean, French, German, Spanish, Italian).
|
||||
- **Smart Status Display**: Added `token_usage_status_threshold` valve (default 80%) to intelligently control when token usage status is shown.
|
||||
- **Improved Performance**: Frontend language detection and logging are optimized to be completely non-blocking, maintaining lightning-fast TTFB.
|
||||
- **Copilot SDK Integration**: Automatically detects and skips compression for copilot_sdk based models to prevent conflicts.
|
||||
- **Configuration**: `debug_mode` is now set to `false` by default for a quieter production experience.
|
||||
|
||||
---
|
||||
|
||||
## Overview
|
||||
## Core Features
|
||||
|
||||
The Async Context Compression filter helps manage token usage in long conversations by:
|
||||
|
||||
- Intelligently summarizing older messages
|
||||
- Preserving important context
|
||||
- Reducing API costs
|
||||
- Maintaining conversation coherence
|
||||
|
||||
This is especially useful for:
|
||||
|
||||
- Long-running conversations
|
||||
- Complex multi-turn discussions
|
||||
- Cost optimization
|
||||
- Token limit management
|
||||
|
||||
## Features
|
||||
|
||||
- :material-arrow-collapse-vertical: **Smart Compression**: AI-powered context summarization
|
||||
- :material-clock-fast: **Async Processing**: Non-blocking background compression
|
||||
- :material-memory: **Context Preservation**: Keeps important information
|
||||
- :material-currency-usd-off: **Cost Reduction**: Minimize token usage
|
||||
- :material-console: **Frontend Debugging**: Debug logs in browser console
|
||||
- :material-alert-circle-check: **Enhanced Error Reporting**: Clear error status notifications
|
||||
- :material-check-all: **Open WebUI v0.7.x Compatibility**: Dynamic DB session handling
|
||||
- :material-account-convert: **Improved Compatibility**: Summary role changed to `assistant`
|
||||
- :material-shield-check: **Enhanced Stability**: Resolved race conditions in state management
|
||||
- :material-ruler: **Preflight Context Check**: Validates context fit before sending
|
||||
- :material-format-align-justify: **Structure-Aware Trimming**: Preserves document structure
|
||||
- :material-content-cut: **Native Tool Output Trimming**: Trims verbose tool outputs (Note: Non-native tool outputs are not fully injected into context)
|
||||
- :material-chart-bar: **Detailed Token Logging**: Granular token breakdown
|
||||
- :material-account-search: **Smart Model Matching**: Inherit config from base models
|
||||
- :material-image-off: **Multimodal Support**: Images are preserved but tokens are **NOT** calculated
|
||||
- ✅ **Full i18n Support**: Native localization across 9 languages.
|
||||
- ✅ Automatic compression triggered by token thresholds.
|
||||
- ✅ Asynchronous summarization that does not block chat responses.
|
||||
- ✅ Persistent storage via Open WebUI's shared database connection (PostgreSQL, SQLite, etc.).
|
||||
- ✅ Flexible retention policy to keep the first and last N messages.
|
||||
- ✅ Smart injection of historical summaries back into the context.
|
||||
- ✅ Structure-aware trimming that preserves document structure (headers, intro, conclusion).
|
||||
- ✅ Native tool output trimming for cleaner context when using function calling.
|
||||
- ✅ Real-time context usage monitoring with warning notifications (>90%).
|
||||
- ✅ Detailed token logging for precise debugging and optimization.
|
||||
- ✅ **Smart Model Matching**: Automatically inherits configuration from base models for custom presets.
|
||||
- ⚠ **Multimodal Support**: Images are preserved but their tokens are **NOT** calculated. Please adjust thresholds accordingly.
|
||||
|
||||
---
|
||||
|
||||
## Installation
|
||||
## Installation & Configuration
|
||||
|
||||
1. Download the plugin file: [`async_context_compression.py`](https://github.com/Fu-Jie/awesome-openwebui/tree/main/plugins/filters/async-context-compression)
|
||||
2. Upload to OpenWebUI: **Admin Panel** → **Settings** → **Functions**
|
||||
3. Configure compression settings
|
||||
4. Enable the filter
|
||||
### 1) Database (automatic)
|
||||
|
||||
- Uses Open WebUI's shared database connection; no extra configuration needed.
|
||||
- The `chat_summary` table is created on first run.
|
||||
|
||||
### 2) Filter order
|
||||
|
||||
- Recommended order: pre-filters (<10) → this filter (10) → post-filters (>10).
|
||||
|
||||
---
|
||||
|
||||
## How It Works
|
||||
## Configuration Parameters
|
||||
|
||||
```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]
|
||||
```
|
||||
| Parameter | Default | Description |
|
||||
| :----------------------------- | :------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `priority` | `10` | Execution order; lower runs earlier. |
|
||||
| `compression_threshold_tokens` | `64000` | Trigger asynchronous summary when total tokens exceed this value. Set to 50%-70% of your model's context window. |
|
||||
| `max_context_tokens` | `128000` | Hard cap for context; older messages (except protected ones) are dropped if exceeded. |
|
||||
| `keep_first` | `1` | Always keep the first N messages (protects system prompts). |
|
||||
| `keep_last` | `6` | Always keep the last N messages to preserve recent context. |
|
||||
| `summary_model` | `None` | Model for summaries. Strongly recommended to set a fast, economical model (e.g., `gemini-2.5-flash`, `deepseek-v3`). Falls back to the current chat model when empty. |
|
||||
| `summary_model_max_context` | `0` | Max context tokens for the summary model. If 0, falls back to `model_thresholds` or global `max_context_tokens`. |
|
||||
| `max_summary_tokens` | `16384` | Maximum tokens for the generated summary. |
|
||||
| `summary_temperature` | `0.3` | Randomness for summary generation. Lower is more deterministic. |
|
||||
| `model_thresholds` | `{}` | Per-model overrides for `compression_threshold_tokens` and `max_context_tokens` (useful for mixed models). |
|
||||
| `enable_tool_output_trimming` | `false` | When enabled and `function_calling: "native"` is active, trims verbose tool outputs to extract only the final answer. |
|
||||
| `debug_mode` | `false` | Log verbose debug info. Set to `false` in production. |
|
||||
| `show_debug_log` | `false` | Print debug logs to browser console (F12). Useful for frontend debugging. |
|
||||
| `show_token_usage_status` | `true` | Show token usage status notification in the chat interface. |
|
||||
| `token_usage_status_threshold` | `80` | The minimum usage percentage (0-100) required to show a context usage status notification. |
|
||||
|
||||
---
|
||||
|
||||
## Configuration
|
||||
## ⭐ Support
|
||||
|
||||
| Option | Type | Default | Description |
|
||||
|--------|------|---------|-------------|
|
||||
| `compression_threshold_tokens` | integer | `64000` | Trigger compression above this token count |
|
||||
| `max_context_tokens` | integer | `128000` | Hard limit for context |
|
||||
| `keep_first` | integer | `1` | Always keep the first N messages |
|
||||
| `keep_last` | integer | `6` | Always keep the last N messages |
|
||||
| `summary_model` | string | `None` | Model to use for summarization |
|
||||
| `summary_model_max_context` | integer | `0` | Max context tokens for summary model |
|
||||
| `max_summary_tokens` | integer | `16384` | Maximum tokens for the summary |
|
||||
| `enable_tool_output_trimming` | boolean | `false` | Enable trimming of large tool outputs |
|
||||
If this plugin has been useful, a star on [OpenWebUI Extensions](https://github.com/Fu-Jie/openwebui-extensions) is a big motivation for me. Thank you for the support.
|
||||
|
||||
---
|
||||
## Troubleshooting ❓
|
||||
|
||||
## Example
|
||||
- **Initial system prompt is lost**: Keep `keep_first` greater than 0 to protect the initial message.
|
||||
- **Compression effect is weak**: Raise `compression_threshold_tokens` or lower `keep_first` / `keep_last` to allow more aggressive compression.
|
||||
- **Submit an Issue**: If you encounter any problems, please submit an issue on GitHub: [OpenWebUI Extensions Issues](https://github.com/Fu-Jie/openwebui-extensions/issues)
|
||||
|
||||
### Before Compression
|
||||
## Changelog
|
||||
|
||||
```
|
||||
[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
|
||||
```
|
||||
|
||||
### After Compression
|
||||
|
||||
```
|
||||
[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
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Requirements
|
||||
|
||||
!!! note "Prerequisites"
|
||||
- OpenWebUI v0.3.0 or later
|
||||
- Access to an LLM for summarization
|
||||
|
||||
!!! tip "Best Practices"
|
||||
- Set appropriate token thresholds based on your model's context window
|
||||
- Preserve more recent messages for technical discussions
|
||||
- Test compression settings in non-critical conversations first
|
||||
|
||||
---
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
??? question "Compression not triggering?"
|
||||
Check if the token count exceeds your configured threshold. Enable debug logging for more details.
|
||||
|
||||
??? question "Important context being lost?"
|
||||
Increase the `preserve_recent` setting or lower the compression ratio.
|
||||
|
||||
---
|
||||
|
||||
## Source Code
|
||||
|
||||
[:fontawesome-brands-github: View on GitHub](https://github.com/Fu-Jie/awesome-openwebui/tree/main/plugins/filters/async-context-compression){ .md-button }
|
||||
See the full history on GitHub: [OpenWebUI Extensions](https://github.com/Fu-Jie/openwebui-extensions)
|
||||
|
||||
@@ -1,137 +1,119 @@
|
||||
# Async Context Compression(异步上下文压缩)
|
||||
# 异步上下文压缩过滤器
|
||||
|
||||
<span class="category-badge filter">Filter</span>
|
||||
<span class="version-badge">v1.2.2</span>
|
||||
**作者:** [Fu-Jie](https://github.com/Fu-Jie/openwebui-extensions) | **版本:** 1.3.0 | **项目:** [OpenWebUI Extensions](https://github.com/Fu-Jie/openwebui-extensions) | **许可证:** MIT
|
||||
|
||||
通过智能摘要减少长对话的 token 消耗,同时保持对话连贯。
|
||||
> **重要提示**:为了确保所有过滤器的可维护性和易用性,每个过滤器都应附带清晰、完整的文档,以确保其功能、配置和使用方法得到充分说明。
|
||||
|
||||
本过滤器通过智能摘要和消息压缩技术,在保持对话连贯性的同时,显著降低长对话的 Token 消耗。
|
||||
|
||||
## 1.3.0 版本更新
|
||||
|
||||
- **国际化 (i18n) 支持**: 完成了所有用户可见消息的本地化,现已原生支持 9 种语言(含中、英、日、韩及欧洲主要语言)。
|
||||
- **智能状态显示**: 新增 `token_usage_status_threshold` 阀门(默认 80%),可以智能控制何时显示 Token 用量状态,减少不必要的打扰。
|
||||
- **性能大幅优化**: 对前端语言检测和日志处理流程进行了非阻塞重构,完全不影响首字节响应时间(TTFB),保持毫秒级极速推流。
|
||||
- **Copilot SDK 兼容**: 自动检测并跳过基于 `copilot_sdk` 模型的上下文压缩,避免冲突。
|
||||
- **配置项调整**: 为了提供更安静的生产环境体验,`debug_mode` 现已默认设置为 `false`。
|
||||
|
||||
---
|
||||
|
||||
## 概览
|
||||
## 核心特性
|
||||
|
||||
Async Context Compression 过滤器通过以下方式帮助管理长对话的 token 使用:
|
||||
- ✅ **全方位国际化**: 原生支持 9 种界面语言。
|
||||
- ✅ **自动压缩**: 基于 Token 阈值自动触发上下文压缩。
|
||||
- ✅ **异步摘要**: 后台生成摘要,不阻塞当前对话响应。
|
||||
- ✅ **持久化存储**: 复用 Open WebUI 共享数据库连接,自动支持 PostgreSQL/SQLite 等。
|
||||
- ✅ **灵活保留策略**: 可配置保留对话头部和尾部消息,确保关键信息连贯。
|
||||
- ✅ **智能注入**: 将历史摘要智能注入到新上下文中。
|
||||
- ✅ **结构感知裁剪**: 智能折叠过长消息,保留文档骨架(标题、首尾)。
|
||||
- ✅ **原生工具输出裁剪**: 支持裁剪冗长的工具调用输出。
|
||||
- ✅ **实时监控**: 实时监控上下文使用情况,超过 90% 发出警告。
|
||||
- ✅ **详细日志**: 提供精确的 Token 统计日志,便于调试。
|
||||
- ✅ **智能模型匹配**: 自定义模型自动继承基础模型的阈值配置。
|
||||
- ⚠ **多模态支持**: 图片内容会被保留,但其 Token **不参与计算**。请相应调整阈值。
|
||||
|
||||
- 智能总结较早的消息
|
||||
- 保留关键信息
|
||||
- 降低 API 成本
|
||||
- 保持对话一致性
|
||||
|
||||
特别适用于:
|
||||
|
||||
- 长时间会话
|
||||
- 多轮复杂讨论
|
||||
- 成本优化
|
||||
- 上下文长度控制
|
||||
|
||||
## 功能特性
|
||||
|
||||
- :material-arrow-collapse-vertical: **智能压缩**:AI 驱动的上下文摘要
|
||||
- :material-clock-fast: **异步处理**:后台非阻塞压缩
|
||||
- :material-memory: **保留上下文**:尽量保留重要信息
|
||||
- :material-currency-usd-off: **降低成本**:减少 token 使用
|
||||
- :material-console: **前端调试**:支持浏览器控制台日志
|
||||
- :material-alert-circle-check: **增强错误报告**:清晰的错误状态通知
|
||||
- :material-check-all: **Open WebUI v0.7.x 兼容性**:动态数据库会话处理
|
||||
- :material-account-convert: **兼容性提升**:摘要角色改为 `assistant`
|
||||
- :material-shield-check: **稳定性增强**:解决状态管理竞态条件
|
||||
- :material-ruler: **预检上下文检查**:发送前验证上下文是否超限
|
||||
- :material-format-align-justify: **结构感知裁剪**:保留文档结构的智能裁剪
|
||||
- :material-content-cut: **原生工具输出裁剪**:自动裁剪冗长的工具输出(注意:非原生工具调用输出不会完整注入上下文)
|
||||
- :material-chart-bar: **详细 Token 日志**:提供细粒度的 Token 统计
|
||||
- :material-account-search: **智能模型匹配**:自定义模型自动继承基础模型配置
|
||||
- :material-image-off: **多模态支持**:图片内容保留但 Token **不参与计算**
|
||||
详细的工作原理和流程请参考 [工作流程指南](WORKFLOW_GUIDE_CN.md)。
|
||||
|
||||
---
|
||||
|
||||
## 安装
|
||||
## 安装与配置
|
||||
|
||||
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. 启用过滤器
|
||||
### 1. 数据库(自动)
|
||||
|
||||
- 自动使用 Open WebUI 的共享数据库连接,**无需额外配置**。
|
||||
- 首次运行自动创建 `chat_summary` 表。
|
||||
|
||||
### 2. 过滤器顺序
|
||||
|
||||
- 建议顺序:前置过滤器(<10)→ 本过滤器(10)→ 后置过滤器(>10)。
|
||||
|
||||
---
|
||||
|
||||
## 工作原理
|
||||
## 配置参数
|
||||
|
||||
```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]
|
||||
您可以在过滤器的设置中调整以下参数:
|
||||
|
||||
### 核心参数
|
||||
|
||||
| 参数 | 默认值 | 描述 |
|
||||
| :----------------------------- | :------- | :------------------------------------------------------------------------------------ |
|
||||
| `priority` | `10` | 过滤器执行顺序,数值越小越先执行。 |
|
||||
| `compression_threshold_tokens` | `64000` | **重要**: 当上下文总 Token 超过此值时后台生成摘要,建议设为模型上下文窗口的 50%-70%。 |
|
||||
| `max_context_tokens` | `128000` | **重要**: 上下文硬上限,超过即移除最早消息(保留受保护消息)。 |
|
||||
| `keep_first` | `1` | 始终保留对话开始的 N 条消息,保护系统提示或环境变量。 |
|
||||
| `keep_last` | `6` | 始终保留对话末尾的 N 条消息,确保最近上下文连贯。 |
|
||||
|
||||
### 摘要生成配置
|
||||
|
||||
| 参数 | 默认值 | 描述 |
|
||||
| :-------------------- | :------ | :------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| `summary_model` | `None` | 用于生成摘要的模型 ID。**强烈建议**配置快速、经济、上下文窗口大的模型(如 `gemini-2.5-flash`、`deepseek-v3`)。留空则尝试复用当前对话模型。 |
|
||||
| `summary_model_max_context` | `0` | 摘要模型的最大上下文 Token 数。如果为 0,则回退到 `model_thresholds` 或全局 `max_context_tokens`。 |
|
||||
| `max_summary_tokens` | `16384` | 生成摘要时允许的最大 Token 数。 |
|
||||
| `summary_temperature` | `0.1` | 控制摘要生成的随机性,较低的值结果更稳定。 |
|
||||
|
||||
### 高级配置
|
||||
|
||||
#### `model_thresholds` (模型特定阈值)
|
||||
|
||||
这是一个字典配置,可为特定模型 ID 覆盖全局 `compression_threshold_tokens` 与 `max_context_tokens`,适用于混合不同上下文窗口的模型。
|
||||
|
||||
**默认包含 GPT-4、Claude 3.5、Gemini 1.5/2.0、Qwen 2.5/3、DeepSeek V3 等推荐阈值。**
|
||||
|
||||
**配置示例:**
|
||||
|
||||
```json
|
||||
{
|
||||
"gpt-4": {
|
||||
"compression_threshold_tokens": 8000,
|
||||
"max_context_tokens": 32000
|
||||
},
|
||||
"gemini-2.5-flash": {
|
||||
"compression_threshold_tokens": 734000,
|
||||
"max_context_tokens": 1048576
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 配置项
|
||||
|
||||
| 选项 | 类型 | 默认值 | 说明 |
|
||||
|--------|------|---------|-------------|
|
||||
| `compression_threshold_tokens` | integer | `64000` | 超过该 token 数触发压缩 |
|
||||
| `max_context_tokens` | integer | `128000` | 上下文硬性上限 |
|
||||
| `keep_first` | integer | `1` | 始终保留的前 N 条消息 |
|
||||
| `keep_last` | integer | `6` | 始终保留的后 N 条消息 |
|
||||
| `summary_model` | string | `None` | 用于摘要的模型 |
|
||||
| `summary_model_max_context` | integer | `0` | 摘要模型的最大上下文 Token 数 |
|
||||
| `max_summary_tokens` | integer | `16384` | 摘要的最大 token 数 |
|
||||
| `enable_tool_output_trimming` | boolean | `false` | 启用长工具输出裁剪 |
|
||||
| 参数 | 默认值 | 描述 |
|
||||
| :----------------------------- | :------- | :-------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `enable_tool_output_trimming` | `false` | 启用时,若 `function_calling: "native"` 激活,将裁剪冗长的工具输出以仅提取最终答案。 |
|
||||
| `debug_mode` | `false` | 是否在 Open WebUI 的控制台日志中打印详细的调试信息。生产环境默认且建议设为 `false`。 |
|
||||
| `show_debug_log` | `false` | 是否在浏览器控制台 (F12) 打印调试日志。便于前端调试。 |
|
||||
| `show_token_usage_status` | `true` | 是否在对话结束时显示 Token 使用情况的状态通知。 |
|
||||
| `token_usage_status_threshold` | `80` | 触发显示上下文用量状态通知的最低百分比阈值 (0-100)。 |
|
||||
|
||||
---
|
||||
|
||||
## 示例
|
||||
## ⭐ 支持
|
||||
|
||||
### 压缩前
|
||||
如果这个插件对你有帮助,欢迎到 [OpenWebUI Extensions](https://github.com/Fu-Jie/openwebui-extensions) 点个 Star,这将是我持续改进的动力,感谢支持。
|
||||
|
||||
```
|
||||
[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
|
||||
```
|
||||
## 故障排除 (Troubleshooting) ❓
|
||||
|
||||
### 压缩后
|
||||
- **初始系统提示丢失**:将 `keep_first` 设置为大于 0。
|
||||
- **压缩效果不明显**:提高 `compression_threshold_tokens`,或降低 `keep_first` / `keep_last` 以增强压缩力度。
|
||||
- **提交 Issue**: 如果遇到任何问题,请在 GitHub 上提交 Issue:[OpenWebUI Extensions Issues](https://github.com/Fu-Jie/openwebui-extensions/issues)
|
||||
|
||||
```
|
||||
[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 }
|
||||
完整历史请查看 GitHub 项目: [OpenWebUI Extensions](https://github.com/Fu-Jie/openwebui-extensions)
|
||||
|
||||
@@ -22,7 +22,7 @@ The Context Enhancement filter automatically enriches your conversations with co
|
||||
|
||||
## Installation
|
||||
|
||||
1. Download the plugin file: [`context_enhancement_filter.py`](https://github.com/Fu-Jie/awesome-openwebui/tree/main/plugins/filters/context_enhancement_filter)
|
||||
1. Download the plugin file: [`context_enhancement_filter.py`](https://github.com/Fu-Jie/openwebui-extensions/tree/main/plugins/filters/context_enhancement_filter)
|
||||
2. Upload to OpenWebUI: **Admin Panel** → **Settings** → **Functions**
|
||||
3. Configure enhancement options
|
||||
4. Enable the filter
|
||||
@@ -48,4 +48,4 @@ The Context Enhancement filter automatically enriches your conversations with co
|
||||
|
||||
## Source Code
|
||||
|
||||
[:fontawesome-brands-github: View on GitHub](https://github.com/Fu-Jie/awesome-openwebui/tree/main/plugins/filters/context_enhancement_filter){ .md-button }
|
||||
[:fontawesome-brands-github: View on GitHub](https://github.com/Fu-Jie/openwebui-extensions/tree/main/plugins/filters/context_enhancement_filter){ .md-button }
|
||||
|
||||
@@ -22,7 +22,7 @@ Context Enhancement 过滤器会自动为会话补充必要的上下文,使模
|
||||
|
||||
## 安装
|
||||
|
||||
1. 下载插件文件:[`context_enhancement_filter.py`](https://github.com/Fu-Jie/awesome-openwebui/tree/main/plugins/filters/context_enhancement_filter)
|
||||
1. 下载插件文件:[`context_enhancement_filter.py`](https://github.com/Fu-Jie/openwebui-extensions/tree/main/plugins/filters/context_enhancement_filter)
|
||||
2. 上传到 OpenWebUI:**Admin Panel** → **Settings** → **Functions**
|
||||
3. 配置增强选项
|
||||
4. 启用过滤器
|
||||
@@ -48,4 +48,4 @@ Context Enhancement 过滤器会自动为会话补充必要的上下文,使模
|
||||
|
||||
## 源码
|
||||
|
||||
[:fontawesome-brands-github: 在 GitHub 查看](https://github.com/Fu-Jie/awesome-openwebui/tree/main/plugins/filters/context_enhancement_filter){ .md-button }
|
||||
[:fontawesome-brands-github: 在 GitHub 查看](https://github.com/Fu-Jie/openwebui-extensions/tree/main/plugins/filters/context_enhancement_filter){ .md-button }
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Folder Memory
|
||||
|
||||
**Author:** [Fu-Jie](https://github.com/Fu-Jie/awesome-openwebui) | **Version:** 0.1.0 | **Project:** [Awesome OpenWebUI](https://github.com/Fu-Jie/awesome-openwebui) | **License:** MIT
|
||||
**Author:** [Fu-Jie](https://github.com/Fu-Jie/openwebui-extensions) | **Version:** 0.1.0 | **Project:** [OpenWebUI Extensions](https://github.com/Fu-Jie/openwebui-extensions) | **License:** MIT
|
||||
|
||||
---
|
||||
|
||||
@@ -45,7 +45,7 @@ This ensures that all future conversations within that folder share the same evo
|
||||
|
||||
## How It Works
|
||||
|
||||

|
||||

|
||||
|
||||
1. **Trigger**: When a conversation reaches `MESSAGE_TRIGGER_COUNT` (e.g., 10, 20 messages).
|
||||
2. **Analysis**: The plugin sends the recent conversation + existing rules to the LLM.
|
||||
@@ -54,4 +54,4 @@ This ensures that all future conversations within that folder share the same evo
|
||||
|
||||
## Roadmap
|
||||
|
||||
See [ROADMAP](https://github.com/Fu-Jie/awesome-openwebui/blob/main/plugins/filters/folder-memory/ROADMAP.md) for future plans, including "Project Knowledge" collection.
|
||||
See [ROADMAP](https://github.com/Fu-Jie/openwebui-extensions/blob/main/plugins/filters/folder-memory/ROADMAP.md) for future plans, including "Project Knowledge" collection.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 文件夹记忆 (Folder Memory)
|
||||
|
||||
**作者:** [Fu-Jie](https://github.com/Fu-Jie/awesome-openwebui) | **版本:** 0.1.0 | **项目:** [Awesome OpenWebUI](https://github.com/Fu-Jie/awesome-openwebui) | **许可证:** MIT
|
||||
**作者:** [Fu-Jie](https://github.com/Fu-Jie/openwebui-extensions) | **版本:** 0.1.0 | **项目:** [OpenWebUI Extensions](https://github.com/Fu-Jie/openwebui-extensions) | **许可证:** MIT
|
||||
|
||||
---
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
|
||||
## 工作原理
|
||||
|
||||

|
||||

|
||||
|
||||
1. **触发**:当对话达到 `MESSAGE_TRIGGER_COUNT`(例如 10、20 条消息)时。
|
||||
2. **分析**:插件将最近的对话 + 现有规则发送给 LLM。
|
||||
@@ -54,4 +54,4 @@
|
||||
|
||||
## 路线图
|
||||
|
||||
查看 [ROADMAP](https://github.com/Fu-Jie/awesome-openwebui/blob/main/plugins/filters/folder-memory/ROADMAP.md) 了解未来计划,包括“项目知识”收集功能。
|
||||
查看 [ROADMAP](https://github.com/Fu-Jie/openwebui-extensions/blob/main/plugins/filters/folder-memory/ROADMAP.md) 了解未来计划,包括“项目知识”收集功能。
|
||||
|
||||
53
docs/plugins/filters/github-copilot-sdk-files-filter.md
Normal file
53
docs/plugins/filters/github-copilot-sdk-files-filter.md
Normal file
@@ -0,0 +1,53 @@
|
||||
# GitHub Copilot SDK Files Filter (v0.1.2)
|
||||
|
||||
This is a dedicated **companion filter plugin** designed specifically for the [GitHub Copilot SDK Pipe](../pipes/github-copilot-sdk.md).
|
||||
|
||||
Its core mission is to **protect user-uploaded files from being "pre-processed" by the OpenWebUI core system, ensuring that the Copilot Agent receives the raw files for autonomous analysis.**
|
||||
|
||||
## 🎯 Why is this needed?
|
||||
|
||||
In OpenWebUI's default workflow, when you upload a file (e.g., PDF, Excel, Python script), OpenWebUI automatically initiates a **RAG (Retrieval-Augmented Generation)** process: parsing the file, vectorizing it, extracting text, and injecting it into the prompt.
|
||||
|
||||
While useful for standard models, this is often disruptive for a **Copilot SDK Agent**:
|
||||
|
||||
1. **Agent Needs Raw Files**: The Agent may need to run Python code to read an Excel file or analyze a full directory structure, not chopped-up text fragments.
|
||||
2. **Context Pollution**: Large amounts of text injected by RAG consume tokens and can confuse the Agent about "where the file is."
|
||||
3. **Conflicts**: If you have other multimodal plugins installed (like Gemini Filter), they might compete for file processing rights.
|
||||
|
||||
**This plugin acts as a "bodyguard" to solve these issues.**
|
||||
|
||||
## 🚀 How it Works
|
||||
|
||||
When you select a Copilot model (name containing `copilot_sdk`) in OpenWebUI and send a file:
|
||||
|
||||
1. **Intercept**: This plugin runs with high priority (Priority 0), before RAG and other filters.
|
||||
2. **Relocate**: Detecting a Copilot model, it moves the `files` list from the request to a secure custom field `copilot_files`.
|
||||
3. **Hide**: It clears the original `files` field.
|
||||
4. **Status Update**: It emits a status message "Managed X files for Copilot (RAG Bypassed)" to the UI.
|
||||
5. **Pass**: The OpenWebUI core sees an empty `files` list and **does not trigger RAG**.
|
||||
6. **Deliver**: The subsequent [Copilot SDK Pipe](../pipes/github-copilot-sdk.md) plugin checks `copilot_files`, retrieves file information, and automatically copies them into the Agent's isolated workspace.
|
||||
|
||||
## 📦 Installation & Configuration
|
||||
|
||||
### 1. Installation
|
||||
|
||||
Import this plugin on the OpenWebUI **Functions** page.
|
||||
|
||||
### 2. Enable
|
||||
|
||||
Ensure this Filter is enabled globally or in chat settings.
|
||||
|
||||
### 3. Configuration (Valves)
|
||||
|
||||
Default settings work for most users unless you have specific needs:
|
||||
|
||||
| Parameter | Description | Default |
|
||||
| :--- | :--- | :--- |
|
||||
| **priority** | Execution priority of the filter. **Must be lower than OpenWebUI RAG priority**. | `0` |
|
||||
| **target_model_keyword** | Keyword to identify Copilot models. Only models containing this keyword will trigger file interception. | `copilot_sdk` |
|
||||
|
||||
## ⚠️ Important Notes
|
||||
|
||||
* **Must be used with Copilot SDK Pipe**: If you install this plugin without the main Pipe plugin, uploaded files will simply "disappear" (as no subsequent plugin will look for them in `copilot_files`).
|
||||
* **Gemini Filter Compatibility**: This plugin is fully compatible with the Gemini Multimodal Filter. As long as the priority is set correctly (This Plugin < Gemini Plugin), they can coexist without interference.
|
||||
* **Physical File Path**: Ensure the `OPENWEBUI_UPLOAD_PATH` is correctly set in the Pipe plugin Valves for the actual file transport to work.
|
||||
53
docs/plugins/filters/github-copilot-sdk-files-filter.zh.md
Normal file
53
docs/plugins/filters/github-copilot-sdk-files-filter.zh.md
Normal file
@@ -0,0 +1,53 @@
|
||||
# GitHub Copilot SDK 文件过滤器 (v0.1.2)
|
||||
|
||||
这是一个专门为 [GitHub Copilot SDK Pipe](../pipes/github-copilot-sdk.zh.md) 设计的**伴侣过滤器插件**。
|
||||
|
||||
它的核心使命是:**保护用户上传的文件不被 OpenWebUI 核心系统“抢先处理”,确保 Copilot Agent 能够接收到原始文件并进行自主分析。**
|
||||
|
||||
## 🎯 为什么需要它?
|
||||
|
||||
在 OpenWebUI 的默认流程中,当你上传一个文件(如 PDF、Excel、Python 脚本)时,OpenWebUI 会自动启动 **RAG(检索增强生成)** 流程:解析文件、向量化、提取文本并注入到提示词中。
|
||||
|
||||
虽然这对普通模型很有用,但对于 **Copilot SDK Agent** 来说,这往往是干扰:
|
||||
|
||||
1. **Agent 需要原始文件**:Agent 可能需要运行 Python 代码读取 Excel,或者分析完整的代码结构,而不是被切碎的文本片段。
|
||||
2. **上下文污染**:RAG 注入的大量文本会消耗 Token,且容易让 Agent 混淆“文件在哪里”。
|
||||
3. **冲突**:如果你同时安装了其他多模态插件(如 Gemini Filter),它们可能会争夺文件的处理权。
|
||||
|
||||
**本插件就是为了解决这个问题而生的“保镖”。**
|
||||
|
||||
## 🚀 功能原理
|
||||
|
||||
当你在 OpenWebUI 中选择了一个 Copilot 模型(名称包含 `copilot_sdk`)并发送文件时:
|
||||
|
||||
1. **拦截 (Intercept)**:本插件会以极高的优先级(Priority 0)运行,先于 RAG 和其他过滤器。
|
||||
2. **搬运 (Relocate)**:它检测到模型是 Copilot,便将请求中的 `files`(文件列表)移动到一个安全的自定义字段 `copilot_files` 中。
|
||||
3. **隐身 (Hide)**:它清空原始的 `files` 字段。
|
||||
4. **状态更新**: 它会在 UI 中发出“已为 Copilot 管理 X 个文件 (已绕过 RAG)”的状态消息。
|
||||
5. **放行 (Pass)**:OpenWebUI 核心看到 `files` 为空,便**不会触发 RAG**。
|
||||
6. **交付 (Deliver)**:后续的 [Copilot SDK Pipe](../pipes/github-copilot-sdk.zh.md) 插件会检查 `copilot_files`,从中获取文件信息,并自动将其复制到 Agent 的独立工作区中。
|
||||
|
||||
## 📦 安装与配置
|
||||
|
||||
### 1. 安装
|
||||
|
||||
在 OpenWebUI 的 **Functions** 页面导入此插件。
|
||||
|
||||
### 2. 启用
|
||||
|
||||
确保在全局或对话设置中启用了此 Filter。
|
||||
|
||||
### 3. 配置 (Valves)
|
||||
|
||||
通常不需要修改默认配置,除非你有特殊需求:
|
||||
|
||||
| 参数 | 说明 | 默认值 |
|
||||
| :--- | :--- | :--- |
|
||||
| **priority** | 过滤器的执行优先级。**必须小于 OpenWebUI RAG 的优先级**。 | `0` |
|
||||
| **target_model_keyword** | 用于识别 Copilot 模型的关键词。只有包含此关键词的模型才会触发 file 拦截。 | `copilot_sdk` |
|
||||
|
||||
## ⚠️ 注意事项
|
||||
|
||||
* **必须配合 Copilot SDK Pipe 使用**:如果你没有安装主 Pipe 插件,本插件将导致上传的文件“凭空消失”(因为没有后续插件去 `copilot_files` 里找它们)。
|
||||
* **Gemini Filter 兼容性**:本插件已完美兼容 Gemini 多模态过滤器。只要优先级设置正确(本插件 < Gemini 插件),它们可以共存互不干扰。
|
||||
* **物理文件路径**: 确保在 Pipe 插件的 Valves 中正确设置了 `OPENWEBUI_UPLOAD_PATH`,以便文件自动搬运功能正常工作。
|
||||
@@ -16,17 +16,17 @@ Filters act as middleware in the message pipeline:
|
||||
|
||||
<div class="grid cards" markdown>
|
||||
|
||||
- :material-arrow-collapse-vertical:{ .lg .middle } **Async Context Compression**
|
||||
- :material-arrow-collapse-vertical:{ .lg .middle } **Async Context Compression**
|
||||
|
||||
---
|
||||
|
||||
Reduces token consumption in long conversations through intelligent summarization while maintaining coherence.
|
||||
|
||||
**Version:** 1.2.2
|
||||
**Version:** 1.3.0
|
||||
|
||||
[:octicons-arrow-right-24: Documentation](async-context-compression.md)
|
||||
|
||||
- :material-text-box-plus:{ .lg .middle } **Context Enhancement**
|
||||
- :material-text-box-plus:{ .lg .middle } **Context Enhancement**
|
||||
|
||||
---
|
||||
|
||||
@@ -36,7 +36,7 @@ Filters act as middleware in the message pipeline:
|
||||
|
||||
[:octicons-arrow-right-24: Documentation](context-enhancement.md)
|
||||
|
||||
- :material-folder-refresh:{ .lg .middle } **Folder Memory**
|
||||
- :material-folder-refresh:{ .lg .middle } **Folder Memory**
|
||||
|
||||
---
|
||||
|
||||
@@ -46,7 +46,7 @@ Filters act as middleware in the message pipeline:
|
||||
|
||||
[:octicons-arrow-right-24: Documentation](folder-memory.md)
|
||||
|
||||
- :material-format-paint:{ .lg .middle } **Markdown Normalizer**
|
||||
- :material-format-paint:{ .lg .middle } **Markdown Normalizer**
|
||||
|
||||
---
|
||||
|
||||
@@ -56,7 +56,7 @@ Filters act as middleware in the message pipeline:
|
||||
|
||||
[:octicons-arrow-right-24: Documentation](markdown_normalizer.md)
|
||||
|
||||
- :material-merge:{ .lg .middle } **Multi-Model Context Merger**
|
||||
- :material-merge:{ .lg .middle } **Multi-Model Context Merger**
|
||||
|
||||
---
|
||||
|
||||
@@ -66,7 +66,7 @@ Filters act as middleware in the message pipeline:
|
||||
|
||||
[:octicons-arrow-right-24: Documentation](multi-model-context-merger.md)
|
||||
|
||||
- :material-file-document-multiple:{ .lg .middle } **Web Gemini Multimodal Filter**
|
||||
- :material-file-document-multiple:{ .lg .middle } **Web Gemini Multimodal Filter**
|
||||
|
||||
---
|
||||
|
||||
@@ -76,6 +76,16 @@ Filters act as middleware in the message pipeline:
|
||||
|
||||
[:octicons-arrow-right-24: Documentation](web-gemini-multimodel.md)
|
||||
|
||||
- :material-file-shield:{ .lg .middle } **Copilot SDK Files Filter**
|
||||
|
||||
---
|
||||
|
||||
A specialized filter to bypass OpenWebUI's default RAG for GitHub Copilot SDK models. It ensures the Agent receives raw files for autonomous analysis.
|
||||
|
||||
**Version:** 0.1.2
|
||||
|
||||
[:octicons-arrow-right-24: Documentation](github-copilot-sdk-files-filter.md)
|
||||
|
||||
</div>
|
||||
|
||||
---
|
||||
|
||||
@@ -16,17 +16,17 @@ Filter 充当消息管线中的中间件:
|
||||
|
||||
<div class="grid cards" markdown>
|
||||
|
||||
- :material-arrow-collapse-vertical:{ .lg .middle } **Async Context Compression**
|
||||
- :material-arrow-collapse-vertical:{ .lg .middle } **Async Context Compression**
|
||||
|
||||
---
|
||||
|
||||
通过智能总结减少长对话的 token 消耗,同时保持连贯性。
|
||||
|
||||
**版本:** 1.2.2
|
||||
**版本:** 1.3.0
|
||||
|
||||
[:octicons-arrow-right-24: 查看文档](async-context-compression.md)
|
||||
|
||||
- :material-text-box-plus:{ .lg .middle } **Context Enhancement**
|
||||
- :material-text-box-plus:{ .lg .middle } **Context Enhancement**
|
||||
|
||||
---
|
||||
|
||||
@@ -36,7 +36,7 @@ Filter 充当消息管线中的中间件:
|
||||
|
||||
[:octicons-arrow-right-24: 查看文档](context-enhancement.md)
|
||||
|
||||
- :material-folder-refresh:{ .lg .middle } **Folder Memory**
|
||||
- :material-folder-refresh:{ .lg .middle } **Folder Memory**
|
||||
|
||||
---
|
||||
|
||||
@@ -46,7 +46,7 @@ Filter 充当消息管线中的中间件:
|
||||
|
||||
[:octicons-arrow-right-24: 查看文档](folder-memory.zh.md)
|
||||
|
||||
- :material-format-paint:{ .lg .middle } **Markdown Normalizer**
|
||||
- :material-format-paint:{ .lg .middle } **Markdown Normalizer**
|
||||
|
||||
---
|
||||
|
||||
@@ -56,6 +56,16 @@ Filter 充当消息管线中的中间件:
|
||||
|
||||
[:octicons-arrow-right-24: 查看文档](markdown_normalizer.zh.md)
|
||||
|
||||
- :material-file-shield:{ .lg .middle } **Copilot SDK 文件过滤器**
|
||||
|
||||
---
|
||||
|
||||
专门用于绕过 OpenWebUI 默认 RAG 机制的过滤器,针对 GitHub Copilot SDK 模型。确保 Agent 能够接收到原始文件进行自主分析。
|
||||
|
||||
**版本:** 0.1.2
|
||||
|
||||
[:octicons-arrow-right-24: 查看文档](github-copilot-sdk-files-filter.zh.md)
|
||||
|
||||
</div>
|
||||
|
||||
---
|
||||
|
||||
@@ -47,7 +47,7 @@ A content normalizer filter for Open WebUI that fixes common Markdown formatting
|
||||
|
||||
## Troubleshooting ❓
|
||||
|
||||
* **Submit an Issue**: If you encounter any problems, please submit an issue on GitHub: [Awesome OpenWebUI Issues](https://github.com/Fu-Jie/awesome-openwebui/issues)
|
||||
* **Submit an Issue**: If you encounter any problems, please submit an issue on GitHub: [OpenWebUI Extensions Issues](https://github.com/Fu-Jie/openwebui-extensions/issues)
|
||||
|
||||
## Changelog
|
||||
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
|
||||
## 故障排除 (Troubleshooting) ❓
|
||||
|
||||
* **提交 Issue**: 如果遇到任何问题,请在 GitHub 上提交 Issue:[Awesome OpenWebUI Issues](https://github.com/Fu-Jie/awesome-openwebui/issues)
|
||||
* **提交 Issue**: 如果遇到任何问题,请在 GitHub 上提交 Issue:[OpenWebUI Extensions Issues](https://github.com/Fu-Jie/openwebui-extensions/issues)
|
||||
|
||||
## 更新日志
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@ This filter detects when multiple models have responded in the previous turn (e.
|
||||
|
||||
## Installation
|
||||
|
||||
1. Download the plugin file: [`multi_model_context_merger.py`](https://github.com/Fu-Jie/awesome-openwebui/tree/main/plugins/filters)
|
||||
1. Download the plugin file: [`multi_model_context_merger.py`](https://github.com/Fu-Jie/openwebui-extensions/tree/main/plugins/filters)
|
||||
2. Upload to OpenWebUI: **Admin Panel** → **Settings** → **Functions**
|
||||
3. Enable the filter.
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
|
||||
## 安装
|
||||
|
||||
1. 下载插件文件: [`multi_model_context_merger.py`](https://github.com/Fu-Jie/awesome-openwebui/tree/main/plugins/filters)
|
||||
1. 下载插件文件: [`multi_model_context_merger.py`](https://github.com/Fu-Jie/openwebui-extensions/tree/main/plugins/filters)
|
||||
2. 上传到 OpenWebUI: **管理员面板** → **设置** → **函数**
|
||||
3. 启用过滤器。
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@ This plugin enables multimodal processing for any model by leveraging Gemini as
|
||||
|
||||
## Installation
|
||||
|
||||
1. Download the plugin file: [`web_gemini_multimodel.py`](https://github.com/Fu-Jie/awesome-openwebui/tree/main/plugins/filters/web_gemini_multimodel_filter)
|
||||
1. Download the plugin file: [`web_gemini_multimodel.py`](https://github.com/Fu-Jie/openwebui-extensions/tree/main/plugins/filters/web_gemini_multimodel_filter)
|
||||
2. Upload to OpenWebUI: **Admin Panel** → **Settings** → **Functions**
|
||||
3. Configure the Gemini Adapter URL and other settings.
|
||||
4. Enable the filter globally or per chat.
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
|
||||
## 安装
|
||||
|
||||
1. 下载插件文件: [`web_gemini_multimodel.py`](https://github.com/Fu-Jie/awesome-openwebui/tree/main/plugins/filters/web_gemini_multimodel_filter)
|
||||
1. 下载插件文件: [`web_gemini_multimodel.py`](https://github.com/Fu-Jie/openwebui-extensions/tree/main/plugins/filters/web_gemini_multimodel_filter)
|
||||
2. 上传到 OpenWebUI: **管理员面板** → **设置** → **函数**
|
||||
3. 配置 Gemini Adapter URL 和其他设置。
|
||||
4. 启用过滤器。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Plugin Center
|
||||
|
||||
Welcome to the OpenWebUI Extras Plugin Center! Here you'll find a comprehensive collection of plugins to enhance your OpenWebUI experience.
|
||||
Welcome to the OpenWebUI Extensions Plugin Center! Here you'll find a comprehensive collection of plugins to enhance your OpenWebUI experience.
|
||||
|
||||
## Plugin Types
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 插件中心
|
||||
|
||||
欢迎来到 OpenWebUI Extras 插件中心!在这里你可以找到完整的插件集合,帮助你强化 OpenWebUI 的体验。
|
||||
欢迎来到 OpenWebUI Extensions 插件中心!在这里你可以找到完整的插件集合,帮助你强化 OpenWebUI 的体验。
|
||||
|
||||
## 插件类型
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@ The MoE Prompt Refiner is an advanced pipeline that optimizes prompts before sen
|
||||
|
||||
## Installation
|
||||
|
||||
1. Download the pipeline file: [`moe_prompt_refiner.py`](https://github.com/Fu-Jie/awesome-openwebui/tree/main/plugins/pipelines)
|
||||
1. Download the pipeline file: [`moe_prompt_refiner.py`](https://github.com/Fu-Jie/openwebui-extensions/tree/main/plugins/pipelines)
|
||||
2. Upload to OpenWebUI: **Admin Panel** → **Settings** → **Functions**
|
||||
3. Configure expert models and settings
|
||||
4. Enable the pipeline
|
||||
@@ -106,4 +106,4 @@ Synthesized recommendations based on expert consensus...
|
||||
|
||||
## Source Code
|
||||
|
||||
[:fontawesome-brands-github: View on GitHub](https://github.com/Fu-Jie/awesome-openwebui/tree/main/plugins/pipelines){ .md-button }
|
||||
[:fontawesome-brands-github: View on GitHub](https://github.com/Fu-Jie/openwebui-extensions/tree/main/plugins/pipelines){ .md-button }
|
||||
|
||||
@@ -22,7 +22,7 @@ MoE Prompt Refiner 是一个高级 Pipeline,会在将请求发送给多个专
|
||||
|
||||
## 安装
|
||||
|
||||
1. 下载 Pipeline 文件:[`moe_prompt_refiner.py`](https://github.com/Fu-Jie/awesome-openwebui/tree/main/plugins/pipelines)
|
||||
1. 下载 Pipeline 文件:[`moe_prompt_refiner.py`](https://github.com/Fu-Jie/openwebui-extensions/tree/main/plugins/pipelines)
|
||||
2. 上传到 OpenWebUI:**Admin Panel** → **Settings** → **Functions**
|
||||
3. 配置专家模型及相关参数
|
||||
4. 启用该 Pipeline
|
||||
@@ -106,4 +106,4 @@ Synthesized recommendations based on expert consensus...
|
||||
|
||||
## 源码
|
||||
|
||||
[:fontawesome-brands-github: 在 GitHub 查看](https://github.com/Fu-Jie/awesome-openwebui/tree/main/plugins/pipelines){ .md-button }
|
||||
[:fontawesome-brands-github: 在 GitHub 查看](https://github.com/Fu-Jie/openwebui-extensions/tree/main/plugins/pipelines){ .md-button }
|
||||
|
||||
BIN
docs/plugins/pipes/2026-02-10_165530.png
Normal file
BIN
docs/plugins/pipes/2026-02-10_165530.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 229 KiB |
80
docs/plugins/pipes/github-copilot-sdk-deep-dive.md
Normal file
80
docs/plugins/pipes/github-copilot-sdk-deep-dive.md
Normal file
@@ -0,0 +1,80 @@
|
||||
# GitHub Copilot SDK Plugin Deep Dive
|
||||
|
||||
**Version:** 0.6.0 | **Author:** [Fu-Jie](https://github.com/Fu-Jie/openwebui-extensions) | **Status:** Production-Ready
|
||||
|
||||
The GitHub Copilot SDK plugin is far more than a simple API proxy; it is a highly integrated **Intelligent Agent Runtime Environment**. This document explores the core features, implementation details, technical architecture, and security design that define its capabilities.
|
||||
|
||||
---
|
||||
|
||||
## 🚀 1. Feature Catalog
|
||||
|
||||
The plugin implements advanced capabilities that go far beyond standard API calls:
|
||||
|
||||
- **✅ Physical Workspace Management**: Automatically creates isolated directories for each chat session to manage uploaded files and Agent-generated scripts.
|
||||
- **✅ Real-time TODO Sync**: Mounts to the OpenWebUI database to persist Agent plans directly into a UI progress bar, ensuring transparency for long-running tasks.
|
||||
- **✅ Cross-Ecosystem Tool Bridging**: Translates OpenWebUI Search, Python interpreters, and custom MCP tools into native Copilot capabilities.
|
||||
- **✅ Intelligent File Transport**: Ensures the Agent can access raw files (Excel, PDF, Code) like a local developer through physical file duplication.
|
||||
- **✅ Chain of Thought Streaming**: Full support for rendering the model's reasoning/thinking process in real-time.
|
||||
- **✅ BYOK with Plugin Power**: Connect external OpenAI/Anthropic models while retaining all the plugin's workspace and tool management features.
|
||||
|
||||
---
|
||||
|
||||
## 🎯 2. Use Cases: Beyond Basic Chat
|
||||
|
||||
With these features, the plugin excels in complex, real-world scenarios:
|
||||
|
||||
### 📁 Autonomous Repository Maintenance (Agentic DevOps)
|
||||
>
|
||||
> **Action**: Upload a Zip archive containing a codebase with bugs.
|
||||
> **Utility**: The Agent extracts the archive, uses `bash` to navigate and search, applies fixes via the `edit` tool, and runs tests to verify the solution—all within its isolated sandbox.
|
||||
|
||||
### 📊 Deep Data Analysis (Data Scientist Agent)
|
||||
>
|
||||
> **Action**: Upload multiple heavy Excel spreadsheets.
|
||||
> **Utility**: By bypassing RAG (via the filter), the Agent loads raw files directly into its Python interpreter, performs cross-table calculations, and generates analytical charts presented via Artifacts.
|
||||
|
||||
### 📝 Strategic Task Management
|
||||
>
|
||||
> **Action**: "Develop a full architecture for a new mobile app."
|
||||
> **Utility**: The plugin captures the Agent's breakdown of 20+ sub-tasks. The persistent progress bar reflects ongoing progress (e.g., "Designing Schema", "Drafting API"), providing clarity during long marathons.
|
||||
|
||||
---
|
||||
|
||||
## 🛡️ 3. Technical Architecture
|
||||
|
||||
### 3.1 Three-Layer Sandbox Isolation
|
||||
|
||||
To prevent data leakage in multi-user environments, the plugin enforces a strict physical directory structure:
|
||||
`/app/backend/data/copilot_workspace/{user_id}/{chat_id}/`
|
||||
|
||||
- **Constraint**: Code execution and file storage are confined to the session-specific folder.
|
||||
- **Persistence**: Data remains valid across container restarts due to volume mounting.
|
||||
|
||||
### 3.2 Dynamic Tool Bridging
|
||||
|
||||
How does Copilot "learn" to use OpenWebUI tools?
|
||||
|
||||
1. **Introspection**: Analyzes docstrings and type hints of OpenWebUI tools.
|
||||
2. **Schema Generation**: Dynamically creates JSON descriptions compliant with the GitHub Copilot specification.
|
||||
3. **Routing**: Handles parameter validation, identity injection, and result forwarding between systems.
|
||||
|
||||
### 3.3 Event-Driven TODO Hub
|
||||
|
||||
The plugin captures internal SDK events to power the UI progress bar:
|
||||
|
||||
- **Interceptor**: Listens for `tool.execution_complete` events for the `update_todo` tool.
|
||||
- **Storage**: Syncs project metrics directly to the `chat_todos` table in the OpenWebUI database (SQLite/PostgreSQL).
|
||||
|
||||
---
|
||||
|
||||
## ⚡ 4. Runtime Performance
|
||||
|
||||
- **Anti-Shake Logic**: Environment checks happen only once every 24 hours per process, preventing redundant system calls.
|
||||
- **Tool Caching**: Persists tool definitions across sessions to reduce overhead, improving initial response times by up to 40%.
|
||||
|
||||
---
|
||||
|
||||
## 🛠️ 5. Development Best Practices
|
||||
|
||||
1. **Use the Filter**: Always pair with `github_copilot_sdk_files_filter` to ensure files reach the Agent in their original binary form.
|
||||
2. **File-First Execution**: Encourage the Agent to "write code to file and execute" rather than relying on direct interactive shell input for complex logic.
|
||||
80
docs/plugins/pipes/github-copilot-sdk-deep-dive.zh.md
Normal file
80
docs/plugins/pipes/github-copilot-sdk-deep-dive.zh.md
Normal file
@@ -0,0 +1,80 @@
|
||||
# GitHub Copilot SDK 插件深度解析 (Deep Dive)
|
||||
|
||||
**版本:** 0.6.0 | **作者:** [Fu-Jie](https://github.com/Fu-Jie/openwebui-extensions) | **状态:** 生产级
|
||||
|
||||
GitHub Copilot SDK 插件不仅仅是一个 API 转发器,它是一个高度集成的 **智能 Agent 运行环境**。本文将从功能实现、应用场景、技术架构及安全设计四个维度,深入解析这一插件的强大之处。
|
||||
|
||||
---
|
||||
|
||||
## 🚀 1. 核心功能清单 (Feature Catalog)
|
||||
|
||||
插件通过深度集成实现了以下超越普通 API 调用的能力:
|
||||
|
||||
- **✅ 物理级工作区管理**: 自动为每个对话创建独立的物理目录,管理用户上传和 Agent 生成的所有文件。
|
||||
- **✅ 实时 TODO 状态同步**: 通过数据库挂载,实时将 Agent 的计划提取到 UI 进度条中,解决长任务透明度问题。
|
||||
- **✅ 跨生态工具桥接**: 自动将 OpenWebUI 的搜索、Python 运行环境和自定义 MCP 工具转化为 Copilot 原生工具。
|
||||
- **✅ 智能文件搬运**: 物理级文件副本传输,确保 Agent 可以像本地开发者一样访问 Excel、PDF 和代码仓库。
|
||||
- **✅ 思考过程可见性**: 完整模拟 GitHub Copilot 的思维链 (Thinking Process) 流式展示。
|
||||
- **✅ BYOK 二次鉴权**: 支持在 Copilot 框架内接入外部 OpenAI/Anthropic 模型,同时享受插件的所有增强功能。
|
||||
|
||||
---
|
||||
|
||||
## 🎯 2. 这个插件能用来干什么? (Use Cases)
|
||||
|
||||
基于上述功能,该插件可以胜任以下复杂场景:
|
||||
|
||||
### 📁 场景 A:全自动代码仓库维护 (Agentic DevOps)
|
||||
>
|
||||
> **操作**: 上传一个包含 Bug 的 Zip 压缩包。
|
||||
> **用途**: Agent 会自动解密、解压,使用 `bash` 定位问题,调用 `edit` 修改代码,最后运行测试脚本。这一切都在隔离沙箱中完成,你只需要审核最终的补丁。
|
||||
|
||||
### 📊 场景 B:深度财务数据审计 (Data Analyst Agent)
|
||||
>
|
||||
> **操作**: 上传一年的 Excel 财务报表。
|
||||
> **用途**: 绕过传统 RAG 的文本切片限制,Agent 直接通过 Python 脚本加载原始表格,进行跨表计算和逻辑校验,并生成可视化图表。
|
||||
|
||||
### 📝 场景 C:复杂长任务进度追踪 (Project Manager)
|
||||
>
|
||||
> **操作**: 输入“请基于以下需求文档编写一个完整的 Web 后端方案”。
|
||||
> **用途**: 插件捕捉 Agent 拆解的 20+ 个子任务。顶部的实时进度条会告诉你它正在“设计数据库”还是“编写认证逻辑”,确保你对黑盒任务了如指掌。
|
||||
|
||||
---
|
||||
|
||||
## 🛡️ 3. 技术架构设计 (Technical Architecture)
|
||||
|
||||
### 3.1 三层物理安全隔离 (Workspace Isolation)
|
||||
|
||||
为了确保多用户环境下的数据安全,插件强制执行以下物理路径:
|
||||
`/app/backend/data/copilot_workspace/{user_id}/{chat_id}/`
|
||||
|
||||
- **隔离性**: 进程内代码执行被严格约束在 `chat_id` 目录下。
|
||||
- **持久性**: 即使容器重启,挂载路径下的工作成果依然保留。
|
||||
|
||||
### 3.2 零配置工具桥接 (Dynamic Tool Bridging)
|
||||
|
||||
插件如何让 Copilot “学会”使用 OpenWebUI 的工具?
|
||||
|
||||
1. **内省 (Introspection)**: 实时读取工具的 `docstring` 和 `type hints`。
|
||||
2. **动态转换**: 生成符合 GitHub Copilot 规范的工具描述符。
|
||||
3. **双向路由**: 处理参数校验、身份注入(如认证头)以及结果回传。
|
||||
|
||||
### 3.3 数据库集成与事件驱动
|
||||
|
||||
插件通过监听 `NDJSON` 事件流,实现状态同步:
|
||||
|
||||
- **监听器**: 实时过滤 `tool.execution_complete` 事件。
|
||||
- **持久层**: 使用 OpenWebUI 核心相同的 `SQLAlchemy` 引擎操作 `chat_todos` 表。
|
||||
|
||||
---
|
||||
|
||||
## ⚡ 4. 性能优化 (Performance)
|
||||
|
||||
- **环境检查防抖**: 全局类变量保护,版本核对周期为 24 小时,避免高并发下的 I/O 争抢。
|
||||
- **工具定义缓存**: 仅在变更时刷新工具元数据,首包响应速度(TTFB)提升约 40%。
|
||||
|
||||
---
|
||||
|
||||
## 🛠️ 5. 开发建议 (Best Practices)
|
||||
|
||||
1. **协同工作**: 必须安装 `github_copilot_sdk_files_filter` 以确保文件以“二进制原文”而非“RAG 切片”传递。
|
||||
2. **Python 范式**: 鼓励 Agent 采取“写文件 -> 运行文件”的模式,而非交互式 Shell 输出,以获得更好的执行稳定性。
|
||||
105
docs/plugins/pipes/github-copilot-sdk-tutorial.md
Normal file
105
docs/plugins/pipes/github-copilot-sdk-tutorial.md
Normal file
@@ -0,0 +1,105 @@
|
||||
# GitHub Copilot SDK Advanced Tutorial
|
||||
|
||||
**Author:** [Fu-Jie](https://github.com/Fu-Jie) | **Version:** 1.0.0 | **Project:** [OpenWebUI Extensions](https://github.com/Fu-Jie/openwebui-extensions)
|
||||
|
||||
This tutorial guides you through unleashing the full potential of the GitHub Copilot SDK plugin, specifically focusing on advanced file generation, BYOK customization, and complex task orchestration.
|
||||
|
||||
---
|
||||
|
||||
## 1. The 3-Step File Delivery Protocol
|
||||
|
||||
This is one of the most powerful features of this plugin. Agents can generate real physical files (e.g., `.xlsx`, `.pdf`, `.csv`) in their isolated workspace and publish them for you to download.
|
||||
|
||||
### Automated Execution Logic:
|
||||
1. **Write (Local)**: The Agent creates a file using code within its isolated directory (the current directory `.` during Python execution).
|
||||
2. **Publish**: The Agent automatically calls `publish_file_from_workspace(filename='report.xlsx')`.
|
||||
3. **Link**: The plugin handles S3 or local storage mapping, bypasses RAG interference, and returns a secure link like `/api/v1/files/.../content`.
|
||||
|
||||
> [!TIP]
|
||||
> **User Command Tip**: You can simply tell the Agent: "Analyze the previous data and export an Excel sheet for me." It will automatically trigger this entire sequence.
|
||||
|
||||
---
|
||||
|
||||
## 2. Advanced BYOK (Bring Your Own Key) Mode
|
||||
|
||||
If you don't have a GitHub Copilot subscription or want to use high-end models from OpenAI/Anthropic directly, you can use the BYOK mode.
|
||||
|
||||
### How to Configure:
|
||||
1. **Set Base URL**: e.g., `https://api.openai.com/v1`.
|
||||
2. **Set API Key**: Enter your key in your personal settings (Valves).
|
||||
3. **Real-time Model Refresh**: The plugin features a **Config-Aware Refresh** mechanism. When you modify the API Key or Base URL, simply refresh the model selector in the UI—the plugin will automatically fetch the latest available models from the backend.
|
||||
|
||||
---
|
||||
|
||||
## 3. Workspace Isolation & Debugging
|
||||
|
||||
Every chat session has a physically isolated folder, ensuring that files from different tasks do not interfere with each other.
|
||||
|
||||
### Physical Path Rules:
|
||||
- **In-Container Path**: `/app/backend/data/copilot_workspace/{user_id}/{chat_id}/`
|
||||
- **Agent's Perspective**: It sees the `.` directory as the path mentioned above.
|
||||
|
||||
### Debugging Pro Tips:
|
||||
1. **Enable DEBUG Valve**: Set `DEBUG` to `True` in the configuration.
|
||||
2. **Check the Console**: Open browser developer tools (F12) -> Console.
|
||||
3. **Capture Paths**: You will see logs like `📂 Workspace Resolved: /.../`, which helps you confirm exactly where the Agent is writing its files.
|
||||
|
||||
---
|
||||
|
||||
## 4. Deep Analysis Bypassing RAG
|
||||
|
||||
Traditional file uploads in OpenWebUI trigger vectorization (RAG), which might not be precise enough for large-scale data analysis.
|
||||
|
||||
**Advantages of this Plugin**:
|
||||
- When used with the [Files Filter](https://openwebui.com/posts/403a62ee-a596-45e7-be65-fab9cc249dd6) plugin, the Agent can **directly read every byte** of the raw file.
|
||||
- It can analyze every row of a CSV as if it were running a script locally, preventing information loss caused by retrieval-based slicing.
|
||||
|
||||
---
|
||||
|
||||
## 5. Common Interaction Examples
|
||||
|
||||
- **Data Conversion**: "Convert this JSON content into a beautifully formatted Word document and provide a download link."
|
||||
- **Code Review**: "Read all `.py` files in the workspace, find potential bugs, and publish the suggestions as a Markdown report."
|
||||
- **Chart Generation**: "Generate an Excel report based on the financial data and use Python to draw a trend chart for me."
|
||||
|
||||
---
|
||||
|
||||
## 🚀 Real-world Example: Automated Financial Analysis
|
||||
|
||||
### Scenario
|
||||
A user uploads a raw sales log named `sales_data.csv` and asks the AI to generate a summarized Excel report.
|
||||
|
||||
### 1. User Command
|
||||
> "Analyze `sales_data.csv` in the current directory, calculate total revenue per product category, and export an Excel file named `category_summary.xlsx` for me."
|
||||
|
||||
### 2. Agent Execution Flow
|
||||
The Agent performs the following steps autonomously:
|
||||
|
||||
* **Step 1: Write and Run Python Code**
|
||||
```python
|
||||
import pandas as pd
|
||||
# Direct file access in the isolated workspace (Bypassing RAG for 100% accuracy)
|
||||
df = pd.read_csv('sales_data.csv')
|
||||
summary = df.groupby('Category')['Revenue'].sum().reset_index()
|
||||
# Save the result locally
|
||||
summary.to_excel('category_summary.xlsx', index=False)
|
||||
```
|
||||
* **Step 2: Call the Publishing Tool**
|
||||
The Agent calls: `publish_file_from_workspace(filename="category_summary.xlsx")`
|
||||
* **Step 3: Deliver the Link**
|
||||
The tool returns a `download_url`, which the Agent presents to the user.
|
||||
|
||||
### 3. Final Result
|
||||
The Agent responds:
|
||||
> "Analysis complete! I have summarized the revenue by category. You can download your report here:
|
||||
>
|
||||
> [📊 Download: Category_Summary.xlsx](/api/v1/files/uuid-hash/content)"
|
||||
|
||||
#### Execution Screenshot
|
||||

|
||||
|
||||
---
|
||||
|
||||
## ⭐ Continuous Improvement
|
||||
|
||||
If you encounter any issues or have suggestions for new features, feel free to submit an Issue or participate in discussions on [OpenWebUI Extensions](https://github.com/Fu-Jie/openwebui-extensions).
|
||||
105
docs/plugins/pipes/github-copilot-sdk-tutorial.zh.md
Normal file
105
docs/plugins/pipes/github-copilot-sdk-tutorial.zh.md
Normal file
@@ -0,0 +1,105 @@
|
||||
# GitHub Copilot SDK 插件进阶实战教程
|
||||
|
||||
**作者:** [Fu-Jie](https://github.com/Fu-Jie) | **版本:** 1.0.0 | **项目:** [OpenWebUI Extensions](https://github.com/Fu-Jie/openwebui-extensions)
|
||||
|
||||
本教程旨在指导您如何深度发挥 GitHub Copilot SDK 插件的全部潜力,特别是在自动化文件生成、BYOK 模式自定义以及复杂任务调度方面的进阶用法。
|
||||
|
||||
---
|
||||
|
||||
## 1. 核心协议:文件交付三步法 (File Delivery Protocol)
|
||||
|
||||
这是本插件最强大的功能之一。Agent 不再只是“说话”,它可以在其隔离的工作区内生成真正的物理文件(如 `.xlsx`, `.pdf`, `.csv`),并将其发布给您下载。
|
||||
|
||||
### 自动化执行逻辑:
|
||||
1. **本地写入 (Write)**:Agent 在其隔离目录(即 Python 执行的当前目录 `.`)下通过代码生成文件。
|
||||
2. **显式发布 (Publish)**:Agent 自动调用 `publish_file_from_workspace(filename='report.xlsx')`。
|
||||
3. **获取链接 (Link)**:插件会自动处理 S3 或本地存储映射,绕过 RAG 干扰,并返回一个类似 `/api/v1/files/.../content` 的安全链接。
|
||||
|
||||
> [!TIP]
|
||||
> **用户指令技巧**:您可以直接对 Agent 说:“分析刚才的表格并导出一份 Excel 给我”。它会自动触发这一连串动作。
|
||||
|
||||
---
|
||||
|
||||
## 2. BYOK (自带 Key) 模式进阶
|
||||
|
||||
如果您没有 GitHub Copilot 订阅,或者希望使用自己购买的 OpenAI/Anthropic 高阶模型,可以使用 BYOK 模式。
|
||||
|
||||
### 如何配置:
|
||||
1. **设置 Base URL**:如 `https://api.openai.com/v1`。
|
||||
2. **设置 API Key**:在个人设置中填入您的密钥。
|
||||
3. **模型实时刷新**:插件具备**配置感知刷新**机制。当您在 Valve 中修改了 API Key 或 Base URL 后,无需重启,只需刷新模型选择器,插件会自动向后端拉取最新的可用模型列表。
|
||||
|
||||
---
|
||||
|
||||
## 3. 工作区隔离与调试 (Workspace & Debugging)
|
||||
|
||||
每个聊天会话都有一个物理上隔离的文件夹,确保不同任务的文件互不干扰。
|
||||
|
||||
### 物理路径规则:
|
||||
- **容器内路径**:`/app/backend/data/copilot_workspace/{user_id}/{chat_id}/`
|
||||
- **Agent 的视角**:它看到的 `.` 目录即是上述路径。
|
||||
|
||||
### 调试秘籍:
|
||||
1. **开启 DEBUG Valve**:在配置中将 `DEBUG` 设为 `True`。
|
||||
2. **查看控制台**:打开浏览器开发者工具 (F12) -> Console。
|
||||
3. **捕获路径**:您会看到类似 `📂 Workspace Resolved: /.../` 的日志,这能帮您确认 Agent 到底把文件写到了哪里。
|
||||
|
||||
---
|
||||
|
||||
## 4. 绕过 RAG 的深度分析
|
||||
|
||||
传统的 OpenWebUI 文件上传会触发向量化(RAG),这对于大批量数据分析往往不够精确。
|
||||
|
||||
**本插件的优势**:
|
||||
- 配合 [Files Filter](https://openwebui.com/posts/403a62ee-a596-45e7-be65-fab9cc249dd6) 插件使用时,Agent 可以**直接读取**原始文件的每一个字节。
|
||||
- 它能像在本地运行脚本一样分析 CSV 的每一行,而不会因为切片检索(Retrieval)导致信息丢失。
|
||||
|
||||
---
|
||||
|
||||
## 5. 常见交互指令示例
|
||||
|
||||
- **数据转换**:“把这个 JSON 内容转换成格式精美的 Word 文档并提供下载链接。”
|
||||
- **代码审查**:“读取工作区内的所有 `.py` 文件,找出潜在的 Bug,并把修改建议发布为 Markdown 报告。”
|
||||
- **图表生成**:“根据刚才的财务数据生成一份 Excel 报表,并用 Python 画一个趋势图给我。”
|
||||
|
||||
---
|
||||
|
||||
## 🚀 实战示例:全自动财务分析报告
|
||||
|
||||
### 场景描述
|
||||
用户上传了一个名为 `sales_data.csv` 的原始销售清单,要求 AI 进行汇总统计,并生成一份带样式的 Excel 报表。
|
||||
|
||||
### 1. 用户的指令
|
||||
> “请分析当前目录下的 `sales_data.csv`,按产品类别统计总销售额,并导出一份名为 `category_summary.xlsx` 的 Excel 给我就好。”
|
||||
|
||||
### 2. Agent 的自动化执行过程
|
||||
Agent 会在后台连续执行以下动作:
|
||||
|
||||
* **步骤 1: 编写并运行 Python 脚本**
|
||||
```python
|
||||
import pandas as pd
|
||||
# 直接在隔离工作区读取原始文件(绕过 RAG,保证数据 100% 准确)
|
||||
df = pd.read_csv('sales_data.csv')
|
||||
summary = df.groupby('Category')['Revenue'].sum().reset_index()
|
||||
# 保存结果到当前目录
|
||||
summary.to_excel('category_summary.xlsx', index=False)
|
||||
```
|
||||
* **步骤 2: 调用发布工具**
|
||||
Agent 自动执行工具调用:`publish_file_from_workspace(filename="category_summary.xlsx")`
|
||||
* **步骤 3: 交付链接**
|
||||
工具返回 `download_url`,Agent 最终回复用户。
|
||||
|
||||
### 3. 最终交付效果
|
||||
Agent 会向用户展示:
|
||||
> “分析完成!我已经为您统计了产品类别的销售额。您可以点击下方链接下载报表:
|
||||
>
|
||||
> [📊 点击下载:分类销售统计报表.xlsx](/api/v1/files/uuid-hash/content)”
|
||||
|
||||
#### 实际运行截图示例
|
||||

|
||||
|
||||
---
|
||||
|
||||
## ⭐ 持续改进
|
||||
|
||||
如果您在使用过程中发现任何问题,或有新的功能建议,欢迎到 [OpenWebUI Extensions](https://github.com/Fu-Jie/openwebui-extensions) 提交 Issue 或参与讨论。
|
||||
@@ -1,104 +1,119 @@
|
||||
# GitHub Copilot SDK Pipe for OpenWebUI
|
||||
|
||||
**Author:** [Fu-Jie](https://github.com/Fu-Jie/awesome-openwebui) | **Version:** 0.3.0 | **Project:** [Awesome OpenWebUI](https://github.com/Fu-Jie/awesome-openwebui) | **License:** MIT
|
||||
**Author:** [Fu-Jie](https://github.com/Fu-Jie) | **Version:** 0.6.2 | **Project:** [OpenWebUI Extensions](https://github.com/Fu-Jie/openwebui-extensions) | **License:** MIT
|
||||
|
||||
This is an advanced Pipe function for [OpenWebUI](https://github.com/open-webui/open-webui) that allows you to use GitHub Copilot models (such as `gpt-5`, `gpt-5-mini`, `claude-sonnet-4.5`) directly within OpenWebUI. It is built upon the official [GitHub Copilot SDK for Python](https://github.com/github/copilot-sdk), providing a native integration experience.
|
||||
This is an advanced Pipe function for [OpenWebUI](https://github.com/open-webui/open-webui) that integrates the official [GitHub Copilot SDK](https://github.com/github/copilot-sdk). It enables you to use **GitHub Copilot models** (e.g., `gpt-5.2-codex`, `claude-sonnet-4.5`,`gemini-3-pro`, `gpt-5-mini`) **AND** your own models via **BYOK** (OpenAI, Anthropic) directly within OpenWebUI, providing a unified agentic experience with **strict User & Chat-level Workspace Isolation**.
|
||||
|
||||
> [!IMPORTANT]
|
||||
> **Active GitHub Copilot Subscription Required**
|
||||
> This plugin requires a valid GitHub Copilot subscription (Individual, Business, or Enterprise). It will verify your subscription status during authentication.
|
||||
> **Essential Companion**
|
||||
> To unlock file handling and data analysis capabilities, you must install the [GitHub Copilot SDK Files Filter](https://openwebui.com/posts/403a62ee-a596-45e7-be65-fab9cc249dd6).
|
||||
|
||||
## 🚀 What's New (v0.3.0) - The Power of "Unified Ecosystem"
|
||||
> [!TIP]
|
||||
> **No Subscription Required for BYOK**
|
||||
> If you are using your own API keys (BYOK mode with OpenAI/Anthropic), **you do NOT need a GitHub Copilot subscription.** A subscription is only required to access GitHub's official models.
|
||||
|
||||
* **🔌 Zero-Config Tool Bridge**: Automatically transforms your existing OpenWebUI Functions (Tools) into Copilot-compatible tools. **Copilot now has total access to your entire WebUI toolset!**
|
||||
* **🔗 Dynamic MCP Discovery**: Seamlessly connects to MCP servers defined in **Admin Settings -> Connections**. No configuration files required—it just works.
|
||||
* **⚡ High-Performance Async Engine**: Background CLI updates and optimized event-driven streaming ensure lightning-fast responses without UI lag.
|
||||
* **🛡️ Robust Interoperability**: Advanced sanitization and dynamic Pydantic model generation ensure smooth integration even with complex third-party tools.
|
||||
---
|
||||
|
||||
## ✨ v0.6.2 Updates (What's New)
|
||||
|
||||
- **🛠️ New Workspace Artifacts Tool**: Introduced `publish_file_from_workspace`. Agents can now generate files (e.g., Python-generated Excel/CSV) and provide direct download links for the user to click and save.
|
||||
- **⚙️ Workflow Optimization**: Improved reliability of the internal agentic workspace management.
|
||||
- **🛡️ Enhanced Security**: Refined access control for system resources within the isolated environment.
|
||||
- **🔧 Performance Tuning**: Optimized stream processing for larger context windows.
|
||||
|
||||
---
|
||||
|
||||
## ✨ Key Capabilities
|
||||
|
||||
* **🌉 The Ultimate Bridge**: The first and only plugin that creates a seamless bridge between **OpenWebUI Tools** and **GitHub Copilot SDK**.
|
||||
* **🚀 Official & Native**: Built directly on the official Python SDK, providing the most stable and authentic Copilot experience.
|
||||
* **🌊 Advanced Streaming (Thought Process)**: Supports full model reasoning/thinking display with typewriter effects.
|
||||
* **🖼️ Intelligent Multimodal**: Full support for images and attachments, enabling Copilot to "see" your workspace.
|
||||
* **🛠️ Effortless Setup**: Automatic CLI detection, version enforcement, and dependency management.
|
||||
* **🔑 Dual-Layer Security**: Supports secure OAuth flow for Chat and standard PAT for extended MCP capabilities.
|
||||
- **🔑 Flexible Auth & BYOK**: Official Copilot subscriptions (PAT) or Bring Your Own Key (OpenAI/Anthropic).
|
||||
- **🔌 Universal Tool Protocol**: Native support for **MCP (Model Context Protocol)**, OpenAPI, and OpenWebUI built-in tools.
|
||||
- **🛡️ Sandbox Workspace Isolation**: Strict per-session sandboxing for data privacy and security.
|
||||
- **♾️ Infinite Session Management**: Smart context window management with automatic compaction for indefinite conversation capability.
|
||||
- **🧠 Deep Database Integration**: Real-time persistence of TOD·O lists for long-running workflows.
|
||||
- **🌊 Advanced Streaming**: Full support for thinking process/Chain of Thought visualization.
|
||||
- **🖼️ Intelligent Multimodal**: Vision capabilities and raw file analysis support.
|
||||
- **⚡ Full-Lifecycle File Agent**: Supports receiving uploaded files for raw bypass analysis and publishing results (Excel/reports) as downloadable links.
|
||||
- **🖼️ Interactive Artifacts**: Automatically renders HTML/JS apps generated by the agent directly in the chat interface.
|
||||
|
||||
## 📦 Installation & Usage
|
||||
---
|
||||
|
||||
### 1. Import Function
|
||||
## ⚙️ Core Configuration (Valves)
|
||||
|
||||
1. Open OpenWebUI.
|
||||
2. Go to **Workspace** -> **Functions**.
|
||||
3. Click **+** (Create Function).
|
||||
4. Paste the content of `github_copilot_sdk.py` (or `github_copilot_sdk_cn.py` for Chinese) completely.
|
||||
5. Save.
|
||||
### 1. Administrator Settings (Base)
|
||||
|
||||
### 2. Configure Valves (Settings)
|
||||
Administrators define the default behavior for all users in the function settings.
|
||||
|
||||
Find "GitHub Copilot" in the function list and click the **⚙️ (Valves)** icon to configure:
|
||||
|
||||
| Parameter | Description | Default |
|
||||
| Valve | Default | Description |
|
||||
| :--- | :--- | :--- |
|
||||
| **GH_TOKEN** | **(Required)** GitHub Access Token (PAT or OAuth Token). Access to Chat. | - |
|
||||
| **DEBUG** | Whether to enable debug logs (output to browser console). | `False` |
|
||||
| **LOG_LEVEL** | Copilot CLI log level: none, error, warning, info, debug, all. | `error` |
|
||||
| **SHOW_THINKING** | Show model reasoning/thinking process (requires streaming + model support). | `True` |
|
||||
| **COPILOT_CLI_VERSION** | Specific Copilot CLI version to install/enforce. | `0.0.405` |
|
||||
| **EXCLUDE_KEYWORDS** | Exclude models containing these keywords (comma separated). | - |
|
||||
| **WORKSPACE_DIR** | Restricted workspace directory for file operations. | - |
|
||||
| **INFINITE_SESSION** | Enable Infinite Sessions (automatic context compaction). | `True` |
|
||||
| **COMPACTION_THRESHOLD** | Background compaction threshold (0.0-1.0). | `0.8` |
|
||||
| **BUFFER_THRESHOLD** | Buffer exhaustion threshold (0.0-1.0). | `0.95` |
|
||||
| **TIMEOUT** | Timeout for each stream chunk (seconds). | `300` |
|
||||
| **CUSTOM_ENV_VARS** | Custom environment variables (JSON format). | - |
|
||||
| **REASONING_EFFORT** | Reasoning effort level: low, medium, high. `xhigh` is supported for some models. | `medium` |
|
||||
| **ENFORCE_FORMATTING** | Add formatting instructions to system prompt for better readability. | `True` |
|
||||
| **ENABLE_MCP_SERVER** | Enable Direct MCP Client connection (Recommended). | `True` |
|
||||
| **ENABLE_OPENWEBUI_TOOLS** | Enable OpenWebUI Tools (includes defined and server tools). | `True` |
|
||||
| `GH_TOKEN` | `""` | Global GitHub Token (Requires 'Copilot Requests' permission). |
|
||||
| `ENABLE_OPENWEBUI_TOOLS` | `True` | Enable OpenWebUI Tools (includes defined Tools and Built-in Tools). |
|
||||
| `ENABLE_OPENAPI_SERVER` | `True` | Enable OpenAPI Tool Server connection. |
|
||||
| `ENABLE_MCP_SERVER` | `True` | Enable Direct MCP Client connection (Recommended). |
|
||||
| `REASONING_EFFORT` | `medium` | Reasoning effort level: low, medium, high. |
|
||||
| `SHOW_THINKING` | `True` | Show model reasoning/thinking process. |
|
||||
| `INFINITE_SESSION` | `True` | Enable Infinite Sessions (automatic context compaction). |
|
||||
| `MAX_MULTIPLIER` | `1.0` | Max allowed billing multiplier (0x for free models only). |
|
||||
| `EXCLUDE_KEYWORDS` | `""` | Exclude models containing these keywords (comma separated). |
|
||||
| `TIMEOUT` | `300` | Timeout for each stream chunk (seconds). |
|
||||
| `BYOK_TYPE` | `openai` | BYOK Provider Type: `openai`, `anthropic`. |
|
||||
| `BYOK_BASE_URL` | `""` | BYOK Base URL (e.g., <https://api.openai.com/v1>). |
|
||||
| `BYOK_MODELS` | `""` | BYOK Model List (comma separated). Leave empty to fetch from API. |
|
||||
| `CUSTOM_ENV_VARS` | `""` | Custom environment variables (JSON format). |
|
||||
| `DEBUG` | `False` | Enable this to see detailed logs in your browser console. |
|
||||
|
||||
#### User Valves (per-user overrides)
|
||||
### 2. User Settings (Individual Overrides)
|
||||
|
||||
These optional settings can be set per user (overrides global Valves):
|
||||
Standard users can override these settings in their individual Profile/Function settings.
|
||||
|
||||
| Parameter | Description | Default |
|
||||
| :--- | :--- | :--- |
|
||||
| **GH_TOKEN** | Personal GitHub Token (overrides global setting). | - |
|
||||
| **REASONING_EFFORT** | Reasoning effort level (low/medium/high/xhigh). | - |
|
||||
| **DEBUG** | Enable technical debug logs. | `False` |
|
||||
| **SHOW_THINKING** | Show model reasoning/thinking process. | `True` |
|
||||
| **ENABLE_OPENWEBUI_TOOLS** | Enable OpenWebUI Tools (overrides global). | `True` |
|
||||
| **ENABLE_MCP_SERVER** | Enable MCP server loading (overrides global). | `True` |
|
||||
| **ENFORCE_FORMATTING** | Enforce formatting guidelines (overrides global). | `True` |
|
||||
| Valve | Description |
|
||||
| :--- | :--- |
|
||||
| `GH_TOKEN` | Use your personal GitHub Token. |
|
||||
| `REASONING_EFFORT` | Individual reasoning effort preference. |
|
||||
| `SHOW_THINKING` | Show model reasoning/thinking process. |
|
||||
| `MAX_MULTIPLIER` | Maximum allowed billing multiplier override. |
|
||||
| `EXCLUDE_KEYWORDS` | Exclude models containing these keywords. |
|
||||
| `BYOK_API_KEY` | Use your personal OpenAI/Anthropic API Key. |
|
||||
|
||||
### 3. Get Token
|
||||
---
|
||||
|
||||
To use GitHub Copilot, you need a GitHub Personal Access Token (PAT) with appropriate permissions.
|
||||
## 🎯 Use Cases (What can you do?)
|
||||
|
||||
**Steps to generate your token:**
|
||||
- **📁 Fully Autonomous DevOps**: Agent analyzes code, runs tests, and applies patches within its isolated sandbox.
|
||||
- **📊 Deep Data Auditing**: Directly process raw Excel/CSV data via Python (bypassing RAG) and generate visual reports.
|
||||
- **📝 Long-Task Management**: Automatically decomposes complex requests and persists TOD·O progress across sessions.
|
||||
|
||||
---
|
||||
|
||||
## ⭐ Support
|
||||
|
||||
If this plugin has been useful, a **Star** on [OpenWebUI Extensions](https://github.com/Fu-Jie/openwebui-extensions) would be a great motivation for me. Thank you!
|
||||
|
||||
---
|
||||
|
||||
## 🚀 Installation & Configuration
|
||||
|
||||
### 1) Import Function
|
||||
|
||||
1. Open OpenWebUI, go to **Workspace** -> **Functions**.
|
||||
2. Click **+** (Create Function), paste the content of `github_copilot_sdk.py`.
|
||||
3. Save and ensure it is enabled.
|
||||
|
||||
### 2) Get Token
|
||||
|
||||
1. Visit [GitHub Token Settings](https://github.com/settings/tokens?type=beta).
|
||||
2. Click **Generate new token (fine-grained)**.
|
||||
3. **Repository access**: Select **Public Repositories** (simplest) or **All repositories**.
|
||||
4. **Permissions**:
|
||||
* If you chose **All repositories**, you must click **Account permissions**.
|
||||
* Find **Copilot Requests**, and select **Access**.
|
||||
5. Generate and copy the Token.
|
||||
2. Create **Fine-grained token**, granting **Account permissions** -> **Copilot Requests** access.
|
||||
3. Paste the generated Token into the `GH_TOKEN` field in Valves.
|
||||
|
||||
## 📋 Dependencies
|
||||
---
|
||||
|
||||
This Pipe will automatically attempt to install the following dependencies:
|
||||
## 📋 Troubleshooting & Dependencies
|
||||
|
||||
* `github-copilot-sdk` (Python package)
|
||||
* `github-copilot-cli` (Binary file, installed via official script)
|
||||
- **Agent ignores files?**: Ensure the Files Filter is enabled, otherwise RAG will interfere with raw binaries.
|
||||
- **No progress bar?**: The bar only appears when the Agent uses the `update_todo` tool.
|
||||
- **Dependencies**: This Pipe automatically installs `github-copilot-sdk` (Python) and `github-copilot-cli` (Binary).
|
||||
|
||||
## Troubleshooting ❓
|
||||
---
|
||||
|
||||
* **Images and Multimodal Usage**:
|
||||
* Ensure `MODEL_ID` is a model that supports multimodal input.
|
||||
* **Thinking not shown**:
|
||||
* Ensure **streaming is enabled** and the selected model supports reasoning output.
|
||||
## Changelog
|
||||
|
||||
## 📄 License
|
||||
|
||||
MIT
|
||||
See the full history on GitHub: [OpenWebUI Extensions](https://github.com/Fu-Jie/openwebui-extensions)
|
||||
|
||||
@@ -1,104 +1,119 @@
|
||||
# GitHub Copilot SDK 官方管道
|
||||
|
||||
**作者:** [Fu-Jie](https://github.com/Fu-Jie/awesome-openwebui) | **版本:** 0.3.0 | **项目:** [Awesome OpenWebUI](https://github.com/Fu-Jie/awesome-openwebui) | **许可证:** MIT
|
||||
**作者:** [Fu-Jie](https://github.com/Fu-Jie) | **版本:** 0.6.2 | **项目:** [OpenWebUI Extensions](https://github.com/Fu-Jie/openwebui-extensions) | **许可证:** MIT
|
||||
|
||||
这是一个用于 [OpenWebUI](https://github.com/open-webui/open-webui) 的高级 Pipe 函数,允许你直接在 OpenWebUI 中使用 GitHub Copilot 模型(如 `gpt-5`, `gpt-5-mini`, `claude-sonnet-4.5`)。它基于官方 [GitHub Copilot SDK for Python](https://github.com/github/copilot-sdk) 构建,提供了原生级的集成体验。
|
||||
这是一个用于 [OpenWebUI](https://github.com/open-webui/open-webui) 的高级 Pipe 函数,深度集成了 **GitHub Copilot SDK**。它不仅支持 **GitHub Copilot 官方模型**(如 `gpt-5.2-codex`, `claude-sonnet-4.5`, `gemini-3-pro`, `gpt-5-mini`),还支持 **BYOK (自带 Key)** 模式对接自定义服务商(OpenAI, Anthropic),并具备**严格的用户与会话级工作区隔离**能力,提供统一且安全的 Agent 交互体验。
|
||||
|
||||
> [!IMPORTANT]
|
||||
> **需 GitHub Copilot 订阅**
|
||||
> 本插件需要有效的 GitHub Copilot 订阅(个人版、商业版或企业版)。插件将在认证阶段验证您的订阅状态。
|
||||
> **核心伴侣组件**
|
||||
> 如需启用文件处理与数据分析能力,请务必安装 [GitHub Copilot SDK Files Filter](https://openwebui.com/posts/403a62ee-a596-45e7-be65-fab9cc249dd6)。
|
||||
|
||||
## 🚀 最新特性 (v0.3.0) - “统一生态”的力量
|
||||
> [!TIP]
|
||||
> **BYOK 模式无需订阅**
|
||||
> 如果您使用自带的 API Key (BYOK 模式对接 OpenAI/Anthropic),**您不需要 GitHub Copilot 官方订阅**。只有在访问 GitHub 官方模型时才需要订阅。
|
||||
|
||||
* **🔌 零配置工具桥接 (Unified Tool Bridge)**: 自动将您现有的 OpenWebUI Functions (工具) 转换为 Copilot 兼容工具。**Copilot 现在可以无缝调用您手头所有的 WebUI 工具!**
|
||||
* **🔗 动态 MCP 自动发现**: 直接联动 OpenWebUI **管理面板 -> 连接**。无需编写任何配置文件,即插即用,瞬间扩展 Copilot 能力边界。
|
||||
* **⚡ 高性能异步引擎**: 异步 CLI 更新检查与高度优化的事件驱动流式处理,确保对话毫秒级响应。
|
||||
* **🛡️ 卓越的兼容性**: 独创的动态 Pydantic 模型生成技术,确保复杂工具参数在 Copilot 端也能得到精准验证。
|
||||
---
|
||||
|
||||
## ✨ 核心能力
|
||||
## ✨ 0.6.2 更新内容 (What's New)
|
||||
|
||||
* **🌉 强大的生态桥接**: 首个且唯一完美打通 **OpenWebUI Tools** 与 **GitHub Copilot SDK** 的插件。
|
||||
* **🚀 官方原生产体验**: 基于官方 Python SDK 构建,提供最稳定、最纯正的 Copilot 交互体验。
|
||||
* **🌊 深度推理展示**: 完整支持模型思考过程 (Thinking Process) 的流式渲染。
|
||||
* **🖼️ 智能多模态**: 支持图像识别与附件上传,让 Copilot 拥有视觉能力。
|
||||
* **🛠️ 极简部署流程**: 自动检测环境、自动下载 CLI、自动管理依赖,全自动化开箱即用。
|
||||
* **🔑 安全认证体系**: 完美支持 OAuth 授权与 PAT 模式,兼顾便捷与安全性。
|
||||
- **🛠️ 新增工作区产物工具**: 引入 `publish_file_from_workspace`。Agent 现在可以生成物理文件(如使用 Python 生成的 Excel/CSV 报表),并直接在聊天界面提供点击下载链接。
|
||||
- **⚙️ 工作流优化**: 提升了内部 Agent 物理工作区管理的可靠性与原子性。
|
||||
- **🛡️ 安全增强**: 精细化了隔离环境下系统资源的访问控制策略。
|
||||
- **🔧 性能微调**: 针对大上下文窗口优化了流式数据处理性能。
|
||||
|
||||
## 📦 安装与使用
|
||||
---
|
||||
|
||||
### 1. 导入函数
|
||||
## ✨ 核心能力 (Key Capabilities)
|
||||
|
||||
1. 打开 OpenWebUI。
|
||||
2. 进入 **Workspace** -> **Functions**。
|
||||
3. 点击 **+** (创建函数)。
|
||||
4. 将 `github_copilot_sdk_cn.py` 的内容完整粘贴进去。
|
||||
5. 保存。
|
||||
- **🔑 灵活鉴权与 BYOK**: 支持 GitHub Copilot 官方订阅 (PAT) 或自带 Key (OpenAI/Anthropic)。
|
||||
- **🔌 通用工具协议**: 原生支持 **MCP (Model Context Protocol)**、OpenAPI 以及 OpenWebUI 内置工具。
|
||||
- **🛡️ 物理级工作区隔离**: 强制执行严格的用户特定沙箱,确保数据隐私与文件安全。
|
||||
- **♾️ 无限会话管理**: 智能上下文窗口管理与自动压缩算法,支持无限时长的对话交互。
|
||||
- **🧠 深度数据库集成**: 实时持久化 TOD·O 列表到 UI 进度条。
|
||||
- **🌊 深度推理展示**: 完整支持模型思考过程 (Thinking Process) 的流式渲染。
|
||||
- **🖼️ 智能多模态**: 完整支持图像识别与附件上传分析。
|
||||
- **⚡ 全生命周期文件 Agent**: 支持接收上传文件进行绕过 RAG 的深度分析,并将处理结果(如 Excel/报告)发布为下载链接实现闭环。
|
||||
- **🖼️ 交互式伪影 (Artifacts)**: 自动渲染 Agent 生成的 HTML/JS 应用程序,直接在聊天界面交互。
|
||||
|
||||
### 2. 配置 Valves (设置)
|
||||
---
|
||||
|
||||
在函数列表中找到 "GitHub Copilot",点击 **⚙️ (Valves)** 图标进行配置:
|
||||
## ⚙️ 核心配置参数 (Valves)
|
||||
|
||||
| 参数 | 说明 | 默认值 |
|
||||
### 1. 管理员配置 (基础设置)
|
||||
|
||||
管理员可在函数设置中定义全局默认行为。
|
||||
|
||||
| 参数 | 默认值 | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| **GH_TOKEN** | **(必填)** GitHub 访问令牌 (PAT 或 OAuth Token)。用于聊天。 | - |
|
||||
| **DEBUG** | 是否开启调试日志(输出到浏览器控制台)。 | `False` |
|
||||
| **LOG_LEVEL** | Copilot CLI 日志级别: none, error, warning, info, debug, all。 | `error` |
|
||||
| **SHOW_THINKING** | 是否显示模型推理/思考过程(需开启流式 + 模型支持)。 | `True` |
|
||||
| **COPILOT_CLI_VERSION** | 指定安装/强制使用的 Copilot CLI 版本。 | `0.0.405` |
|
||||
| **EXCLUDE_KEYWORDS** | 排除包含这些关键词的模型(逗号分隔)。 | - |
|
||||
| **WORKSPACE_DIR** | 文件操作的受限工作区目录。 | - |
|
||||
| **INFINITE_SESSION** | 启用无限会话(自动上下文压缩)。 | `True` |
|
||||
| **COMPACTION_THRESHOLD** | 后台压缩阈值 (0.0-1.0)。 | `0.8` |
|
||||
| **BUFFER_THRESHOLD** | 缓冲区耗尽阈值 (0.0-1.0)。 | `0.95` |
|
||||
| **TIMEOUT** | 每个流式分块超时(秒)。 | `300` |
|
||||
| **CUSTOM_ENV_VARS** | 自定义环境变量 (JSON 格式)。 | - |
|
||||
| **REASONING_EFFORT** | 推理强度级别: low, medium, high. `xhigh` 仅部分模型支持。 | `medium` |
|
||||
| **ENFORCE_FORMATTING** | 在系统提示词中添加格式化指导。 | `True` |
|
||||
| **ENABLE_MCP_SERVER** | 启用直接 MCP 客户端连接 (建议)。 | `True` |
|
||||
| **ENABLE_OPENWEBUI_TOOLS** | 启用 OpenWebUI 工具 (包括自定义和服务器工具)。 | `True` |
|
||||
| `GH_TOKEN` | `""` | 全局 GitHub Token (需具备 'Copilot Requests' 权限)。 |
|
||||
| `ENABLE_OPENWEBUI_TOOLS` | `True` | 启用 OpenWebUI 工具 (包括定义工具和内置工具)。 |
|
||||
| `ENABLE_OPENAPI_SERVER` | `True` | 启用 OpenAPI 工具服务器连接。 |
|
||||
| `ENABLE_MCP_SERVER` | `True` | 启用直接 MCP 客户端连接 (推荐)。 |
|
||||
| `REASONING_EFFORT` | `medium` | 推理强度:low, medium, high。 |
|
||||
| `SHOW_THINKING` | `True` | 显示模型推理/思考过程。 |
|
||||
| `INFINITE_SESSION` | `True` | 启用无限会话 (自动上下文压缩)。 |
|
||||
| `MAX_MULTIPLIER` | `1.0` | 最大允许的模型计费倍率 (0x 为仅限免费模型)。 |
|
||||
| `EXCLUDE_KEYWORDS` | `""` | 排除包含这些关键字的模型 (逗号分隔)。 |
|
||||
| `TIMEOUT` | `300` | 每个流数据块的超时时间 (秒)。 |
|
||||
| `BYOK_TYPE` | `openai` | BYOK 服务商类型:`openai`, `anthropic`。 |
|
||||
| `BYOK_BASE_URL` | `""` | BYOK 基础 URL (例如: <https://api.openai.com/v1>)。 |
|
||||
| `BYOK_MODELS` | `""` | BYOK 模型列表 (逗号分隔)。留空则从 API 获取。 |
|
||||
| `CUSTOM_ENV_VARS` | `""` | 自定义环境变量 (JSON 格式)。 |
|
||||
| `DEBUG` | `False` | 开启此项以在前端控制台输出详细调试日志。 |
|
||||
|
||||
#### 用户 Valves(按用户覆盖)
|
||||
### 2. 用户配置 (个人覆盖)
|
||||
|
||||
以下设置可按用户单独配置(覆盖全局 Valves):
|
||||
普通用户可在各自的个人设置中根据需要覆盖以下参数。
|
||||
|
||||
| 参数 | 说明 | 默认值 |
|
||||
| :--- | :--- | :--- |
|
||||
| **GH_TOKEN** | 个人 GitHub Token(覆盖全局设置)。 | - |
|
||||
| **REASONING_EFFORT** | 推理强度级别(low/medium/high/xhigh)。 | - |
|
||||
| **DEBUG** | 是否启用技术调试日志。 | `False` |
|
||||
| **SHOW_THINKING** | 是否显示思考过程。 | `True` |
|
||||
| **ENABLE_OPENWEBUI_TOOLS** | 启用 OpenWebUI 工具(覆盖全局设置)。 | `True` |
|
||||
| **ENABLE_MCP_SERVER** | 启用动态 MCP 服务器加载(覆盖全局设置)。 | `True` |
|
||||
| **ENFORCE_FORMATTING** | 强制启用格式化指导(覆盖全局设置)。 | `True` |
|
||||
| 参数 | 说明 |
|
||||
| :--- | :--- |
|
||||
| `GH_TOKEN` | 使用个人的 GitHub Token。 |
|
||||
| `REASONING_EFFORT` | 个人偏好的推理强度。 |
|
||||
| `SHOW_THINKING` | 显示模型推理/思考过程。 |
|
||||
| `MAX_MULTIPLIER` | 最大允许的模型计费倍率覆盖。 |
|
||||
| `EXCLUDE_KEYWORDS` | 排除包含这些关键字的模型。 |
|
||||
| `BYOK_API_KEY` | 使用个人的 OpenAI/Anthropic API Key。 |
|
||||
|
||||
### 3. 获取 Token
|
||||
---
|
||||
|
||||
要使用 GitHub Copilot,您需要一个具有适当权限的 GitHub 个人访问令牌 (PAT)。
|
||||
## 🎯 典型应用场景 (Use Cases)
|
||||
|
||||
**获取步骤:**
|
||||
- **📁 全自主仓库维护**: Agent 在隔离工作区内自动分析代码、运行测试并应用补丁。
|
||||
- **📊 深度财务数据审计**: 直接通过 Python 加载 Excel/CSV 原始数据(绕过 RAG),生成图表并实时预览。
|
||||
- **📝 长任务项目管理**: 自动拆解复杂任务并持久化 TOD·O 进度,跨会话跟踪执行状态。
|
||||
|
||||
1. 访问 [GitHub 令牌设置](https://github.com/settings/tokens?type=beta)。
|
||||
2. 点击 **Generate new token (fine-grained)**。
|
||||
3. **Repository access**: 选择 **Public Repositories** (最简单) 或 **All repositories**。
|
||||
4. **Permissions**:
|
||||
* 如果您选择了 **All repositories**,则必须点击 **Account permissions**。
|
||||
* 找到 **Copilot Requests**,选择 **Access**。
|
||||
5. 生成并复制令牌。
|
||||
---
|
||||
|
||||
## 📋 依赖说明
|
||||
## ⭐ 支持与交流 (Support)
|
||||
|
||||
该 Pipe 会自动尝试安装以下依赖(如果环境中缺失):
|
||||
如果这个插件对您有所帮助,请在 [OpenWebUI Extensions](https://github.com/Fu-Jie/openwebui-extensions) 项目上点个 **Star** 💫,这是对我最大的鼓励。
|
||||
|
||||
* `github-copilot-sdk` (Python 包)
|
||||
* `github-copilot-cli` (二进制文件,通过官方脚本安装)
|
||||
---
|
||||
|
||||
## 故障排除 (Troubleshooting) ❓
|
||||
## 🚀 安装与配置 (Installation)
|
||||
|
||||
* **图片及多模态使用说明**:
|
||||
* 确保 `MODEL_ID` 是支持多模态的模型。
|
||||
* **看不到思考过程**:
|
||||
* 确认已开启**流式输出**,且所选模型支持推理输出。
|
||||
### 1) 导入函数
|
||||
|
||||
## 📄 许可证
|
||||
1. 打开 OpenWebUI,前往 **工作区** -> **函数**。
|
||||
2. 点击 **+** (创建函数),完整粘贴 `github_copilot_sdk_cn.py` 的内容。
|
||||
3. 点击保存并确保已启用。
|
||||
|
||||
MIT
|
||||
### 2) 获取 Token (Get Token)
|
||||
|
||||
1. 访问 [GitHub Token 设置](https://github.com/settings/tokens?type=beta)。
|
||||
2. 创建 **Fine-grained token**,授予 **Account permissions** -> **Copilot Requests** 访问权限。
|
||||
3. 将生成的 Token 填入插件的 `GH_TOKEN` 配置项中。
|
||||
|
||||
---
|
||||
|
||||
## 📋 常见问题与依赖 (Troubleshooting)
|
||||
|
||||
- **Agent 无法识别文件?**: 请确保已安装并启用了 Files Filter 插件,否则原始文件会被 RAG 干扰。
|
||||
- **看不到 TODO 进度条?**: 进度条仅在 Agent 使用 `update_todo` 工具(通常是处理复杂任务)时出现。
|
||||
- **依赖安装**: 本管道会自动尝试安装 `github-copilot-sdk` (Python 包) 和 `github-copilot-cli` (官方二进制)。
|
||||
|
||||
---
|
||||
|
||||
## 更新日志 (Changelog)
|
||||
|
||||
完整历史记录请见 GitHub: [OpenWebUI Extensions](https://github.com/Fu-Jie/openwebui-extensions)
|
||||
|
||||
@@ -15,7 +15,9 @@ Pipes allow you to:
|
||||
|
||||
## Available Pipe Plugins
|
||||
|
||||
- [GitHub Copilot SDK](github-copilot-sdk.md) (v0.3.0) - Official GitHub Copilot SDK integration. Features **zero-config OpenWebUI Tool Bridge** and **dynamic MCP discovery**. Supports streaming, multimodal, and infinite sessions.
|
||||
- [GitHub Copilot SDK](github-copilot-sdk.md) (v0.6.2) - Official GitHub Copilot SDK integration. Features **Workspace Isolation**, **Database Persistence**, **Zero-config OpenWebUI Tool Bridge**, **BYOK** support, and **dynamic MCP discovery**. Supports streaming, multimodal, and infinite sessions. [View Deep Dive](github-copilot-sdk-deep-dive.md) | [**View Advanced Tutorial**](github-copilot-sdk-tutorial.md).
|
||||
- **[Case Study: GitHub 100 Star Growth Analysis](star-prediction-example.md)** - Learn how to use the GitHub Copilot SDK Pipe with Minimax 2.1 to automatically analyze CSV data and generate project growth reports.
|
||||
- **[Case Study: High-Quality Video to GIF Conversion](video-processing-example.md)** - See how the model uses system-level FFmpeg to accelerate, scale, and optimize colors for screen recordings.
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -15,7 +15,9 @@ Pipes 可以用于:
|
||||
|
||||
## 可用的 Pipe 插件
|
||||
|
||||
- [GitHub Copilot SDK](github-copilot-sdk.zh.md) (v0.3.0) - GitHub Copilot SDK 官方集成。**零配置工具桥接**与**动态 MCP 发现**。支持流式输出、多模态及无限会话。
|
||||
- [GitHub Copilot SDK](github-copilot-sdk.zh.md) (v0.6.2) - GitHub Copilot SDK 官方集成。具备**工作区安全隔离**、**数据库持久化**、**零配置工具桥接**与**BYOK (自带 Key) 支持**。支持流式输出、打字机思考过程及无限会话。[查看深度架构解析](github-copilot-sdk-deep-dive.zh.md) | [**查看进阶实战教程**](github-copilot-sdk-tutorial.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 工具对录屏进行加速、缩放及双阶段色彩优化处理。
|
||||
|
||||
---
|
||||
|
||||
|
||||
1
docs/plugins/pipes/star-prediction-chat.json
Normal file
1
docs/plugins/pipes/star-prediction-chat.json
Normal file
File diff suppressed because one or more lines are too long
BIN
docs/plugins/pipes/star-prediction-demo.gif
Normal file
BIN
docs/plugins/pipes/star-prediction-demo.gif
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 14 MiB |
98
docs/plugins/pipes/star-prediction-example.md
Normal file
98
docs/plugins/pipes/star-prediction-example.md
Normal file
@@ -0,0 +1,98 @@
|
||||
# Case Study: GitHub 100 Star Growth Analysis
|
||||
|
||||
This case study demonstrates how to use the **GitHub Copilot SDK Pipe** with the **Minimax 2.1** model to perform a deep analysis of project growth data and predict the milestone of reaching 100 stars.
|
||||
|
||||
---
|
||||
|
||||
## 🎥 Recording
|
||||
|
||||

|
||||
|
||||
> **Scenario**: The user uploaded project traffic CSVs and star history data for the last 14 days. The model automatically wrote a Python script for regression analysis, generated an interactive visualization, and provided a detailed growth projection report.
|
||||
|
||||
---
|
||||
|
||||
## 🛠️ Implementation
|
||||
|
||||
- **Plugin Type**: Pipe (GitHub Copilot SDK)
|
||||
- **Base Model**: Minimax 2.1 (via Pipe integration)
|
||||
- **Key Capabilities**:
|
||||
- **File Processing**: Automatically reads and parses multiple CSV data files.
|
||||
- **Code Generation & Execution**: On-the-fly Python scripting to calculate growth rates, conversion rates, and median trends.
|
||||
- **Multimodal Output**: Generates Markdown reports, interactive HTML dashboards, and Mermaid timeline charts.
|
||||
|
||||
---
|
||||
|
||||
## 💬 Conversation Highlights
|
||||
|
||||
### 📥 Import Conversation
|
||||
|
||||
You can download the raw chat data and import it into your Open WebUI to see the full tool calls and analysis logic:
|
||||
[:material-download: Download Chat JSON](./star-prediction-chat.json)
|
||||
|
||||
> **How to Import?**
|
||||
> In Open WebUI, click your **User Avatar** (bottom of left sidebar) -> **Settings** -> **Data** -> **Import Chats**, then select the downloaded file.
|
||||
|
||||
### 1. Data Submission
|
||||
|
||||
The **User** provided traffic source distribution and uploaded:
|
||||
|
||||
- `Unique visitors in last 14 days.csv`
|
||||
- `Total views in last 14 days.csv`
|
||||
- `star-history.csv`
|
||||
|
||||
### 2. Analysis Execution
|
||||
|
||||
**Minimax 2.1** received the data and immediately formulated an analysis plan:
|
||||
|
||||
1. Calculate star growth trajectory and rates.
|
||||
2. Analyze visitor-to-star conversion rates.
|
||||
3. Build linear and median projection models.
|
||||
4. Generate a milestone timeline.
|
||||
|
||||
### 3. Report Generation
|
||||
|
||||
The model produced a comprehensive report. Here are the core projections:
|
||||
|
||||
#### 🎯 Key Projections
|
||||
|
||||
| Metric | Value | Insight |
|
||||
| :--- | :--- | :--- |
|
||||
| **Current Stars** | 62 | 62% of the goal reached |
|
||||
| **Projected Goal Date** | **March 10, 2026** | ~28 days remaining |
|
||||
| **Avg Growth Rate** | 1.35 stars/day | Highly stable and predictable |
|
||||
| **Recent Acceleration** | 1.92 stars/day | Growth accelerated by 42% in last 14 days |
|
||||
| **Conversion Rate** | 4.19% | Significantly higher than the OS average of 1-2% |
|
||||
|
||||
---
|
||||
|
||||
## 📈 Growth Milestone Timeline
|
||||
|
||||
```mermaid
|
||||
gantt
|
||||
title 🎯 Path to 100 Stars Timeline
|
||||
dateFormat YYYY-MM-DD
|
||||
axisFormat %m/%d
|
||||
|
||||
section Completed
|
||||
Launch (0 Stars) :done, 2025-12-26, 1d
|
||||
Hit 50 Stars :done, 2026-02-01, 1d
|
||||
|
||||
section Projected
|
||||
75 Stars (Proj) :active, 2026-02-19, 5d
|
||||
80 Stars (Proj) : 2026-02-23, 4d
|
||||
90 Stars (Proj) : 2026-03-02, 4d
|
||||
🎯 100 Stars Reach :crit, 2026-03-10, 4d
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 💡 Strategic Recommendations
|
||||
|
||||
1. **Strengthen OpenWebUI Partnership**: 41% of traffic comes from `openwebui.com`. Maintain high visibility on this channel.
|
||||
2. **SEO Optimization**: Organic search accounts for only 6%. There is massive potential for keyword optimization in the README.
|
||||
3. **Milestone Momentum**: Plan a social media push around Feb 23 (at the 80-star mark) to leverage the 42% acceleration trend.
|
||||
|
||||
---
|
||||
|
||||
> [View GitHub Copilot SDK Pipe Documentation](./github-copilot-sdk.md)
|
||||
98
docs/plugins/pipes/star-prediction-example.zh.md
Normal file
98
docs/plugins/pipes/star-prediction-example.zh.md
Normal file
@@ -0,0 +1,98 @@
|
||||
# 案例展示:GitHub 100 Star 增长预测分析
|
||||
|
||||
本案例展示了如何使用 **GitHub Copilot SDK Pipe** 配合 **Minimax 2.1** 模型,对项目的增长数据进行深度分析并预测达到 100 Star 的里程碑时间。
|
||||
|
||||
---
|
||||
|
||||
## 🎥 效果录屏
|
||||
|
||||

|
||||
|
||||
> **场景描述**:用户上传了过去 14 天的项目访问流量 CSV 和 Star 历史数据。模型自动编写 Python 脚本进行回归分析,生成了可视化看板和详细的增长预测报告。
|
||||
|
||||
---
|
||||
|
||||
## 🛠️ 技术实现
|
||||
|
||||
- **插件类型**: Pipe (GitHub Copilot SDK)
|
||||
- **底层模型**: Minimax 2.1 (通过 Pipe 接入)
|
||||
- **核心能力**:
|
||||
- **文件处理**: 自动读取并解析多份 CSV 数据文件。
|
||||
- **代码生成与执行**: 现场编写 Python 分析代码并执行,计算增长率、转化率及中位趋势。
|
||||
- **多模态输出**: 生成 Markdown 报告、HTML 交互看板以及 Mermaid 时间轴图表。
|
||||
|
||||
---
|
||||
|
||||
## 💬 对话实录
|
||||
|
||||
### 📥 导入对话记录
|
||||
|
||||
你可以下载原始对话数据并导入到你的 Open WebUI 中,查看完整的工具调用和分析逻辑:
|
||||
[:material-download: 下载原始对话 JSON](./star-prediction-chat.json)
|
||||
|
||||
> **如何导入?**
|
||||
> 在 Open WebUI 首页点击 **左侧侧边栏底部个人头像** -> **设置** -> **数据** -> **导入记录**,选择下载的文件即可。
|
||||
|
||||
### 1. 提交原始数据
|
||||
|
||||
**用户**提供了项目的流量来源分布表,并上传了:
|
||||
|
||||
- `Unique visitors in last 14 days.csv`
|
||||
- `Total views in last 14 days.csv`
|
||||
- `star-history.csv`
|
||||
|
||||
### 2. 模型执行分析
|
||||
|
||||
**Minimax 2.1** 接收到数据后,立即制定了分析计划:
|
||||
|
||||
1. 计算 Star 增长轨迹和增长率。
|
||||
2. 分析访问者到 Star 的转化率。
|
||||
3. 构建线性与中位增长模型进行预测。
|
||||
4. 生成里程碑时间轴。
|
||||
|
||||
### 3. 生成分析报告
|
||||
|
||||
模型输出了一份详尽的报告,以下是其核心预测:
|
||||
|
||||
#### 🎯 关键预测结果
|
||||
|
||||
| 指标 | 数值 | 洞察 |
|
||||
| :--- | :--- | :--- |
|
||||
| **当前 Star 数** | 62 | 已完成目标的 62% |
|
||||
| **预测达成日期** | **2026年3月10日** | 预计还有 28 天 |
|
||||
| **平均增长率** | 1.35 stars/day | 极其稳定且可预测 |
|
||||
| **近期加速** | 1.92 stars/day | 过去 14 天增长加速了 42% |
|
||||
| **Star 转化率** | 4.19% | 远高于开源项目 1-2% 的平均水平 |
|
||||
|
||||
---
|
||||
|
||||
## 📈 增长里程碑预演
|
||||
|
||||
```mermaid
|
||||
gantt
|
||||
title 🎯 冲刺 100 Stars 路径图
|
||||
dateFormat YYYY-MM-DD
|
||||
axisFormat %m/%d
|
||||
|
||||
section 已完成
|
||||
项目启动 (0 Star) :done, 2025-12-26, 1d
|
||||
突破 50 Star :done, 2026-02-01, 1d
|
||||
|
||||
section 预测中
|
||||
75 Stars (预测) :active, 2026-02-19, 5d
|
||||
80 Stars (预测) : 2026-02-23, 4d
|
||||
90 Stars (预测) : 2026-03-02, 4d
|
||||
🎯 100 Stars 达成 :crit, 2026-03-10, 4d
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 💡 模型给出的建议
|
||||
|
||||
1. **强化 OpenWebUI 社区合作**:41% 的流量来自 `openwebui.com`,应持续在该渠道保持活跃。
|
||||
2. **SEO 优化**:目前搜索流入仅占 6%,Readme 的关键词优化空间巨大。
|
||||
3. **关键节点冲刺**:建议在 2 月 23 日(80 Star 节点)发起社交媒体宣传,利用近期 42% 的加速趋势冲刺百星。
|
||||
|
||||
---
|
||||
|
||||
> [查看 GitHub Copilot SDK Pipe 开发文档](./github-copilot-sdk.zh.md)
|
||||
1
docs/plugins/pipes/video-processing-chat.json
Normal file
1
docs/plugins/pipes/video-processing-chat.json
Normal file
File diff suppressed because one or more lines are too long
BIN
docs/plugins/pipes/video-processing-demo.gif
Normal file
BIN
docs/plugins/pipes/video-processing-demo.gif
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 11 MiB |
80
docs/plugins/pipes/video-processing-example.md
Normal file
80
docs/plugins/pipes/video-processing-example.md
Normal file
@@ -0,0 +1,80 @@
|
||||
# Case Study: High-Quality Video to GIF Conversion
|
||||
|
||||
This case study demonstrates how to use the **GitHub Copilot SDK Pipe** with **Minimax 2.1** to perform professional-grade video processing: accelerating a video by 1.4x and converting it into a high-quality GIF under 20MB.
|
||||
|
||||
---
|
||||
|
||||
## 🎥 Recording
|
||||
|
||||

|
||||
|
||||
> **Scenario**: The user uploaded a 38MB `.mov` recording and requested a 1.4x speed increase, 1280px width, and a file size limit of 20MB. The model automatically formulated, executed, and verified a two-pass FFmpeg workflow.
|
||||
|
||||
---
|
||||
|
||||
## 🛠️ Implementation
|
||||
|
||||
- **Plugin Type**: Pipe (GitHub Copilot SDK)
|
||||
- **Base Model**: Minimax 2.1
|
||||
- **Key Capabilities**:
|
||||
- **System Tool Access**: Automatically detects and invokes `ffmpeg` within the container.
|
||||
- **Two-Pass Optimization**:
|
||||
1. **Pass 1**: Analyzes all frames to generate a custom 256-color palette (`palettegen`).
|
||||
2. **Pass 2**: Applies the palette for superior quantization and dithering (`paletteuse`).
|
||||
- **Precision Parameters**: Implements 1.4x PTS scaling, Lanczos scaling, and 20fps rate control.
|
||||
|
||||
---
|
||||
|
||||
## 💬 Conversation Highlights
|
||||
|
||||
### 📥 Import Conversation
|
||||
|
||||
You can download the raw chat data and import it into your Open WebUI to see how the model debugs and optimizes the FFmpeg parameters:
|
||||
[:material-download: Download Chat JSON](./video-processing-chat.json)
|
||||
|
||||
> **How to Import?**
|
||||
> In Open WebUI, click your **User Avatar** (bottom of left sidebar) -> **Settings** -> **Data** -> **Import Chats**, then select the downloaded file.
|
||||
|
||||
### 1. Processing Requirements
|
||||
|
||||
The **User** provided an input file and specific parameters:
|
||||
|
||||
- Speed: 1.4x (setpts=PTS/1.4)
|
||||
- Resolution: 1280px width, auto height
|
||||
- Optimization: Must use palette generation technology
|
||||
- Constraint: File size < 20MB
|
||||
|
||||
### 2. Analysis Execution
|
||||
|
||||
**Minimax 2.1** generated and executed the following core logic:
|
||||
|
||||
```bash
|
||||
# Pass 1: Generate optimal palette
|
||||
ffmpeg -i input.mov -vf "fps=20,scale=1280:-1:flags=lanczos,setpts=PTS/1.4,palettegen" palette.png
|
||||
# Pass 2: Generate final high-quality GIF
|
||||
ffmpeg -i input.mov -i palette.png -lavfi "[0:v]fps=20,scale=1280:-1:flags=lanczos,setpts=PTS/1.4[v];[v][1:v]paletteuse" output.gif
|
||||
```
|
||||
|
||||
### 3. Result Summary
|
||||
|
||||
| Metric | Original Video | Processed GIF | Status |
|
||||
| :--- | :--- | :--- | :--- |
|
||||
| **File Size** | 38 MB | **14 MB** | ✅ Success |
|
||||
| **Resolution** | 3024x1898 | 1280x803 | ✅ Smooth |
|
||||
| **Speed** | 1.0x | 1.4x | ✅ Accurate |
|
||||
| **Color Quality** | N/A | Optimal 256-color | ✨ Crystal Clear |
|
||||
|
||||
---
|
||||
|
||||
## 💡 Why This Case Matters
|
||||
|
||||
Standard LLMs can only "tell you" how to use FFmpeg. However, a Pipe powered by the **GitHub Copilot SDK** can:
|
||||
|
||||
1. **Interpret** complex multimedia processing parameters.
|
||||
2. **Access** raw files within the filesystem.
|
||||
3. **Execute** resource-intensive binary tool tasks.
|
||||
4. **Validate** that the output (size, resolution) meets the user's hard constraints.
|
||||
|
||||
---
|
||||
|
||||
> [View GitHub Copilot SDK Pipe Documentation](./github-copilot-sdk.md)
|
||||
80
docs/plugins/pipes/video-processing-example.zh.md
Normal file
80
docs/plugins/pipes/video-processing-example.zh.md
Normal file
@@ -0,0 +1,80 @@
|
||||
# 案例展示:视频高质量 GIF 转换与加速处理
|
||||
|
||||
本案例展示了如何使用 **GitHub Copilot SDK Pipe** 配合 **Minimax 2.1** 模型,通过底层工具(FFmpeg)对视频文件进行精细化处理:加速 1.4 倍并压缩至 20MB 以内的超高质量 GIF。
|
||||
|
||||
---
|
||||
|
||||
## 🎥 效果录屏
|
||||
|
||||

|
||||
|
||||
> **场景描述**:用户上传了一个 38MB 的 `.mov` 录屏文件,要求加速 1.4 倍,并转换为 1280px 宽度、大小在 20MB 以内的高质量 GIF。模型自动分析了需求,编写并执行了双工作流 FFmpeg 指令。
|
||||
|
||||
---
|
||||
|
||||
## 🛠️ 技术实现
|
||||
|
||||
- **插件类型**: Pipe (GitHub Copilot SDK)
|
||||
- **底层模型**: Minimax 2.1
|
||||
- **核心能力**:
|
||||
- **底层系统访问**: 自动检测并调用容器内的 `ffmpeg` 工具。
|
||||
- **双阶段优化 (Two-Pass Optimization)**:
|
||||
1. **阶段一**: 分析全视频帧生成 256 色最优调色板 (`palettegen`)。
|
||||
2. **阶段二**: 应用调色板进行高质量量化和抖动处理 (`paletteuse`)。
|
||||
- **参数精准控制**: 实现 1.4 倍 PTS 缩放、Lanczos 滤镜缩放及 20fps 帧率控制。
|
||||
|
||||
---
|
||||
|
||||
## 💬 对话实录
|
||||
|
||||
### 📥 导入对话记录
|
||||
|
||||
你可以下载原始对话数据并导入到你的 Open WebUI 中,查看模型如何一步步调试 FFmpeg 参数:
|
||||
[:material-download: 下载原始对话 JSON](./video-processing-chat.json)
|
||||
|
||||
> **如何导入?**
|
||||
> 在 Open WebUI 首页点击 **左侧侧边栏底部个人头像** -> **设置** -> **数据** -> **导入记录**,选择下载的文件即可。
|
||||
|
||||
### 1. 提交处理需求
|
||||
|
||||
**用户**指定了输入文件和详细参数:
|
||||
|
||||
- 加速:1.4x (setpts=PTS/1.4)
|
||||
- 分辨率:宽度 1280px,等比例缩放
|
||||
- 质量优化:必须使用调色板生成技术
|
||||
- 约束:文件体积 < 20MB
|
||||
|
||||
### 2. 模型执行处理
|
||||
|
||||
**Minimax 2.1** 自动编写并执行了以下核心逻辑:
|
||||
|
||||
```bash
|
||||
# 生成优化调色板
|
||||
ffmpeg -i input.mov -vf "fps=20,scale=1280:-1:flags=lanczos,setpts=PTS/1.4,palettegen" palette.png
|
||||
# 生成最终高质量 GIF
|
||||
ffmpeg -i input.mov -i palette.png -lavfi "[0:v]fps=20,scale=1280:-1:flags=lanczos,setpts=PTS/1.4[v];[v][1:v]paletteuse" output.gif
|
||||
```
|
||||
|
||||
### 3. 处理结果摘要
|
||||
|
||||
| 指标 | 原始视频 | 处理后 GIF | 状态 |
|
||||
| :--- | :--- | :--- | :--- |
|
||||
| **文件大小** | 38 MB | **14 MB** | ✅ 达标 |
|
||||
| **分辨率** | 3024x1898 | 1280x803 | ✅ 缩放平滑 |
|
||||
| **播放速度** | 1.0x | 1.4x | ✅ 节奏紧凑 |
|
||||
| **色彩质量** | N/A | 256色最优量化 | ✨ 极其清晰 |
|
||||
|
||||
---
|
||||
|
||||
## 💡 为什么这个案例很有意义?
|
||||
|
||||
传统的 LLM 只能“告诉你”怎么做,而基于 **GitHub Copilot SDK** 的 Pipe 能够:
|
||||
|
||||
1. **理解** 复杂的多媒体处理参数。
|
||||
2. **感知** 文件系统中的原始素材。
|
||||
3. **执行** 耗时、耗能的二进制工具任务。
|
||||
4. **验证** 产出物(体积、分辨率)是否符合用户的最终约束。
|
||||
|
||||
---
|
||||
|
||||
> [查看 GitHub Copilot SDK Pipe 开发文档](./github-copilot-sdk.zh.md)
|
||||
@@ -1,6 +1,6 @@
|
||||
# Prompt Library
|
||||
|
||||
Welcome to the OpenWebUI Extras Prompt Library! Find carefully crafted prompts for various use cases.
|
||||
Welcome to the OpenWebUI Extensions Prompt Library! Find carefully crafted prompts for various use cases.
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 提示词库
|
||||
|
||||
欢迎来到 OpenWebUI Extras 提示词库!在这里可以找到针对不同场景精心设计的提示词。
|
||||
欢迎来到 OpenWebUI Extensions 提示词库!在这里可以找到针对不同场景精心设计的提示词。
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -190,4 +190,4 @@ python scripts/extract_plugin_versions.py --json --output versions.json
|
||||
## Author
|
||||
|
||||
Fu-Jie
|
||||
GitHub: [Fu-Jie/awesome-openwebui](https://github.com/Fu-Jie/awesome-openwebui)
|
||||
GitHub: [Fu-Jie/openwebui-extensions](https://github.com/Fu-Jie/openwebui-extensions)
|
||||
|
||||
@@ -188,4 +188,4 @@ python scripts/extract_plugin_versions.py --json --output versions.json
|
||||
## 作者
|
||||
|
||||
Fu-Jie
|
||||
GitHub: [Fu-Jie/awesome-openwebui](https://github.com/Fu-Jie/awesome-openwebui)
|
||||
GitHub: [Fu-Jie/openwebui-extensions](https://github.com/Fu-Jie/openwebui-extensions)
|
||||
|
||||
344
docs/stats-history.json
Normal file
344
docs/stats-history.json
Normal file
@@ -0,0 +1,344 @@
|
||||
[
|
||||
{
|
||||
"date": "2026-01-05",
|
||||
"total_downloads": 748,
|
||||
"total_views": 7896,
|
||||
"total_upvotes": 54,
|
||||
"total_saves": 44,
|
||||
"followers": 35,
|
||||
"points": 63
|
||||
},
|
||||
{
|
||||
"date": "2026-01-06",
|
||||
"total_downloads": 830,
|
||||
"total_views": 8847,
|
||||
"total_upvotes": 54,
|
||||
"total_saves": 48,
|
||||
"followers": 45,
|
||||
"points": 62
|
||||
},
|
||||
{
|
||||
"date": "2026-01-07",
|
||||
"total_downloads": 915,
|
||||
"total_views": 9637,
|
||||
"total_upvotes": 55,
|
||||
"total_saves": 50,
|
||||
"followers": 50,
|
||||
"points": 63
|
||||
},
|
||||
{
|
||||
"date": "2026-01-08",
|
||||
"total_downloads": 972,
|
||||
"total_views": 10200,
|
||||
"total_upvotes": 60,
|
||||
"total_saves": 53,
|
||||
"followers": 54,
|
||||
"points": 68
|
||||
},
|
||||
{
|
||||
"date": "2026-01-09",
|
||||
"total_downloads": 1016,
|
||||
"total_views": 10831,
|
||||
"total_upvotes": 62,
|
||||
"total_saves": 56,
|
||||
"followers": 59,
|
||||
"points": 70
|
||||
},
|
||||
{
|
||||
"date": "2026-01-10",
|
||||
"total_downloads": 1087,
|
||||
"total_views": 11853,
|
||||
"total_upvotes": 68,
|
||||
"total_saves": 67,
|
||||
"followers": 75,
|
||||
"points": 77
|
||||
},
|
||||
{
|
||||
"date": "2026-01-11",
|
||||
"total_downloads": 1182,
|
||||
"total_views": 13045,
|
||||
"total_upvotes": 79,
|
||||
"total_saves": 77,
|
||||
"followers": 82,
|
||||
"points": 90
|
||||
},
|
||||
{
|
||||
"date": "2026-01-12",
|
||||
"total_downloads": 1256,
|
||||
"total_views": 13998,
|
||||
"total_upvotes": 87,
|
||||
"total_saves": 85,
|
||||
"followers": 91,
|
||||
"points": 98
|
||||
},
|
||||
{
|
||||
"date": "2026-01-13",
|
||||
"total_downloads": 1343,
|
||||
"total_views": 15618,
|
||||
"total_upvotes": 88,
|
||||
"total_saves": 96,
|
||||
"followers": 99,
|
||||
"points": 100
|
||||
},
|
||||
{
|
||||
"date": "2026-01-14",
|
||||
"total_downloads": 1460,
|
||||
"total_views": 17211,
|
||||
"total_upvotes": 93,
|
||||
"total_saves": 109,
|
||||
"followers": 104,
|
||||
"points": 106
|
||||
},
|
||||
{
|
||||
"date": "2026-01-15",
|
||||
"total_downloads": 1527,
|
||||
"total_views": 18153,
|
||||
"total_upvotes": 93,
|
||||
"total_saves": 109,
|
||||
"followers": 108,
|
||||
"points": 106
|
||||
},
|
||||
{
|
||||
"date": "2026-01-16",
|
||||
"total_downloads": 1598,
|
||||
"total_views": 19406,
|
||||
"total_upvotes": 94,
|
||||
"total_saves": 121,
|
||||
"followers": 114,
|
||||
"points": 108
|
||||
},
|
||||
{
|
||||
"date": "2026-01-17",
|
||||
"total_downloads": 1668,
|
||||
"total_views": 20118,
|
||||
"total_upvotes": 99,
|
||||
"total_saves": 127,
|
||||
"followers": 120,
|
||||
"points": 113
|
||||
},
|
||||
{
|
||||
"date": "2026-01-18",
|
||||
"total_downloads": 1766,
|
||||
"total_views": 20931,
|
||||
"total_upvotes": 119,
|
||||
"total_saves": 131,
|
||||
"followers": 129,
|
||||
"points": 133
|
||||
},
|
||||
{
|
||||
"date": "2026-01-19",
|
||||
"total_downloads": 1834,
|
||||
"total_views": 21730,
|
||||
"total_upvotes": 120,
|
||||
"total_saves": 143,
|
||||
"followers": 135,
|
||||
"points": 134
|
||||
},
|
||||
{
|
||||
"date": "2026-01-20",
|
||||
"total_downloads": 1922,
|
||||
"total_views": 22431,
|
||||
"total_upvotes": 121,
|
||||
"total_saves": 150,
|
||||
"followers": 140,
|
||||
"points": 135
|
||||
},
|
||||
{
|
||||
"date": "2026-01-21",
|
||||
"total_downloads": 1998,
|
||||
"total_views": 23327,
|
||||
"total_upvotes": 121,
|
||||
"total_saves": 154,
|
||||
"followers": 146,
|
||||
"points": 135
|
||||
},
|
||||
{
|
||||
"date": "2026-01-22",
|
||||
"total_downloads": 2066,
|
||||
"total_views": 24204,
|
||||
"total_upvotes": 129,
|
||||
"total_saves": 164,
|
||||
"followers": 152,
|
||||
"points": 143
|
||||
},
|
||||
{
|
||||
"date": "2026-01-23",
|
||||
"total_downloads": 2182,
|
||||
"total_views": 25156,
|
||||
"total_upvotes": 129,
|
||||
"total_saves": 165,
|
||||
"followers": 154,
|
||||
"points": 143
|
||||
},
|
||||
{
|
||||
"date": "2026-01-24",
|
||||
"total_downloads": 2257,
|
||||
"total_views": 25853,
|
||||
"total_upvotes": 129,
|
||||
"total_saves": 173,
|
||||
"followers": 156,
|
||||
"points": 143
|
||||
},
|
||||
{
|
||||
"date": "2026-01-25",
|
||||
"total_downloads": 2334,
|
||||
"total_views": 26665,
|
||||
"total_upvotes": 133,
|
||||
"total_saves": 176,
|
||||
"followers": 157,
|
||||
"points": 147
|
||||
},
|
||||
{
|
||||
"date": "2026-01-26",
|
||||
"total_downloads": 2448,
|
||||
"total_views": 28274,
|
||||
"total_upvotes": 141,
|
||||
"total_saves": 188,
|
||||
"followers": 163,
|
||||
"points": 157
|
||||
},
|
||||
{
|
||||
"date": "2026-01-27",
|
||||
"total_downloads": 2538,
|
||||
"total_views": 29641,
|
||||
"total_upvotes": 150,
|
||||
"total_saves": 197,
|
||||
"followers": 165,
|
||||
"points": 166
|
||||
},
|
||||
{
|
||||
"date": "2026-01-28",
|
||||
"total_downloads": 2629,
|
||||
"total_views": 30952,
|
||||
"total_upvotes": 153,
|
||||
"total_saves": 202,
|
||||
"followers": 167,
|
||||
"points": 170
|
||||
},
|
||||
{
|
||||
"date": "2026-01-29",
|
||||
"total_downloads": 2780,
|
||||
"total_views": 32888,
|
||||
"total_upvotes": 165,
|
||||
"total_saves": 213,
|
||||
"followers": 171,
|
||||
"points": 186
|
||||
},
|
||||
{
|
||||
"date": "2026-01-30",
|
||||
"total_downloads": 2877,
|
||||
"total_views": 34134,
|
||||
"total_upvotes": 167,
|
||||
"total_saves": 219,
|
||||
"followers": 175,
|
||||
"points": 194
|
||||
},
|
||||
{
|
||||
"date": "2026-01-31",
|
||||
"total_downloads": 2979,
|
||||
"total_views": 35248,
|
||||
"total_upvotes": 167,
|
||||
"total_saves": 221,
|
||||
"followers": 176,
|
||||
"points": 197
|
||||
},
|
||||
{
|
||||
"date": "2026-02-01",
|
||||
"total_downloads": 3030,
|
||||
"total_views": 35805,
|
||||
"total_upvotes": 167,
|
||||
"total_saves": 222,
|
||||
"followers": 177,
|
||||
"points": 197
|
||||
},
|
||||
{
|
||||
"date": "2026-02-02",
|
||||
"total_downloads": 3168,
|
||||
"total_views": 37424,
|
||||
"total_upvotes": 169,
|
||||
"total_saves": 235,
|
||||
"followers": 181,
|
||||
"points": 200
|
||||
},
|
||||
{
|
||||
"date": "2026-02-03",
|
||||
"total_downloads": 3236,
|
||||
"total_views": 38133,
|
||||
"total_upvotes": 169,
|
||||
"total_saves": 235,
|
||||
"followers": 183,
|
||||
"points": 202
|
||||
},
|
||||
{
|
||||
"date": "2026-02-04",
|
||||
"total_downloads": 3374,
|
||||
"total_views": 39440,
|
||||
"total_upvotes": 210,
|
||||
"total_saves": 239,
|
||||
"followers": 188,
|
||||
"points": 243
|
||||
},
|
||||
{
|
||||
"date": "2026-02-05",
|
||||
"total_downloads": 3522,
|
||||
"total_views": 40964,
|
||||
"total_upvotes": 211,
|
||||
"total_saves": 248,
|
||||
"followers": 196,
|
||||
"points": 244
|
||||
},
|
||||
{
|
||||
"date": "2026-02-06",
|
||||
"total_downloads": 3663,
|
||||
"total_views": 43171,
|
||||
"total_upvotes": 213,
|
||||
"total_saves": 253,
|
||||
"followers": 202,
|
||||
"points": 246
|
||||
},
|
||||
{
|
||||
"date": "2026-02-07",
|
||||
"total_downloads": 3779,
|
||||
"total_views": 44354,
|
||||
"total_upvotes": 221,
|
||||
"total_saves": 258,
|
||||
"followers": 205,
|
||||
"points": 258
|
||||
},
|
||||
{
|
||||
"date": "2026-02-08",
|
||||
"total_downloads": 3872,
|
||||
"total_views": 45255,
|
||||
"total_upvotes": 221,
|
||||
"total_saves": 263,
|
||||
"followers": 207,
|
||||
"points": 259
|
||||
},
|
||||
{
|
||||
"date": "2026-02-09",
|
||||
"total_downloads": 3996,
|
||||
"total_views": 46645,
|
||||
"total_upvotes": 224,
|
||||
"total_saves": 267,
|
||||
"followers": 214,
|
||||
"points": 262
|
||||
},
|
||||
{
|
||||
"date": "2026-02-10",
|
||||
"total_downloads": 4131,
|
||||
"total_views": 48876,
|
||||
"total_upvotes": 230,
|
||||
"total_saves": 273,
|
||||
"followers": 220,
|
||||
"points": 270
|
||||
},
|
||||
{
|
||||
"date": "2026-02-11",
|
||||
"total_downloads": 4161,
|
||||
"total_views": 45988,
|
||||
"total_upvotes": 231,
|
||||
"total_saves": 274,
|
||||
"followers": 220,
|
||||
"points": 271
|
||||
}
|
||||
]
|
||||
@@ -1,4 +1,4 @@
|
||||
/* Custom styles for OpenWebUI Extras Documentation */
|
||||
/* Custom styles for OpenWebUI Extensions Documentation */
|
||||
|
||||
/* Hero Section */
|
||||
.hero-section {
|
||||
|
||||
14
mkdocs.yml
14
mkdocs.yml
@@ -1,17 +1,17 @@
|
||||
# MkDocs Configuration for OpenWebUI Extras
|
||||
# Site Information
|
||||
site_name: OpenWebUI Extras
|
||||
site_name: OpenWebUI Extensions
|
||||
site_description: A collection of enhancements, plugins, and prompts for OpenWebUI
|
||||
site_author: Fu-Jie
|
||||
site_url: https://fu-jie.github.io/awesome-openwebui/
|
||||
site_url: https://fu-jie.github.io/openwebui-extensions/
|
||||
|
||||
# Repository
|
||||
repo_name: Fu-Jie/awesome-openwebui
|
||||
repo_url: https://github.com/Fu-Jie/awesome-openwebui
|
||||
repo_name: Fu-Jie/openwebui-extensions
|
||||
repo_url: https://github.com/Fu-Jie/openwebui-extensions
|
||||
edit_uri: edit/main/docs/
|
||||
|
||||
# Copyright
|
||||
copyright: Copyright © 2024 OpenWebUI Extras Contributors
|
||||
copyright: Copyright © 2024 OpenWebUI Extensions Contributors
|
||||
|
||||
# Theme Configuration
|
||||
theme:
|
||||
@@ -142,7 +142,7 @@ markdown_extensions:
|
||||
normalize_issue_symbols: true
|
||||
repo_url_shorthand: true
|
||||
user: Fu-Jie
|
||||
repo: awesome-openwebui
|
||||
repo: openwebui-extensions
|
||||
- pymdownx.mark
|
||||
- pymdownx.smartsymbols
|
||||
- pymdownx.snippets
|
||||
@@ -162,7 +162,7 @@ markdown_extensions:
|
||||
extra:
|
||||
social:
|
||||
- icon: fontawesome/brands/github
|
||||
link: https://github.com/Fu-Jie/awesome-openwebui
|
||||
link: https://github.com/Fu-Jie/openwebui-extensions
|
||||
|
||||
generator: false
|
||||
|
||||
|
||||
@@ -122,7 +122,7 @@ Each plugin should include:
|
||||
## Author
|
||||
|
||||
Fu-Jie
|
||||
GitHub: [Fu-Jie/awesome-openwebui](https://github.com/Fu-Jie/awesome-openwebui)
|
||||
GitHub: [Fu-Jie/openwebui-extensions](https://github.com/Fu-Jie/openwebui-extensions)
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -122,7 +122,7 @@ plugins/
|
||||
## 作者
|
||||
|
||||
Fu-Jie
|
||||
GitHub: [Fu-Jie/awesome-openwebui](https://github.com/Fu-Jie/awesome-openwebui)
|
||||
GitHub: [Fu-Jie/openwebui-extensions](https://github.com/Fu-Jie/openwebui-extensions)
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -229,4 +229,4 @@ except Exception as e:
|
||||
## Author
|
||||
|
||||
Fu-Jie
|
||||
GitHub: [Fu-Jie/awesome-openwebui](https://github.com/Fu-Jie/awesome-openwebui)
|
||||
GitHub: [Fu-Jie/openwebui-extensions](https://github.com/Fu-Jie/openwebui-extensions)
|
||||
|
||||
@@ -228,4 +228,4 @@ except Exception as e:
|
||||
## 作者
|
||||
|
||||
Fu-Jie
|
||||
GitHub: [Fu-Jie/awesome-openwebui](https://github.com/Fu-Jie/awesome-openwebui)
|
||||
GitHub: [Fu-Jie/openwebui-extensions](https://github.com/Fu-Jie/openwebui-extensions)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 🌊 Deep Dive
|
||||
|
||||
**Author:** [Fu-Jie](https://github.com/Fu-Jie/awesome-openwebui) | **Version:** 1.0.0 | **Project:** [Awesome OpenWebUI](https://github.com/Fu-Jie/awesome-openwebui) | **License:** MIT
|
||||
**Author:** [Fu-Jie](https://github.com/Fu-Jie/openwebui-extensions) | **Version:** 1.0.0 | **Project:** [OpenWebUI Extensions](https://github.com/Fu-Jie/openwebui-extensions) | **License:** MIT
|
||||
|
||||
A comprehensive thinking lens that dives deep into any content - from context to logic, insights, and action paths.
|
||||
|
||||
@@ -41,7 +41,7 @@ A comprehensive thinking lens that dives deep into any content - from context to
|
||||
|
||||
## ⭐ Support
|
||||
|
||||
If this plugin has been useful, a star on [Awesome OpenWebUI](https://github.com/Fu-Jie/awesome-openwebui) is a big motivation for me. Thank you for the support.
|
||||
If this plugin has been useful, a star on [OpenWebUI Extensions](https://github.com/Fu-Jie/openwebui-extensions) is a big motivation for me. Thank you for the support.
|
||||
|
||||
## 🌗 Theme Support
|
||||
|
||||
@@ -91,8 +91,8 @@ The plugin generates a structured thinking timeline:
|
||||
- **Plugin not working?**: Check if the filter/action is enabled in the model settings.
|
||||
- **Debug Logs**: Enable `SHOW_STATUS` in Valves to see progress updates.
|
||||
- **Error Messages**: If you see an error, please copy the full error message and report it.
|
||||
- **Submit an Issue**: If you encounter any problems, please submit an issue on GitHub: [Awesome OpenWebUI Issues](https://github.com/Fu-Jie/awesome-openwebui/issues)
|
||||
- **Submit an Issue**: If you encounter any problems, please submit an issue on GitHub: [OpenWebUI Extensions Issues](https://github.com/Fu-Jie/openwebui-extensions/issues)
|
||||
|
||||
## Changelog
|
||||
|
||||
See the full history on GitHub: [Awesome OpenWebUI](https://github.com/Fu-Jie/awesome-openwebui)
|
||||
See the full history on GitHub: [OpenWebUI Extensions](https://github.com/Fu-Jie/openwebui-extensions)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 📖 精读
|
||||
|
||||
**作者:** [Fu-Jie](https://github.com/Fu-Jie/awesome-openwebui) | **版本:** 1.0.0 | **项目:** [Awesome OpenWebUI](https://github.com/Fu-Jie/awesome-openwebui) | **许可证:** MIT
|
||||
**作者:** [Fu-Jie](https://github.com/Fu-Jie/openwebui-extensions) | **版本:** 1.0.0 | **项目:** [OpenWebUI Extensions](https://github.com/Fu-Jie/openwebui-extensions) | **许可证:** MIT
|
||||
|
||||
全方位的思维透镜 —— 从背景全景到逻辑脉络,从深度洞察到行动路径。
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
|
||||
## ⭐ 支持
|
||||
|
||||
如果这个插件对你有帮助,欢迎到 [Awesome OpenWebUI](https://github.com/Fu-Jie/awesome-openwebui) 点个 Star,这将是我持续改进的动力,感谢支持。
|
||||
如果这个插件对你有帮助,欢迎到 [OpenWebUI Extensions](https://github.com/Fu-Jie/openwebui-extensions) 点个 Star,这将是我持续改进的动力,感谢支持。
|
||||
|
||||
## 🌗 主题支持
|
||||
|
||||
@@ -91,8 +91,8 @@
|
||||
- **插件不工作?**: 请检查是否在模型设置中启用了该过滤器/动作。
|
||||
- **调试日志**: 在 Valves 中启用 `SHOW_STATUS` 以查看进度更新。
|
||||
- **错误信息**: 如果看到错误,请复制完整的错误信息并报告。
|
||||
- **提交 Issue**: 如果遇到任何问题,请在 GitHub 上提交 Issue:[Awesome OpenWebUI Issues](https://github.com/Fu-Jie/awesome-openwebui/issues)
|
||||
- **提交 Issue**: 如果遇到任何问题,请在 GitHub 上提交 Issue:[OpenWebUI Extensions Issues](https://github.com/Fu-Jie/openwebui-extensions/issues)
|
||||
|
||||
## 更新日志
|
||||
|
||||
完整历史请查看 GitHub 项目: [Awesome OpenWebUI](https://github.com/Fu-Jie/awesome-openwebui)
|
||||
完整历史请查看 GitHub 项目: [OpenWebUI Extensions](https://github.com/Fu-Jie/openwebui-extensions)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
"""
|
||||
title: Deep Dive
|
||||
author: Fu-Jie
|
||||
author_url: https://github.com/Fu-Jie/awesome-openwebui
|
||||
author_url: https://github.com/Fu-Jie/openwebui-extensions
|
||||
funding_url: https://github.com/open-webui
|
||||
version: 1.0.0
|
||||
icon_url: data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0xMiA3djE0Ii8+PHBhdGggZD0iTTMgMThhMSAxIDAgMCAxLTEtMVY0YTEgMSAwIDAgMSAxLTFoNWE0IDQgMCAwIDEgNCA0IDQgNCAwIDAgMSA0LTRoNWExIDEgMCAwIDEgMSAxdjEzYTEgMSAwIDAgMS0xIDFoLTZhMyAzIDAgMCAwLTMgMyAzIDMgMCAwIDAtMy0zeiIvPjxwYXRoIGQ9Ik02IDEyaDIiLz48cGF0aCBkPSJNMTYgMTJoMiIvPjwvc3ZnPg==
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
"""
|
||||
title: 精读
|
||||
author: Fu-Jie
|
||||
author_url: https://github.com/Fu-Jie/awesome-openwebui
|
||||
author_url: https://github.com/Fu-Jie/openwebui-extensions
|
||||
funding_url: https://github.com/open-webui
|
||||
version: 1.0.0
|
||||
icon_url: data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0xMiA3djE0Ii8+PHBhdGggZD0iTTMgMThhMSAxIDAgMCAxLTEtMVY0YTEgMSAwIDAgMSAxLTFoNWE0IDQgMCAwIDEgNCA0IDQgNCAwIDAgMSA0LTRoNWExIDEgMCAwIDEgMSAxdjEzYTEgMSAwIDAgMS0xIDFoLTZhMyAzIDAgMCAwLTMgMyAzIDMgMCAwIDAtMy0zeiIvPjxwYXRoIGQ9Ik02IDEyaDIiLz48cGF0aCBkPSJNMTYgMTJoMiIvPjwvc3ZnPg==
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 📝 Export to Word (Enhanced)
|
||||
|
||||
**Author:** [Fu-Jie](https://github.com/Fu-Jie/awesome-openwebui) | **Version:** 0.4.4 | **Project:** [Awesome OpenWebUI](https://github.com/Fu-Jie/awesome-openwebui) | **License:** MIT
|
||||
**Author:** [Fu-Jie](https://github.com/Fu-Jie/openwebui-extensions) | **Version:** 0.4.4 | **Project:** [OpenWebUI Extensions](https://github.com/Fu-Jie/openwebui-extensions) | **License:** MIT
|
||||
|
||||
Export conversation to Word (.docx) with **syntax highlighting**, **native math equations**, **Mermaid diagrams**, **citations**, and **enhanced table formatting**.
|
||||
|
||||
@@ -47,7 +47,7 @@ Export conversation to Word (.docx) with **syntax highlighting**, **native math
|
||||
|
||||
## ⭐ Support
|
||||
|
||||
If this plugin has been useful, a star on [Awesome OpenWebUI](https://github.com/Fu-Jie/awesome-openwebui) is a big motivation for me. Thank you for the support.
|
||||
If this plugin has been useful, a star on [OpenWebUI Extensions](https://github.com/Fu-Jie/openwebui-extensions) is a big motivation for me. Thank you for the support.
|
||||
|
||||
## 🛠️ Supported Markdown Syntax
|
||||
|
||||
@@ -81,8 +81,8 @@ If this plugin has been useful, a star on [Awesome OpenWebUI](https://github.com
|
||||
- **Plugin not working?**: Check if the filter/action is enabled in the model settings.
|
||||
- **Debug Logs**: Check the browser console (F12) for detailed logs if available.
|
||||
- **Error Messages**: If you see an error, please copy the full error message and report it.
|
||||
- **Submit an Issue**: If you encounter any problems, please submit an issue on GitHub: [Awesome OpenWebUI Issues](https://github.com/Fu-Jie/awesome-openwebui/issues)
|
||||
- **Submit an Issue**: If you encounter any problems, please submit an issue on GitHub: [OpenWebUI Extensions Issues](https://github.com/Fu-Jie/openwebui-extensions/issues)
|
||||
|
||||
## 📝 Changelog
|
||||
|
||||
See the full history on GitHub: [Awesome OpenWebUI](https://github.com/Fu-Jie/awesome-openwebui)
|
||||
See the full history on GitHub: [OpenWebUI Extensions](https://github.com/Fu-Jie/openwebui-extensions)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 📝 导出为 Word (增强版)
|
||||
|
||||
**Author:** [Fu-Jie](https://github.com/Fu-Jie/awesome-openwebui) | **Version:** 0.4.4 | **Project:** [Awesome OpenWebUI](https://github.com/Fu-Jie/awesome-openwebui) | **许可证:** MIT
|
||||
**Author:** [Fu-Jie](https://github.com/Fu-Jie/openwebui-extensions) | **Version:** 0.4.4 | **Project:** [OpenWebUI Extensions](https://github.com/Fu-Jie/openwebui-extensions) | **许可证:** MIT
|
||||
|
||||
将对话导出为 Word (.docx),支持**代码语法高亮**、**原生数学公式**、**Mermaid 图表**、**引用参考**和**增强表格格式**。
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
|
||||
## ⭐ 支持
|
||||
|
||||
如果这个插件对你有帮助,欢迎到 [Awesome OpenWebUI](https://github.com/Fu-Jie/awesome-openwebui) 点个 Star,这将是我持续改进的动力,感谢支持。
|
||||
如果这个插件对你有帮助,欢迎到 [OpenWebUI Extensions](https://github.com/Fu-Jie/openwebui-extensions) 点个 Star,这将是我持续改进的动力,感谢支持。
|
||||
|
||||
## 🛠️ 支持的 Markdown 语法
|
||||
|
||||
@@ -81,8 +81,8 @@
|
||||
- **插件不工作?**: 请检查是否在模型设置中启用了该过滤器/动作。
|
||||
- **调试日志**: 请查看浏览器控制台 (F12) 获取详细日志(如果可用)。
|
||||
- **错误信息**: 如果看到错误,请复制完整的错误信息并报告。
|
||||
- **提交 Issue**: 如果遇到任何问题,请在 GitHub 上提交 Issue:[Awesome OpenWebUI Issues](https://github.com/Fu-Jie/awesome-openwebui/issues)
|
||||
- **提交 Issue**: 如果遇到任何问题,请在 GitHub 上提交 Issue:[OpenWebUI Extensions Issues](https://github.com/Fu-Jie/openwebui-extensions/issues)
|
||||
|
||||
## 📝 更新日志
|
||||
|
||||
完整历史请查看 GitHub 项目: [Awesome OpenWebUI](https://github.com/Fu-Jie/awesome-openwebui)
|
||||
完整历史请查看 GitHub 项目: [OpenWebUI Extensions](https://github.com/Fu-Jie/openwebui-extensions)
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user