[![](https://img.shields.io/badge/OpenWebUI%20Community-Get%20Plugin-blue?style=for-the-badge)](https://openwebui.com/t/fujie/batch_install_plugins)

## 概述

从 GitHub 批量安装插件是一款全新的 OpenWebUI 工具，支持直接从 GitHub 仓库一键安装多个插件。此首个发布版本包含了全面的插件发现、过滤和安装功能，支持用户确认流程、广泛的多语言支持，以及针对容器部署的健壮调试能力。

**[📖 README](https://github.com/Fu-Jie/openwebui-extensions/blob/main/plugins/tools/batch-install-plugins/README_CN.md)**

## 主要功能

- **一键安装**：通过单个命令安装仓库中的所有插件
- **智能插件发现**：解析 Python 文件提取元数据并自动验证插件
- **多类型支持**：在单个操作中支持 Pipe、Action、Filter 和 Tool 插件
- **确认对话框**：安装前显示插件列表供用户审查和批准
- **选择性安装**：通过基于关键词的过滤排除特定插件
- **智能降级**：容器环境中主 URL 连接失败时自动重试 localhost:8080
- **增强调试**：前端 JavaScript 和后端 Python 富日志输出，便于排查问题
- **延长超时**：120 秒确认窗口，给用户充分的思考时间
- **异步架构**：非阻塞 I/O 操作，性能更优
- **完整国际化**：支持 11 种语言，包含适当的回退机制
- **自动更新**：自动更新之前安装过的插件
- **自排除机制**：自动排除工具自身，避免在批量操作中重复安装

## 技术亮点

- **httpx 集成**：现代化的异步 HTTP 客户端，请求更可靠且非阻塞
- **事件注入支持**：正确处理 OpenWebUI 事件注入，提供回退支持
- **超时保护**：前端执行周围包装了超时保护，防止进程挂起
- **过滤列表一致性**：确认和安装使用同一份过滤列表
- **错误本地化**：所有错误消息都是面向用户的，已正确本地化到各语言
- **部署弹性**：智能 Base URL 解析处理域名、localhost 和容器化环境

## 支持的仓库

- **默认**：Fu-Jie/openwebui-extensions（严格验证）
- **自定义**：任意 GitHub 仓库中的 Python 插件文件

## 测试覆盖

包含全面的回归测试：
- 过滤安装列表一致性
- 缺少事件注入器时的处理
- 确认超时验证
- 完全失败场景
- 本地化完整性
- 连接错误调试日志和智能降级

所有 6 个测试均通过。

## 文档

- 英文 README，包含流程图和使用示例
- 中文 README (README_CN.md)，完整翻译
- 官方文档站点的镜像文档
- 英文和中文的插件索引条目

## 兼容性

- OpenWebUI：0.2.x - 0.8.x
- Python：3.9+
- 依赖：httpx（异步 HTTP 客户端）、pydantic（类型验证）

## 发布说明

- 本首发 v1.0.0 版本包含完整的插件基础设施和智能部署处理能力。
- 该插件设计用于处理多种部署场景（域名、localhost、容器化），配置最少。

