Skip to content
Merged
8 changes: 8 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,13 @@ A collection of enhancements, plugins, and prompts for [open-webui](https://gith

**Maximize your context window.** Intelligently compresses chat history using LLM logic to save tokens and costs while maintaining a high-quality reasoning chain.

### 6. [Batch Install Plugins from GitHub](https://openwebui.com/posts/batch_install_plugins_install_popular_plugins_in_s_c9fd6e80) [![Market](https://img.shields.io/badge/Get-Market-blue?style=flat-square&logo=openwebui)](https://openwebui.com/posts/batch_install_plugins_install_popular_plugins_in_s_c9fd6e80)

**Faster plugin onboarding across community repositories.** Pull plugins from multiple GitHub repositories in one request, then narrow the result set inside an interactive dialog with repository tags, type filters, keyword search, and descriptions before installing only the subset you want.

![Batch Install Plugins Dialog](./plugins/tools/batch-install-plugins/install.png)
> *A single install dialog can merge multiple repositories and let you filter visually before anything is installed.*

## 📦 Project Contents

<!-- markdownlint-disable MD033 -->
Expand All @@ -111,6 +118,7 @@ Located in the `plugins/` directory, containing Python-based enhancements:

- **Smart Mind Map Tool** (`smart-mind-map-tool`): The tool version of Smart Mind Map, enabling AI proactive/autonomous invocation.
- **OpenWebUI Skills Manager Tool** (`openwebui-skills-manager-tool`): Native tool for managing OpenWebUI skills.
- **Batch Install Plugins from GitHub** (`batch-install-plugins`): Discovers plugins from multiple GitHub repositories and installs them through an interactive repository/type-filtered selection dialog.

### Filters

Expand Down
8 changes: 8 additions & 0 deletions README_CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,13 @@ OpenWebUI 增强功能集合。包含个人开发与收集的插件、提示词

**挑战 Token 極限。** 采用多专家异步压缩逻辑,在保持高吞吐量推理链的同时,大幅降低 Token 消耗。

### 6. [Batch Install Plugins from GitHub](https://openwebui.com/posts/batch_install_plugins_install_popular_plugins_in_s_c9fd6e80) [![Market](https://img.shields.io/badge/Get-Market-blue?style=flat-square&logo=openwebui)](https://openwebui.com/posts/batch_install_plugins_install_popular_plugins_in_s_c9fd6e80)

**更快试用多个社区插件仓库。** 一次请求即可聚合多个 GitHub 仓库里的插件,再通过交互式对话框里的仓库标签、类型筛选、关键词搜索和描述信息,把要安装的范围缩小到真正需要的子集。

![Batch Install Plugins Dialog](./plugins/tools/batch-install-plugins/install.png)
> *一个安装对话框就能合并多个仓库,并在真正安装前先完成可视化筛选。*

## 📦 项目内容

<!-- markdownlint-disable MD033 -->
Expand All @@ -108,6 +115,7 @@ OpenWebUI 增强功能集合。包含个人开发与收集的插件、提示词

- **智能思维导图工具** (`smart-mind-map-tool`): 思维导图的 Tool 版本,支持 AI 主动/自主调用。
- **OpenWebUI Skills 管理工具** (`openwebui-skills-manager-tool`): 用于管理 OpenWebUI Skills 的原生工具。
- **Batch Install Plugins from GitHub** (`batch-install-plugins`): 从多个 GitHub 仓库发现插件,并通过支持仓库/类型筛选的交互式选择对话框完成安装。

### Filters (消息处理)

Expand Down
61 changes: 18 additions & 43 deletions docs/plugins/tools/batch-install-plugins-tool.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,17 @@
# Batch Install Plugins from GitHub

**Author:** [Fu-Jie](https://github.com/Fu-Jie) | **Version:** 1.0.0 | **Project:** [OpenWebUI Extensions](https://github.com/Fu-Jie/openwebui-extensions)
**Author:** [Fu-Jie](https://github.com/Fu-Jie) | **Version:** 1.1.0 | **Project:** [OpenWebUI Extensions](https://github.com/Fu-Jie/openwebui-extensions)

One-click batch install plugins from GitHub repositories to your OpenWebUI instance.

## Key Features

- **One-Click Install**: Install all plugins with a single command
- **Auto-Update**: Automatically updates previously installed plugins
- **Public GitHub Support**: Install plugins from any public GitHub repository
- **Public GitHub Support**: Install plugins from one or many public GitHub repositories
- **Multi-Type Support**: Supports Pipe, Action, Filter, and Tool plugins
- **Confirmation**: Shows plugin list before installing, allows selective installation
- **Multi-Repository Picker**: Combine multiple repositories in one request and review them in a single grouped dialog
- **Interactive Selection Dialog**: Filter by repository and type, search by keyword, review plugin descriptions, then install only the checked subset
- **i18n**: Supports 11 languages

## Flow
Expand All @@ -20,7 +21,7 @@ User Input
┌─────────────────────────────────────┐
│ Discover Plugins from GitHub
│ Discover Plugins from GitHub Repos
│ (fetch file tree + parse .py) │
└─────────────────────────────────────┘
Expand All @@ -32,8 +33,8 @@ User Input
┌─────────────────────────────────────┐
│ Show Confirmation Dialog │
│ (list plugins + exclude hint)
│ Show Selection Dialog
│ (repo groups + filters + search)
└─────────────────────────────────────┘
├── [Cancel] → End
Expand All @@ -57,49 +58,23 @@ User Input

## Interactive Installation Workflow

Each request handles one repository. To mix repositories, send another request after the previous installation completes.
The `repo` parameter accepts one or more `owner/repo` values separated by commas, semicolons, or new lines.

## Quick Start: Install Popular Collections

Copy any of these prompts and paste them into your chat:

```
# Install all from my collection (default)
Install all plugins

# Add popular community tools
Install all plugins from iChristGit/OpenWebui-Tools
After plugin discovery and filtering, OpenWebUI opens a browser dialog built with the `execute` event. The dialog merges results from every requested repository, groups them by repository, supports repository tags, type filters, and keyword search, and lets you check exactly which plugins to install before the API calls start.

# Add utility-focused extensions
Install all plugins from Haervwe/open-webui-tools
If one user request mentions multiple repositories, keep them in the same request so the model can pass them into a single tool call.

# Add mixed community implementations
Install all plugins from Classic298/open-webui-plugins
## Quick Start: Install Popular Collections

# Add function-based plugins
Install all plugins from suurt8ll/open_webui_functions
Paste this prompt into your chat:

# Add OpenRouter pipe integration
Install all plugins from rbb-dev/Open-WebUI-OpenRouter-pipe
```

Each line is a separate request. Already installed plugins are automatically updated.

## Usage Examples

For more advanced usage patterns:

Install all plugins from Fu-Jie/openwebui-extensions, iChristGit/OpenWebui-Tools, Haervwe/open-webui-tools, Classic298/open-webui-plugins, suurt8ll/open_webui_functions, rbb-dev/Open-WebUI-OpenRouter-pipe
```
# Filter by plugin type
"Install only tool plugins from iChristGit/OpenWebui-Tools"
"Install only action plugins from Classic298/open-webui-plugins"

# Exclude specific plugins
"Install all plugins from Haervwe/open-webui-tools, exclude_keywords=test,deprecated"
Once the dialog opens, use the repository tags, type filters, and keyword search to narrow the list before installing. Already installed plugins are automatically updated.

# Install from your own repository
"Install all plugins from your-username/my-plugin-collection"
```
You can replace that repository list with your own collections whenever needed.

## Default Repository

Expand Down Expand Up @@ -127,11 +102,11 @@ For other repositories:
| `SKIP_KEYWORDS` | `test,verify,example,template,mock` | Comma-separated keywords to skip |
| `TIMEOUT` | `20` | Request timeout in seconds |

## Confirmation Timeout
## Selection Dialog Timeout

User confirmation dialogs have a default timeout of **2 minutes (120 seconds)**, allowing sufficient time for users to:
The plugin selection dialog has a default timeout of **2 minutes (120 seconds)**, allowing sufficient time for users to:
- Read and review the plugin list
- Make installation decisions
- Check or uncheck the plugins they want
- Handle network delays

## Support
Expand Down
61 changes: 18 additions & 43 deletions docs/plugins/tools/batch-install-plugins-tool.zh.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,17 @@
# Batch Install Plugins from GitHub

**作者:** [Fu-Jie](https://github.com/Fu-Jie) | **版本:** 1.0.0 | **项目:** [OpenWebUI Extensions](https://github.com/Fu-Jie/openwebui-extensions)
**作者:** [Fu-Jie](https://github.com/Fu-Jie) | **版本:** 1.1.0 | **项目:** [OpenWebUI Extensions](https://github.com/Fu-Jie/openwebui-extensions)

一键将 GitHub 仓库中的插件批量安装到你的 OpenWebUI 实例。

## 主要功能

- 一键安装:单个命令安装所有插件
- 自动更新:自动更新之前安装过的插件
- 公开 GitHub 支持:支持从任何公开 GitHub 仓库安装插件
- 公开 GitHub 支持:支持从一个或多个公开 GitHub 仓库安装插件
- 多类型支持:支持 Pipe、Action、Filter 和 Tool 插件
- 安装确认:安装前显示插件列表,支持选择性安装
- 多仓库选择器:一次请求可合并多个仓库,并在同一个分组对话框中查看
- 交互式选择对话框:先按仓库和类型筛选、按关键词搜索并查看描述信息,再勾选要安装的插件,只安装所选子集
- 国际化:支持 11 种语言

## 流程
Expand All @@ -20,7 +21,7 @@
┌─────────────────────────────────────┐
│ 从 GitHub 发现插件
│ 从 GitHub 多仓库发现插件
│ (获取文件树 + 解析 .py 文件) │
└─────────────────────────────────────┘
Expand All @@ -32,8 +33,8 @@
┌─────────────────────────────────────┐
显示确认对话框
│ (插件列表 + 排除提示)
显示选择对话框
│ (仓库分组 + 筛选 + 搜索)
└─────────────────────────────────────┘
├── [取消] → 结束
Expand All @@ -57,49 +58,23 @@

## 交互式安装工作流

每次请求处理一个仓库。如需混合多个来源,请在上一次安装完成后再发起下一次请求
`repo` 参数现在支持多个 `owner/repo`,可用逗号、分号或换行分隔

## 快速开始:安装热门插件集

复制以下任一提示词,粘贴到你的对话框中:

```
# 安装我的默认集合
安装所有插件

# 添加热门社区工具
从 iChristGit/OpenWebui-Tools 安装所有插件
在插件发现和过滤完成后,OpenWebUI 会通过 `execute` 事件打开浏览器选择对话框。对话框会合并所有目标仓库的结果,按仓库分组展示,并支持仓库标签、类型筛选、关键词搜索和描述查看,再开始调用安装 API。

# 添加实用工具扩展
从 Haervwe/open-webui-tools 安装所有插件
如果一次用户请求里提到了多个仓库,尽量保持在同一次请求里,让模型把它们合并到一次工具调用中。

# 添加混合社区实现
从 Classic298/open-webui-plugins 安装所有插件
## 快速开始:安装热门插件集

# 添加基于函数的插件
从 suurt8ll/open_webui_functions 安装所有插件
复制下面这条提示词,粘贴到你的对话框中:

# 添加 OpenRouter 管道集成
从 rbb-dev/Open-WebUI-OpenRouter-pipe 安装所有插件
```

每一行是一个独立的请求。已安装的插件会自动更新。

## 使用示例

更多高级用法:

从 Fu-Jie/openwebui-extensions、iChristGit/OpenWebui-Tools、Haervwe/open-webui-tools、Classic298/open-webui-plugins、suurt8ll/open_webui_functions、rbb-dev/Open-WebUI-OpenRouter-pipe 安装所有插件
```
# 按插件类型过滤
"从 iChristGit/OpenWebui-Tools 仅安装 tool 插件"
"从 Classic298/open-webui-plugins 仅安装 action 插件"

# 排除特定插件
"从 Haervwe/open-webui-tools 安装所有插件, exclude_keywords=test,deprecated"
弹窗出现后,直接用里面的仓库标签、类型筛选和关键词搜索来缩小范围再安装。已安装的插件会自动更新。

# 从你自己的仓库安装
"从 your-username/my-plugin-collection 安装所有插件"
```
需要时,你也可以把这串仓库替换成你自己的插件仓库组合。

## 默认仓库

Expand Down Expand Up @@ -127,11 +102,11 @@
| `SKIP_KEYWORDS` | `test,verify,example,template,mock` | 逗号分隔的跳过关键词 |
| `TIMEOUT` | `20` | 请求超时时间(秒)|

## 确认超时时间
## 选择对话框超时时间

用户确认对话框的默认超时时间为 **2 分钟(120 秒)**,为用户提供充足的时间来:
插件选择对话框的默认超时时间为 **2 分钟(120 秒)**,为用户提供充足的时间来:
- 阅读和查看插件列表
- 做出安装决定
- 勾选或取消勾选想安装的插件
- 处理网络延迟

## 支持
Expand Down
61 changes: 18 additions & 43 deletions docs/plugins/tools/batch-install-plugins.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Batch Install Plugins from GitHub

| By [Fu-Jie](https://github.com/Fu-Jie) · v1.0.0 | [⭐ Star this repo](https://github.com/Fu-Jie/openwebui-extensions) |
| By [Fu-Jie](https://github.com/Fu-Jie) · v1.1.0 | [⭐ Star this repo](https://github.com/Fu-Jie/openwebui-extensions) |
| :--- | ---: |

| ![followers](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2FFu-Jie%2Fdb3d95687075a880af6f1fba76d679c6%2Fraw%2Fbadge_followers.json&label=%F0%9F%91%A5&style=flat) | ![points](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2FFu-Jie%2Fdb3d95687075a880af6f1fba76d679c6%2Fraw%2Fbadge_points.json&label=%E2%AD%90&style=flat) | ![top](https://img.shields.io/badge/%F0%9F%8F%86-Top%20%3C1%25-10b981?style=flat) | ![contributions](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2FFu-Jie%2Fdb3d95687075a880af6f1fba76d679c6%2Fraw%2Fbadge_contributions.json&label=%F0%9F%93%A6&style=flat) | ![downloads](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2FFu-Jie%2Fdb3d95687075a880af6f1fba76d679c6%2Fraw%2Fbadge_downloads.json&label=%E2%AC%87%EF%B8%8F&style=flat) | ![saves](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2FFu-Jie%2Fdb3d95687075a880af6f1fba76d679c6%2Fraw%2Fbadge_saves.json&label=%F0%9F%92%BE&style=flat) | ![views](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2FFu-Jie%2Fdb3d95687075a880af6f1fba76d679c6%2Fraw%2Fbadge_views.json&label=%F0%9F%91%81%EF%B8%8F&style=flat) |
Expand All @@ -12,9 +12,10 @@ One-click batch install plugins from GitHub repositories to your OpenWebUI insta

- **One-Click Install**: Install all plugins with a single command
- **Auto-Update**: Automatically updates previously installed plugins
- **Public GitHub Support**: Install plugins from any public GitHub repository
- **Public GitHub Support**: Install plugins from one or many public GitHub repositories
- **Multi-Type Support**: Supports Pipe, Action, Filter, and Tool plugins
- **Confirmation**: Shows plugin list before installing, allows selective installation
- **Multi-Repository Picker**: Combine multiple repositories in one request and review them in a single grouped dialog
- **Interactive Selection Dialog**: Filter by repository and type, search by keyword, review plugin descriptions, then install only the checked subset
- **i18n**: Supports 11 languages

## Flow
Expand All @@ -24,7 +25,7 @@ User Input
┌─────────────────────────────────────┐
│ Discover Plugins from GitHub
│ Discover Plugins from GitHub Repos
│ (fetch file tree + parse .py) │
└─────────────────────────────────────┘
Expand All @@ -36,8 +37,8 @@ User Input
┌─────────────────────────────────────┐
│ Show Confirmation Dialog │
│ (list plugins + exclude hint)
│ Show Selection Dialog
│ (repo groups + filters + search)
└─────────────────────────────────────┘
├── [Cancel] → End
Expand All @@ -61,49 +62,23 @@ User Input

## Interactive Installation Workflow

Each request handles one repository. To mix repositories, send another request after the previous installation completes.
The `repo` parameter accepts one or more `owner/repo` values separated by commas, semicolons, or new lines.

## Quick Start: Install Popular Collections

Copy any of these prompts and paste them into your chat:

```
# Install all from my collection (default)
Install all plugins

# Add popular community tools
Install all plugins from iChristGit/OpenWebui-Tools
After plugin discovery and filtering, OpenWebUI opens a browser dialog built with the `execute` event. The dialog merges results from every requested repository, groups them by repository, supports repository tags, type filters, and keyword search, and lets you check exactly which plugins to install before the API calls start.

# Add utility-focused extensions
Install all plugins from Haervwe/open-webui-tools
If one user request mentions multiple repositories, keep them in the same request so the model can pass them into a single tool call.

# Add mixed community implementations
Install all plugins from Classic298/open-webui-plugins
## Quick Start: Install Popular Collections

# Add function-based plugins
Install all plugins from suurt8ll/open_webui_functions
Paste this prompt into your chat:

# Add OpenRouter pipe integration
Install all plugins from rbb-dev/Open-WebUI-OpenRouter-pipe
```

Each line is a separate request. Already installed plugins are automatically updated.

## Usage Examples

For more advanced usage patterns:

Install all plugins from Fu-Jie/openwebui-extensions, iChristGit/OpenWebui-Tools, Haervwe/open-webui-tools, Classic298/open-webui-plugins, suurt8ll/open_webui_functions, rbb-dev/Open-WebUI-OpenRouter-pipe
```
# Filter by plugin type
"Install only tool plugins from iChristGit/OpenWebui-Tools"
"Install only action plugins from Classic298/open-webui-plugins"

# Exclude specific plugins
"Install all plugins from Haervwe/open-webui-tools, exclude_keywords=test,deprecated"
Once the dialog opens, use the repository tags, type filters, and keyword search to narrow the list before installing. Already installed plugins are automatically updated.

# Install from your own repository
"Install all plugins from your-username/my-plugin-collection"
```
You can replace that repository list with your own collections whenever needed.

## Default Repository

Expand Down Expand Up @@ -131,11 +106,11 @@ For other repositories:
| `SKIP_KEYWORDS` | `test,verify,example,template,mock` | Comma-separated keywords to skip |
| `TIMEOUT` | `20` | Request timeout in seconds |

## Confirmation Timeout
## Selection Dialog Timeout

User confirmation dialogs have a default timeout of **2 minutes (120 seconds)**, allowing sufficient time for users to:
The plugin selection dialog has a default timeout of **2 minutes (120 seconds)**, allowing sufficient time for users to:
- Read and review the plugin list
- Make installation decisions
- Check or uncheck the plugins they want
- Handle network delays

## Support
Expand Down
Loading
Loading