Skip to content

v7.4.0 - 模块化架构重构

Choose a tag to compare

@arwei944 arwei944 released this 19 May 23:33
· 14 commits to main since this release

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