134 lines
5.2 KiB
Markdown
134 lines
5.2 KiB
Markdown
# 🎉 Batch Install Plugins v1.1.0
|
|
|
|
## Headline
|
|
**Interactive Plugin Picker for OpenWebUI Batch Installation**
|
|
|
|
## Introduction
|
|
Installing plugins in OpenWebUI should not feel like an all-or-nothing jump. With **Batch Install Plugins from GitHub** v1.1.0, the workflow now opens an interactive browser dialog so users can review the filtered list and choose exactly which plugins to install before the API requests begin.
|
|
|
|
## Key Highlights
|
|
|
|
### 🚀 Interactive Plugin Selection
|
|
- Uses the OpenWebUI `execute` event to open a custom browser dialog
|
|
- Displays the filtered plugin list with checkboxes, type filters, keyword search, plugin descriptions, and repository context
|
|
- Installs only the plugins the user keeps selected
|
|
|
|
### ✅ Smart Safety Features
|
|
- Replaces the basic confirmation event with a richer selective install flow
|
|
- Users can uncheck plugins they do not want without rewriting the request
|
|
- Removes the noisy copy-to-exclude helper when it is not needed
|
|
- Automatically excludes the tool itself from installation
|
|
|
|
### 🌍 Multi-Repository Support
|
|
Install plugins from **any public GitHub repository**, including your own community collections:
|
|
- Use one request to combine multiple repositories in a single grouped picker
|
|
- **Default**: Fu-Jie/openwebui-extensions (my personal collection)
|
|
- Works with public repositories in `owner/repo` format, separated by commas, semicolons, or new lines
|
|
- Mix and match plugins from multiple sources before installation starts
|
|
|
|
### 🔧 Container-Friendly
|
|
- Automatically handles port mapping issues in containerized deployments
|
|
- Smart fallback: retries with localhost:8080 if the primary connection fails
|
|
- Rich debugging logs for troubleshooting
|
|
|
|
### 🌐 Global Support
|
|
- Complete i18n support for 11 languages
|
|
- All error messages localized and user-friendly
|
|
- Works seamlessly across different deployment scenarios
|
|
|
|
## How It Works: Interactive Installation Workflow
|
|
|
|
The `repo` parameter now accepts one or more `owner/repo` values separated by commas, semicolons, or new lines.
|
|
|
|
1. **Start with My Collection**
|
|
```
|
|
"Install all plugins from Fu-Jie/openwebui-extensions"
|
|
```
|
|
Review the selection dialog, keep the plugins you want checked, and then install them.
|
|
|
|
2. **Mix in a Community Collection**
|
|
```
|
|
"Install all plugins from Fu-Jie/openwebui-extensions, iChristGit/OpenWebui-Tools"
|
|
```
|
|
Review both repositories in one grouped dialog, then install only the subset you want.
|
|
|
|
3. **Install a Specific Type Across Repositories**
|
|
```
|
|
"Install only pipe plugins from Haervwe/open-webui-tools, Classic298/open-webui-plugins"
|
|
```
|
|
Pick specific plugin types across repositories, or exclude certain keywords.
|
|
|
|
4. **Use Your Own Public Repository**
|
|
```
|
|
"Install all plugins from your-username/your-collection"
|
|
```
|
|
Works with any public GitHub repository in `owner/repo` format.
|
|
|
|
## Popular Community Collections
|
|
|
|
Ready-to-install from these community favorites:
|
|
|
|
#### **iChristGit/OpenWebui-Tools**
|
|
Comprehensive tools and plugins for various use cases.
|
|
|
|
#### **Haervwe/open-webui-tools**
|
|
Specialized utilities for extending OpenWebUI functionality.
|
|
|
|
#### **Classic298/open-webui-plugins**
|
|
Diverse plugin implementations for different scenarios.
|
|
|
|
#### **suurt8ll/open_webui_functions**
|
|
Function-based plugins for custom integrations.
|
|
|
|
#### **rbb-dev/Open-WebUI-OpenRouter-pipe**
|
|
OpenRouter API pipe integration for advanced model access.
|
|
|
|
## Usage Examples
|
|
|
|
Each line below can be used directly. The third example combines repositories in one request:
|
|
|
|
```
|
|
# Start with my collection
|
|
"Install all plugins"
|
|
|
|
# Add community plugins
|
|
"Install all plugins from iChristGit/OpenWebui-Tools"
|
|
|
|
# Combine repositories in one picker
|
|
"Install all plugins from Fu-Jie/openwebui-extensions, Classic298/open-webui-plugins"
|
|
|
|
# Add only one plugin type from multiple repositories
|
|
"Install only tool plugins from Haervwe/open-webui-tools, Classic298/open-webui-plugins"
|
|
|
|
# Filter out unwanted plugins
|
|
"Install all plugins from Haervwe/open-webui-tools, Classic298/open-webui-plugins, exclude_keywords=test,deprecated"
|
|
|
|
# Install from your own public repository
|
|
"Install all plugins from your-username/my-plugin-collection"
|
|
```
|
|
|
|
## Technical Excellence
|
|
|
|
- **Async Architecture**: Non-blocking I/O for better performance
|
|
- **httpx Integration**: Modern async HTTP client with timeout protection
|
|
- **Selective Install Flow**: The install loop now runs only for the checked plugin subset
|
|
- **Full Event Support**: Proper OpenWebUI `execute` event handling with fallback behavior
|
|
|
|
## Installation
|
|
|
|
1. Open OpenWebUI → Workspace > Tools
|
|
2. Install **Batch Install Plugins from GitHub** from the marketplace
|
|
3. Enable it for your model/chat
|
|
4. Start using it with commands like "Install all plugins"
|
|
|
|
## Links
|
|
|
|
- **GitHub Repository**: https://github.com/Fu-Jie/openwebui-extensions/tree/main/plugins/tools/batch-install-plugins
|
|
- **Release Notes**: https://github.com/Fu-Jie/openwebui-extensions/blob/main/plugins/tools/batch-install-plugins/v1.1.0.md
|
|
|
|
## Community Love
|
|
|
|
If this tool has been helpful to you, please give us a ⭐ on [OpenWebUI Extensions](https://github.com/Fu-Jie/openwebui-extensions) — it truly motivates us to keep improving!
|
|
|
|
**Thank you for supporting the OpenWebUI community! 🙏**
|