Files
Fu-Jie_openwebui-extensions/docs/plugins/tools/batch-install-plugins-tool.zh.md

149 lines
5.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Batch Install Plugins from GitHub
**作者:** [Fu-Jie](https://github.com/Fu-Jie) | **版本:** 1.1.0 | **项目:** [OpenWebUI Extensions](https://github.com/Fu-Jie/openwebui-extensions)
一键将 GitHub 仓库中的插件批量安装到你的 OpenWebUI 实例。
## 主要功能
- 一键安装:单个命令安装所有插件
- 自动更新:自动更新之前安装过的插件
- 公开 GitHub 支持:支持从一个或多个公开 GitHub 仓库安装插件
- 多类型支持:支持 Pipe、Action、Filter 和 Tool 插件
- 多仓库选择器:一次请求可合并多个仓库,并在同一个分组对话框中查看
- 交互式选择对话框:先按类型筛选、按关键词搜索并查看描述信息,再勾选要安装的插件,只安装所选子集
- 国际化:支持 11 种语言
## 流程
```
用户输入
┌─────────────────────────────────────┐
│ 从 GitHub 多仓库发现插件 │
│ (获取文件树 + 解析 .py 文件) │
└─────────────────────────────────────┘
┌─────────────────────────────────────┐
│ 按类型和关键词过滤 │
│ (tool/filter/pipe/action) │
└─────────────────────────────────────┘
┌─────────────────────────────────────┐
│ 显示选择对话框 │
│ (仓库分组 + 筛选 + 搜索) │
└─────────────────────────────────────┘
├── [取消] → 结束
┌─────────────────────────────────────┐
│ 安装到 OpenWebUI │
│ (更新或创建每个插件) │
└─────────────────────────────────────┘
完成
```
## 使用方法
1. 打开 OpenWebUI进入 **Workspace > Tools**
2. 从市场安装 **Batch Install Plugins from GitHub**
3. 为你的模型/对话启用此工具
4. 让模型调用工具来安装插件
## 交互式安装工作流
`repo` 参数现在支持多个 `owner/repo`,可用逗号、分号或换行分隔。
在插件发现和过滤完成后OpenWebUI 会通过 `execute` 事件打开浏览器选择对话框。对话框会合并所有目标仓库的结果,按仓库分组展示,并支持类型筛选、关键词搜索和描述查看,再开始调用安装 API。
## 快速开始:安装热门插件集
复制以下任一提示词,粘贴到你的对话框中:
```
# 安装我的默认集合
安装所有插件
# 添加热门社区工具
从 iChristGit/OpenWebui-Tools 安装所有插件
# 添加实用工具扩展
从 Haervwe/open-webui-tools 安装所有插件
# 添加混合社区实现
从 Classic298/open-webui-plugins 安装所有插件
# 添加基于函数的插件
从 suurt8ll/open_webui_functions 安装所有插件
# 添加 OpenRouter 管道集成
从 rbb-dev/Open-WebUI-OpenRouter-pipe 安装所有插件
# 一次请求混合多个仓库
从 Fu-Jie/openwebui-extensions、Classic298/open-webui-plugins 安装所有插件
```
你可以直接使用任意一行,也可以在一次请求里组合多个仓库。已安装的插件会自动更新。
## 使用示例
更多高级用法:
```
# 一次请求组合多个仓库
"从 Fu-Jie/openwebui-extensions、iChristGit/OpenWebui-Tools 安装所有插件"
# 按插件类型过滤
"从 iChristGit/OpenWebui-Tools 仅安装 tool 插件"
"从 Classic298/open-webui-plugins、Haervwe/open-webui-tools 仅安装 action 插件"
# 排除特定插件
"从 Haervwe/open-webui-tools、Classic298/open-webui-plugins 安装所有插件, exclude_keywords=test,deprecated"
# 从你自己的仓库安装
"从 your-username/my-plugin-collection 安装所有插件"
```
## 默认仓库
未指定仓库时,工具会使用 `Fu-Jie/openwebui-extensions`(我的个人合集)。你也可以在同一次请求里把它和其他仓库一起传入。
## 插件检测规则
### Fu-Jie/openwebui-extensions严格模式
对于默认仓库,工具会采用更严格的筛选规则:
1. 包含 `class Tools:``class Filter:``class Pipe:``class Action:``.py` 文件
2. Docstring 中包含 `title:``description:`**`openwebui_id:`** 元数据
3. 文件名不能以 `_cn` 结尾
### 其他公开 GitHub 仓库
其他仓库的插件必须满足:
1. 包含 `class Tools:``class Filter:``class Pipe:``class Action:``.py` 文件
2. Docstring 中包含 `title:``description:` 字段
## 配置Valves
| 参数 | 默认值 | 描述 |
| --- | --- | --- |
| `SKIP_KEYWORDS` | `test,verify,example,template,mock` | 逗号分隔的跳过关键词 |
| `TIMEOUT` | `20` | 请求超时时间(秒)|
## 选择对话框超时时间
插件选择对话框的默认超时时间为 **2 分钟120 秒)**,为用户提供充足的时间来:
- 阅读和查看插件列表
- 勾选或取消勾选想安装的插件
- 处理网络延迟
## 支持
⭐ 如果这个插件对你有帮助,欢迎到 [OpenWebUI Extensions](https://github.com/Fu-Jie/openwebui-extensions) 点个 Star这将是我持续改进的动力感谢支持。