Files
Fu-Jie_openwebui-extensions/plugins/tools/batch-install-plugins/v1.0.0.md
fujie cea31fed38 feat(batch-install-plugins): initial release v1.0.0
Add Batch Install Plugins from GitHub tool with:
- One-click installation of plugins from GitHub repositories
- Smart plugin discovery with metadata extraction and validation
- Confirmation dialog with plugin list preview
- Selective installation with keyword-based filtering
- Smart fallback: auto-retry with localhost:8080 on connection failure
- Enhanced debugging with frontend and backend logging
- 120-second confirmation timeout for user convenience
- Async httpx client for non-blocking I/O
- Complete i18n support across 11 languages
- Event emitter handling with fallback support
- Timeout guards on frontend JavaScript execution
- Filtered list consistency for confirmation and installation
- Auto-exclusion of tool itself from batch operations
- 6 regression tests with 100% pass rate

Documentation includes:
- English and Chinese READMEs with flow diagrams
- Popular repository examples (iChristGit, Haervwe, Classic298, suurt8ll)
- Mirrored docs for official documentation site
- Plugin index entries in both languages
- Comprehensive release notes (v1.0.0.md and v1.0.0_CN.md)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-15 17:45:42 +08:00

3.3 KiB

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

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.