[![](https://img.shields.io/badge/OpenWebUI%20Community-Get%20Plugin-blue?style=for-the-badge)](https://openwebui.com/t/fujie/batch_install_plugins) ## Overview Batch Install Plugins from GitHub is a new tool for OpenWebUI that enables one-click installation of multiple plugins directly from GitHub repositories. This initial release includes comprehensive features for discovering, filtering, and installing plugins with user confirmation, extensive multi-language support, and robust debugging capabilities for container deployments. **[📖 README](https://github.com/Fu-Jie/openwebui-extensions/blob/main/plugins/tools/batch-install-plugins/README.md)** ## Features - **One-Click Installation**: Install all plugins from a repository with a single command - **Smart Plugin Discovery**: Parse Python files to extract metadata and validate plugins automatically - **Multi-Type Support**: Support Pipe, Action, Filter, and Tool plugins in a single operation - **Confirmation Dialog**: Display plugin list before installation for user review and approval - **Selective Installation**: Exclude specific plugins using keyword-based filtering - **Smart Fallback**: Container deployments auto-retry with localhost:8080 if primary connection fails - **Enhanced Debugging**: Rich frontend JavaScript and backend Python logs for troubleshooting - **Extended Timeout**: 120-second confirmation window for thoughtful decision-making - **Async Architecture**: Non-blocking I/O operations for better performance - **Full Internationalization**: Complete support for 11 languages with proper fallback maps - **Auto-Update**: Automatically updates previously installed plugins - **Self-Exclusion**: Automatically excludes the tool itself from batch operations ## Technical Highlights - **httpx Integration**: Modern async HTTP client for reliable, non-blocking requests - **Event Emitter Support**: Proper handling of OpenWebUI event injection with fallbacks - **Timeout Protection**: Wrapped frontend execution with timeout guards to prevent hanging - **Filtered List Consistency**: Uses single source of truth for confirmation and installation - **Error Localization**: All error messages are user-facing and properly localized across languages - **Deployment Resilience**: Intelligent base URL resolution handles domain, localhost, and containerized environments ## Supported Repositories - **Default**: Fu-Jie/openwebui-extensions (strict validation) - **Custom**: Any GitHub repository with Python plugin files ## Testing Comprehensive regression tests included: - Filtered installation list consistency - Missing event emitter handling - Confirmation timeout verification - Full failure scenarios - Localization completeness - Connection error debug logging and smart fallback All 6 tests pass successfully. ## Documentation - English README with flow diagrams and usage examples - Chinese README (README_CN.md) with complete translations - Mirrored documentation for official docs site - Plugin index entries in both English and Chinese ## Compatibility - OpenWebUI: 0.2.x - 0.8.x - Python: 3.9+ - Dependencies: httpx (async HTTP client), pydantic (type validation) ## Release Notes - This initial v1.0.0 release includes complete plugin infrastructure with smart deployment handling. - The plugin is designed to handle diverse deployment scenarios (domain, localhost, containerized) with minimal configuration.