v7.4.0 - 模块化架构重构
v7.4.0 - 模块化架构重构
🎯 核心变更
Phase 1: 模块化架构基础
- 创建 backend/ 模块化目录结构 (8 个子模块)
- Pydantic Settings 配置管理
- 异步 GitHubClient (httpx AsyncClient, 连接池, 自动分页)
- AppError 统一错误处理体系 (8 种异常类型)
- 中间件独立模块 (auth / rate_limit / cache)
- SQLite 数据库连接管理 (WAL 模式)
- FastAPI lifespan 生命周期管理
Phase 2: MCP 服务重构
- BaseTool 抽象基类 + ToolParameter + ToolResult
- ToolRegistry 注册表 (register/call/list_tools)
- 30 个 MCP 工具从 if-elif 链迁移到独立类
- 21 个 GitHub 工具 / 3 个 HF 工具 / 1 个 Shell 工具
- 1 个 Proxy 工具 (SSRF 防护) / 2 个 Project 工具 / 2 个 Config 工具
- Shell 安全策略 (白名单 + 黑名单)
Phase 3: 路由桥接层
- 路由注册器从 app.py 桥接 247 个 API 路由
- 所有端点路径和参数完全兼容
Phase 4: 基础设施升级
- 异步事件总线 (pub/sub, 通配符, 12 种事件类型)
- LRU 缓存 (TTL 过期, 线程安全, 命中率统计)
- 审计日志 (环形缓冲区, 过滤查询)
- MCP 工具调用自动记录事件和审计日志
Phase 5: 前端优化
- 4 个通用 Hook (useFetch/useDebounce/useLocalStorage/useToggle)
- Vite 代码分割 (react/markdown/diff/charts 独立 chunk)
部署管理整合
- deploy_tool.py 核心逻辑迁移到 backend/services/
- 8 个部署 API 端点 (单部署/批量/状态/历史/Space 监控)
📊 影响范围
- 涉及文件: 42 files changed
- 新增代码: 3841+
- 删除代码: 35-
✅ 兼容性
- API 端点: 完全兼容 (247 个端点零中断)
- MCP 协议: 完全兼容 (30 个工具)
- 前端: 完全兼容
- 环境变量: 新增 pydantic-settings 依赖
🧪 测试
- 单元测试: 65/65 passed
📦 部署
docker pull ghcr.io/arwei944/github-mirror:v7.4.0
docker run -d -p 7860:7860 ghcr.io/arwei944/github-mirror:v7.4.0