2026-03-15 17:45:42 +08:00
# Batch Install Plugins from GitHub
2026-03-16 14:17:51 +08:00
**Author:** [Fu-Jie ](https://github.com/Fu-Jie ) | **Version: ** 1.1.0 | **Project: ** [OpenWebUI Extensions ](https://github.com/Fu-Jie/openwebui-extensions )
2026-03-15 17:45:42 +08:00
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
2026-03-16 15:03:15 +08:00
- **Public GitHub Support**: Install plugins from one or many public GitHub repositories
2026-03-15 17:45:42 +08:00
- **Multi-Type Support**: Supports Pipe, Action, Filter, and Tool plugins
2026-03-16 15:03:15 +08:00
- **Multi-Repository Picker**: Combine multiple repositories in one request and review them in a single grouped dialog
2026-03-16 14:33:06 +08:00
- **Interactive Selection Dialog**: Filter by type, search by keyword, review plugin descriptions, then install only the checked subset
2026-03-15 17:45:42 +08:00
- **i18n**: Supports 11 languages
## Flow
```
User Input
│
▼
┌─────────────────────────────────────┐
2026-03-16 15:03:15 +08:00
│ Discover Plugins from GitHub Repos │
2026-03-15 17:45:42 +08:00
│ (fetch file tree + parse .py) │
└─────────────────────────────────────┘
│
▼
┌─────────────────────────────────────┐
│ Filter by Type & Keywords │
│ (tool/filter/pipe/action) │
└─────────────────────────────────────┘
│
▼
┌─────────────────────────────────────┐
2026-03-16 14:17:51 +08:00
│ Show Selection Dialog │
2026-03-16 15:03:15 +08:00
│ (repo groups + filters + search) │
2026-03-15 17:45:42 +08:00
└─────────────────────────────────────┘
│
├── [Cancel] → End
│
▼
┌─────────────────────────────────────┐
│ Install to OpenWebUI │
│ (update or create each plugin) │
└─────────────────────────────────────┘
│
▼
Done
```
## How to Use
1. Open OpenWebUI and go to **Workspace > Tools **
2026-03-15 18:14:23 +08:00
2. Install **Batch Install Plugins from GitHub ** from the marketplace
2026-03-15 17:45:42 +08:00
3. Enable this tool for your model/chat
4. Ask the model to install plugins
2026-03-15 18:14:23 +08:00
## Interactive Installation Workflow
2026-03-15 17:45:42 +08:00
2026-03-16 15:03:15 +08:00
The `repo` parameter accepts one or more `owner/repo` values separated by commas, semicolons, or new lines.
2026-03-15 17:45:42 +08:00
2026-03-16 15:03:15 +08:00
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 type filters and keyword search, and lets you check exactly which plugins to install before the API calls start.
2026-03-16 14:17:51 +08:00
2026-03-15 18:48:27 +08:00
## Quick Start: Install Popular Collections
2026-03-15 17:45:42 +08:00
2026-03-15 18:48:27 +08:00
Copy any of these prompts and paste them into your chat:
2026-03-15 17:45:42 +08:00
2026-03-15 18:14:23 +08:00
```
2026-03-15 18:48:27 +08:00
# Install all from my collection (default)
Install all plugins
2026-03-15 18:14:23 +08:00
2026-03-15 18:48:27 +08:00
# Add popular community tools
Install all plugins from iChristGit/OpenWebui-Tools
2026-03-15 18:14:23 +08:00
2026-03-15 18:48:27 +08:00
# Add utility-focused extensions
Install all plugins from Haervwe/open-webui-tools
2026-03-15 17:45:42 +08:00
2026-03-15 18:48:27 +08:00
# Add mixed community implementations
Install all plugins from Classic298/open-webui-plugins
2026-03-15 18:14:23 +08:00
2026-03-15 18:48:27 +08:00
# Add function-based plugins
Install all plugins from suurt8ll/open_webui_functions
2026-03-15 18:14:23 +08:00
2026-03-15 18:48:27 +08:00
# Add OpenRouter pipe integration
Install all plugins from rbb-dev/Open-WebUI-OpenRouter-pipe
2026-03-16 15:03:15 +08:00
# Mix multiple repositories in one request
Install all plugins from Fu-Jie/openwebui-extensions, Classic298/open-webui-plugins
2026-03-15 17:45:42 +08:00
```
2026-03-16 15:03:15 +08:00
Use any line as-is, or combine repositories in one request. Already installed plugins are automatically updated.
2026-03-15 17:45:42 +08:00
2026-03-15 18:48:27 +08:00
## Usage Examples
2026-03-15 18:14:23 +08:00
2026-03-15 18:48:27 +08:00
For more advanced usage patterns:
2026-03-15 18:14:23 +08:00
2026-03-15 18:48:27 +08:00
```
2026-03-16 15:03:15 +08:00
# Combine repositories in one request
"Install all plugins from Fu-Jie/openwebui-extensions, iChristGit/OpenWebui-Tools"
2026-03-15 18:48:27 +08:00
# Filter by plugin type
"Install only tool plugins from iChristGit/OpenWebui-Tools"
2026-03-16 15:03:15 +08:00
"Install only action plugins from Classic298/open-webui-plugins, Haervwe/open-webui-tools"
2026-03-15 18:48:27 +08:00
# Exclude specific plugins
2026-03-16 15:03:15 +08:00
"Install all plugins from Haervwe/open-webui-tools, Classic298/open-webui-plugins, exclude_keywords=test,deprecated"
2026-03-15 18:48:27 +08:00
# Install from your own repository
"Install all plugins from your-username/my-plugin-collection"
```
2026-03-15 17:45:42 +08:00
## Default Repository
2026-03-16 15:03:15 +08:00
When no repository is specified, the tool uses `Fu-Jie/openwebui-extensions` (my personal collection). You can also combine it with additional repositories in the same request.
2026-03-15 17:45:42 +08:00
## Plugin Detection Rules
### Fu-Jie/openwebui-extensions (Strict)
2026-03-15 18:14:23 +08:00
For the default repository, the tool applies stricter filtering:
2026-03-15 17:45:42 +08:00
1. A `.py` file containing `class Tools:` , `class Filter:` , `class Pipe:` , or `class Action:`
2026-03-15 18:14:23 +08:00
2. A docstring with `title:` , `description:` , and * * `openwebui_id:` ** metadata
2026-03-15 17:45:42 +08:00
3. Filename must not end with `_cn`
2026-03-15 18:14:23 +08:00
### Other Public GitHub Repositories
2026-03-15 17:45:42 +08:00
For other repositories:
1. A `.py` file containing `class Tools:` , `class Filter:` , `class Pipe:` , or `class Action:`
2. A docstring with `title:` and `description:` fields
## Configuration (Valves)
| Parameter | Default | Description |
| --- | --- | --- |
| `SKIP_KEYWORDS` | `test,verify,example,template,mock` | Comma-separated keywords to skip |
| `TIMEOUT` | `20` | Request timeout in seconds |
2026-03-16 14:17:51 +08:00
## Selection Dialog Timeout
2026-03-15 17:45:42 +08:00
2026-03-16 14:17:51 +08:00
The plugin selection dialog has a default timeout of **2 minutes (120 seconds) ** , allowing sufficient time for users to:
2026-03-15 17:45:42 +08:00
- Read and review the plugin list
2026-03-16 14:17:51 +08:00
- Check or uncheck the plugins they want
2026-03-15 17:45:42 +08:00
- Handle network delays
## Support
2026-03-15 18:48:27 +08:00
⭐ 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.