* 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
134 lines
4.8 KiB
Markdown
134 lines
4.8 KiB
Markdown
# 🎉 Batch Install Plugins v1.1.0
|
||
|
||
## 标题
|
||
**为 OpenWebUI 批量安装带来可勾选的交互式插件选择器**
|
||
|
||
## 前言
|
||
批量安装不应该是“全装或不装”的二选一。现在,**Batch Install Plugins from GitHub** v1.1.0 新增了基于浏览器的交互式选择对话框,用户可以先查看过滤后的插件列表,再勾选真正要安装的插件,然后才开始调用安装 API。
|
||
|
||
## 核心特性
|
||
|
||
### 🚀 交互式插件选择
|
||
- 基于 OpenWebUI 的 `execute` 事件打开自定义浏览器选择对话框
|
||
- 显示带复选框、类型筛选、关键词搜索、插件描述和仓库信息的过滤结果
|
||
- 只安装用户保留勾选的插件
|
||
|
||
### ✅ 智能安全保障
|
||
- 用更丰富的选择流程替代基础 confirmation 事件
|
||
- 用户无需改写请求,也能取消勾选不想安装的插件
|
||
- 不再显示多余的“复制 exclude_keywords”提示
|
||
- 自动排除工具自身,避免重复安装
|
||
|
||
### 🌍 多仓库支持
|
||
支持从**任意公开 GitHub 仓库**安装插件,包括你自己的社区合集:
|
||
- 一次请求即可组合多个仓库,并在同一个分组选择器中查看
|
||
- **默认**:Fu-Jie/openwebui-extensions(我的个人合集)
|
||
- 支持公开仓库,格式为 `owner/repo`,可用逗号、分号或换行分隔
|
||
- 混合搭配:安装前就能在同一个对话框中选择多个来源的插件
|
||
|
||
### 🔧 容器友好
|
||
- 自动处理容器部署中的端口映射问题
|
||
- 智能降级:主连接失败时自动重试 localhost:8080
|
||
- 丰富的调试日志便于故障排除
|
||
|
||
### 🌐 全球化支持
|
||
- 完整支持 11 种语言
|
||
- 所有错误提示本地化且用户友好
|
||
- 跨不同部署场景无缝运行
|
||
|
||
## 工作流程:交互式安装
|
||
|
||
`repo` 参数现在支持多个 `owner/repo`,可用逗号、分号或换行分隔。
|
||
|
||
1. **先从我的合集开始**
|
||
```
|
||
"安装 Fu-Jie/openwebui-extensions 中的所有插件"
|
||
```
|
||
查看选择对话框,保留想安装的勾选项后开始安装。
|
||
|
||
2. **混合加入社区合集**
|
||
```
|
||
"从 Fu-Jie/openwebui-extensions、iChristGit/OpenWebui-Tools 安装所有插件"
|
||
```
|
||
在一个按仓库分组的选择对话框里查看两个来源,再安装真正需要的子集。
|
||
|
||
3. **跨仓库按类型继续安装**
|
||
```
|
||
"从 Haervwe/open-webui-tools、Classic298/open-webui-plugins 仅安装 pipe 插件"
|
||
```
|
||
一次性在多个仓库里选择特定类型的插件,或排除某些关键词。
|
||
|
||
4. **使用你自己的公开仓库**
|
||
```
|
||
"从 your-username/your-collection 安装所有插件"
|
||
```
|
||
支持任何公开 GitHub 仓库,格式为 `owner/repo`。
|
||
|
||
## 热门社区合集
|
||
|
||
这些社区精选都已准备好安装:
|
||
|
||
#### **iChristGit/OpenWebui-Tools**
|
||
包含各种工具和插件的综合集合。
|
||
|
||
#### **Haervwe/open-webui-tools**
|
||
专业工具和实用程序,扩展 OpenWebUI 功能。
|
||
|
||
#### **Classic298/open-webui-plugins**
|
||
多样化的插件实现,满足不同场景。
|
||
|
||
#### **suurt8ll/open_webui_functions**
|
||
基于函数的插件,用于自定义集成。
|
||
|
||
#### **rbb-dev/Open-WebUI-OpenRouter-pipe**
|
||
OpenRouter API pipe 集成,提供高级模型访问。
|
||
|
||
## 使用示例
|
||
|
||
下面每一行都可以直接使用,其中第三行演示了单次请求组合多个仓库:
|
||
|
||
```
|
||
# 先从我的合集开始
|
||
"安装所有插件"
|
||
|
||
# 添加社区插件
|
||
"从 iChristGit/OpenWebui-Tools 安装所有插件"
|
||
|
||
# 在同一个选择器里组合多个仓库
|
||
"从 Fu-Jie/openwebui-extensions、Classic298/open-webui-plugins 安装所有插件"
|
||
|
||
# 从多个仓库只安装某一种类型
|
||
"从 Haervwe/open-webui-tools、Classic298/open-webui-plugins 仅安装 tool 插件"
|
||
|
||
# 过滤不想安装的插件
|
||
"从 Haervwe/open-webui-tools、Classic298/open-webui-plugins 安装所有插件,exclude_keywords=test,deprecated"
|
||
|
||
# 从你自己的公开仓库安装
|
||
"从 your-username/my-plugin-collection 安装所有插件"
|
||
```
|
||
|
||
## 技术亮点
|
||
|
||
- **异步架构**:非阻塞 I/O,性能更优
|
||
- **httpx 集成**:现代化异步 HTTP 客户端,包含超时保护
|
||
- **选择性安装流程**:安装循环只会处理用户最终勾选的插件子集
|
||
- **完整事件支持**:正确处理 OpenWebUI `execute` 事件,并保留回退行为
|
||
|
||
## 安装方法
|
||
|
||
1. 打开 OpenWebUI → 工作区 > 工具
|
||
2. 从市场安装 **Batch Install Plugins from GitHub**
|
||
3. 为你的模型/对话启用此工具
|
||
4. 开始使用,比如说"安装所有插件"
|
||
|
||
## 相关链接
|
||
|
||
- **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.1.0_CN.md
|
||
|
||
## 社区支持
|
||
|
||
如果这个工具对你有帮助,欢迎到 [OpenWebUI Extensions](https://github.com/Fu-Jie/openwebui-extensions) 点个 ⭐ — 这将是我们持续改进的动力!
|
||
|
||
**感谢你支持 OpenWebUI 社区!🙏**
|