Batch Install Plugins from GitHub
| By Fu-Jie · v1.1.0 | ⭐ Star this repo |
|---|
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
- Multi-Type Support: Supports Pipe, Action, Filter, and Tool plugins
- Interactive Selection Dialog: Filter by type, search by keyword, review plugin descriptions, then install only the checked subset
- i18n: Supports 11 languages
Flow
User Input
│
▼
┌─────────────────────────────────────┐
│ Discover Plugins from GitHub │
│ (fetch file tree + parse .py) │
└─────────────────────────────────────┘
│
▼
┌─────────────────────────────────────┐
│ Filter by Type & Keywords │
│ (tool/filter/pipe/action) │
└─────────────────────────────────────┘
│
▼
┌─────────────────────────────────────┐
│ Show Selection Dialog │
│ (type filter + search + desc) │
└─────────────────────────────────────┘
│
├── [Cancel] → End
│
▼
┌─────────────────────────────────────┐
│ Install to OpenWebUI │
│ (update or create each plugin) │
└─────────────────────────────────────┘
│
▼
Done
How to Use
- Open OpenWebUI and go to Workspace > Tools
- Install Batch Install Plugins from GitHub from the marketplace
- Enable this tool for your model/chat
- Ask the model to install plugins
Interactive Installation Workflow
Each request handles one repository. To mix repositories, send another request after the previous installation completes.
After plugin discovery and filtering, OpenWebUI opens a browser dialog built with the execute event so you can filter by plugin type, search by keyword, review plugin descriptions, and check exactly which plugins to install before the API calls start.
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
# Add utility-focused extensions
Install all plugins from Haervwe/open-webui-tools
# Add mixed community implementations
Install all plugins from Classic298/open-webui-plugins
# Add function-based plugins
Install all plugins from suurt8ll/open_webui_functions
# 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:
# 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"
# Install from your own repository
"Install all plugins from your-username/my-plugin-collection"
Default Repository
When no repository is specified, the tool uses Fu-Jie/openwebui-extensions (my personal collection).
Plugin Detection Rules
Fu-Jie/openwebui-extensions (Strict)
For the default repository, the tool applies stricter filtering:
- A
.pyfile containingclass Tools:,class Filter:,class Pipe:, orclass Action: - A docstring with
title:,description:, andopenwebui_id:metadata - Filename must not end with
_cn
Other Public GitHub Repositories
For other repositories:
- A
.pyfile containingclass Tools:,class Filter:,class Pipe:, orclass Action: - A docstring with
title:anddescription:fields
Configuration (Valves)
| Parameter | Default | Description |
|---|---|---|
SKIP_KEYWORDS |
test,verify,example,template,mock |
Comma-separated keywords to skip |
TIMEOUT |
20 |
Request timeout in seconds |
Selection Dialog Timeout
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
- Check or uncheck the plugins they want
- Handle network delays
Support
⭐ If this plugin has been useful, a star on OpenWebUI Extensions is a big motivation for me. Thank you for the support.