feat: add interactive selection dialog to batch installer (#60)
* feat: add interactive selection dialog to batch installer * feat: improve batch installer selection dialog * feat: add search and filtering to batch installer dialog * fix: sync type filter with selected plugins * fix: sync search results with selected plugins * feat: add multi-repository batch install support * fix: clarify single-call multi-repo usage * feat: add repository filters to selection dialog * refactor: simplify selection dialog header * docs: simplify batch installer quick start * docs: feature batch installer on homepage
This commit is contained in:
@@ -1,29 +1,30 @@
|
||||
# 🎉 Batch Install Plugins 首发 v1.0.0
|
||||
# 🎉 Batch Install Plugins v1.1.0
|
||||
|
||||
## 标题
|
||||
**一键批量安装 OpenWebUI 插件 - 解决装机烦恼**
|
||||
**为 OpenWebUI 批量安装带来可勾选的交互式插件选择器**
|
||||
|
||||
## 前言
|
||||
在 OpenWebUI 中安装插件曾经很麻烦:逐个搜索、逐个下载、祈祷一切顺利。今天,我们欣然宣布 **Batch Install Plugins from GitHub** v1.0.0 的问世 — 一款强大的新工具,让插件安装从苦差事变成一条简单命令。
|
||||
批量安装不应该是“全装或不装”的二选一。现在,**Batch Install Plugins from GitHub** v1.1.0 新增了基于浏览器的交互式选择对话框,用户可以先查看过滤后的插件列表,再勾选真正要安装的插件,然后才开始调用安装 API。
|
||||
|
||||
## 核心特性
|
||||
|
||||
### 🚀 一键批量安装
|
||||
- 从任意公开 GitHub 仓库用一条命令安装多个插件
|
||||
- 自动发现插件并进行验证
|
||||
- 无缝更新已安装的插件
|
||||
### 🚀 交互式插件选择
|
||||
- 基于 OpenWebUI 的 `execute` 事件打开自定义浏览器选择对话框
|
||||
- 显示带复选框、类型筛选、关键词搜索、插件描述和仓库信息的过滤结果
|
||||
- 只安装用户保留勾选的插件
|
||||
|
||||
### ✅ 智能安全保障
|
||||
- 安装前显示插件列表确认对话框
|
||||
- 用户可在安装前查看和审批
|
||||
- 用更丰富的选择流程替代基础 confirmation 事件
|
||||
- 用户无需改写请求,也能取消勾选不想安装的插件
|
||||
- 不再显示多余的“复制 exclude_keywords”提示
|
||||
- 自动排除工具自身,避免重复安装
|
||||
|
||||
### 🌍 多仓库支持
|
||||
支持从**任意公开 GitHub 仓库**安装插件,包括你自己的社区合集:
|
||||
- 每次请求处理一个仓库,需要时可再次调用工具来组合多个来源
|
||||
- 一次请求即可组合多个仓库,并在同一个分组选择器中查看
|
||||
- **默认**:Fu-Jie/openwebui-extensions(我的个人合集)
|
||||
- 支持公开仓库,格式为 `owner/repo`
|
||||
- 混合搭配:先从我的合集安装,再通过后续调用添加社区合集
|
||||
- 支持公开仓库,格式为 `owner/repo`,可用逗号、分号或换行分隔
|
||||
- 混合搭配:安装前就能在同一个对话框中选择多个来源的插件
|
||||
|
||||
### 🔧 容器友好
|
||||
- 自动处理容器部署中的端口映射问题
|
||||
@@ -37,25 +38,25 @@
|
||||
|
||||
## 工作流程:交互式安装
|
||||
|
||||
每次请求处理一个仓库。如需组合多个仓库,请在上一次安装完成后再发起下一次请求。
|
||||
`repo` 参数现在支持多个 `owner/repo`,可用逗号、分号或换行分隔。
|
||||
|
||||
1. **先从我的合集开始**
|
||||
```
|
||||
"安装 Fu-Jie/openwebui-extensions 中的所有插件"
|
||||
```
|
||||
查看确认对话框,批准后开始安装。
|
||||
查看选择对话框,保留想安装的勾选项后开始安装。
|
||||
|
||||
2. **再添加社区合集**
|
||||
2. **混合加入社区合集**
|
||||
```
|
||||
"从 iChristGit/OpenWebui-Tools 安装所有插件"
|
||||
"从 Fu-Jie/openwebui-extensions、iChristGit/OpenWebui-Tools 安装所有插件"
|
||||
```
|
||||
从不同仓库添加更多插件。已安装的插件会无缝更新。
|
||||
在一个按仓库分组的选择对话框里查看两个来源,再安装真正需要的子集。
|
||||
|
||||
3. **按类型继续安装**
|
||||
3. **跨仓库按类型继续安装**
|
||||
```
|
||||
"从 Haervwe/open-webui-tools 仅安装 pipe 插件"
|
||||
"从 Haervwe/open-webui-tools、Classic298/open-webui-plugins 仅安装 pipe 插件"
|
||||
```
|
||||
从另一个仓库选择特定类型的插件,或排除某些关键词。
|
||||
一次性在多个仓库里选择特定类型的插件,或排除某些关键词。
|
||||
|
||||
4. **使用你自己的公开仓库**
|
||||
```
|
||||
@@ -84,23 +85,23 @@ OpenRouter API pipe 集成,提供高级模型访问。
|
||||
|
||||
## 使用示例
|
||||
|
||||
下面每一行都是一次独立请求:
|
||||
下面每一行都可以直接使用,其中第三行演示了单次请求组合多个仓库:
|
||||
|
||||
```
|
||||
# 先从我的合集开始
|
||||
"安装所有插件"
|
||||
|
||||
# 在下一次请求中加入社区插件
|
||||
# 添加社区插件
|
||||
"从 iChristGit/OpenWebui-Tools 安装所有插件"
|
||||
|
||||
# 从其他仓库只安装某一种类型
|
||||
"从 Haervwe/open-webui-tools 仅安装 tool 插件"
|
||||
# 在同一个选择器里组合多个仓库
|
||||
"从 Fu-Jie/openwebui-extensions、Classic298/open-webui-plugins 安装所有插件"
|
||||
|
||||
# 继续补充你的插件组合
|
||||
"从 Classic298/open-webui-plugins 安装仅 action 插件"
|
||||
# 从多个仓库只安装某一种类型
|
||||
"从 Haervwe/open-webui-tools、Classic298/open-webui-plugins 仅安装 tool 插件"
|
||||
|
||||
# 过滤不想安装的插件
|
||||
"从 Haervwe/open-webui-tools 安装所有插件,exclude_keywords=test,deprecated"
|
||||
"从 Haervwe/open-webui-tools、Classic298/open-webui-plugins 安装所有插件,exclude_keywords=test,deprecated"
|
||||
|
||||
# 从你自己的公开仓库安装
|
||||
"从 your-username/my-plugin-collection 安装所有插件"
|
||||
@@ -110,8 +111,8 @@ OpenRouter API pipe 集成,提供高级模型访问。
|
||||
|
||||
- **异步架构**:非阻塞 I/O,性能更优
|
||||
- **httpx 集成**:现代化异步 HTTP 客户端,包含超时保护
|
||||
- **完整测试**:8 个回归测试,100% 通过率
|
||||
- **完整事件支持**:正确处理 OpenWebUI 事件注入,提供回退机制
|
||||
- **选择性安装流程**:安装循环只会处理用户最终勾选的插件子集
|
||||
- **完整事件支持**:正确处理 OpenWebUI `execute` 事件,并保留回退行为
|
||||
|
||||
## 安装方法
|
||||
|
||||
@@ -123,7 +124,7 @@ OpenRouter API pipe 集成,提供高级模型访问。
|
||||
## 相关链接
|
||||
|
||||
- **GitHub 仓库**:https://github.com/Fu-Jie/openwebui-extensions/tree/main/plugins/tools/batch-install-plugins
|
||||
- **发布说明**:https://github.com/Fu-Jie/openwebui-extensions/blob/main/plugins/tools/batch-install-plugins/v1.0.0_CN.md
|
||||
- **发布说明**:https://github.com/Fu-Jie/openwebui-extensions/blob/main/plugins/tools/batch-install-plugins/v1.1.0_CN.md
|
||||
|
||||
## 社区支持
|
||||
|
||||
|
||||
Reference in New Issue
Block a user