Releases: arwei944/github-mirror
Releases · arwei944/github-mirror
v7.6.0 - CDN Cache Busting & Route Fixes
What's New
CDN Cache Busting
- Add version suffix (-v7.6.0) to all frontend chunk filenames
- Forces HF Space CDN to fetch new files instead of using cached old versions
- Fixes 'Failed to fetch dynamically imported module' error
Route Fixes
- Fix route ordering: specific routes now mounted before catch-all proxy
- Fix API error handling: return empty array instead of 500 when GitHub API fails
- Fix dashboard data loading: repos now fetched via /api/github/repos API
- Fix trending repos 'loading...' stuck issue
Version Updates
- Bump version from 7.5.0 to 7.6.0 across all files
- Update vite.config.js, config.py, version.js, Dockerfile
- Rebuild frontend with new version suffix
Stats
- 88 tests passing
- 195 API endpoints
- 10 router modules
- 30 MCP tools
v7.5.0 - 完全模块化架构
重大变更
- 移除 app.py 桥接层 — 运行时不再依赖 6450 行的单体文件
- 195 个 API 路径 分布在 10 个独立路由模块中
新增模块
| 模块 | 路由数 | 职责 |
|---|---|---|
github_repos.py |
178 | 仓库/Issues/PRs/Labels/Milestones/Releases/Branches/Contents/Commits/Webhooks/Reactions 等 |
github_actions.py |
20 | Workflows/Runs/Secrets/Artifacts/Runners |
github_misc.py |
9 | Activity/Notifications/Search/GraphQL/Trending |
架构
backend/
├── main.py # 应用入口 (无桥接层)
├── config.py # Pydantic Settings
├── routers/
│ ├── github_repos.py # 仓库相关 API
│ ├── github_actions.py # Actions API
│ ├── github_misc.py # 杂项 API
│ ├── github_proxy.py # Catch-all 代理
│ ├── mcp.py # MCP 协议
│ ├── webhooks.py # Webhook 接收
│ ├── sync.py # 数据同步
│ ├── system.py # 系统管理
│ └── deploy.py # HF 部署
├── core/
│ ├── events.py # 事件总线
│ ├── cache_v2.py # LRU 缓存
│ ├── audit.py # 审计日志
│ └── shared_state.py # 共享状态
├── mcp_tools/ # MCP 工具集
└── clients/ # GitHub HTTP 客户端
测试
- 65 个单元测试全部通过
- 服务启动验证通过
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.0v6.5.0 - Streamable HTTP Transport
🚀 What's New
MCP Streamable HTTP 传输支持
新增 Streamable HTTP 传输协议端点,兼容 SOLO、Claude Desktop 等新版 MCP 客户端。
- ✅ POST /mcp — Streamable HTTP 端点(推荐)
- ✅ GET /mcp — 客户端探测端点(返回 405)
- ✅ GET /mcp/sse/message — SSE 探测端点(返回 405)
- ♻️ 提取公共 JSON-RPC 处理函数
_handle_mcp_jsonrpc() - 📝 更新 README 双传输协议文档
Bug Fixes
- 修复 SOLO 客户端连接 MCP 服务器时 HTTP 405 Method Not Allowed 错误
- 修复 Streamable HTTP 客户端探测请求导致的初始化失败
MCP 客户端配置
{
"mcpServers": {
"github-mirror": {
"url": "https://arwei944-github-mirror.hf.space/mcp"
}
}
}Full Changelog: v6.4.0...v6.5.0