feat: 游戏中心系统插件 (Game Center Plugin) - #289
Draft
qiyinxi wants to merge 2 commits into
Draft
Conversation
- Add GameConfig model with Info/Data/Cache fields (preset, platform, provider, install path, emulator binding, Hg auto-patch toggle) - Add game_center core module: base provider ABC, registry (plugin extensible), manager (asyncio task + WS progress) - Add three providers: - miHoYo PC: getGamePackages version check, hdiff incremental patching, 7z/hpatchz tool location - Hypergryph PC: batch_proxy version query, AES-256-CBC config.ini decryption, gated auto-patch with official launcher fallback - ADB APK: dumpsys version read, arknights/reverse1999 version strategies, APK download + adb install -r + monkey launch - Add generic downloader with .part resume, md5 verify, disk space check, parallel multi-part download - Add 13 API routes: CRUD + check/install/cancel/launch/open_official_launcher/install_local_apk/task_status - Add frontend gameCenter page: card grid, progress bar (WS), emulator select, Hg advanced toggle with risk confirm, local APK picker - Register game-center as builtin core page (page_registry + pageDeclarations + AppLayout icon) - Regenerate OpenAPI client with full lifespan (all plugin routes preserved) - Add MCP plugin facade (ctx.mcp.tool() registration, plugin lifecycle integration)
There was a problem hiding this comment.
Sorry @qiyinxi, your pull request is larger than the review limit of 150000 diff characters
- 游戏中心从 app/core 迁移到 plugins/game_center/ 系统插件,启动时 editable 安装 - 移除混入的 mcp_facade.py 及 loader/context/__init__ 中的 MCP 引用 - 还原 mumu.py 模拟器无关改动 - 新增 /close 端点和前端关闭按钮 (PoweroffOutlined) - 修复 pickLocalApk 的 selectFile 返回类型 bug - 安卓游戏启动时自动拉起关联模拟器 (MuMu/雷电) - 新增 GameCenterServiceProtocol 到 auto_mas_core 供其他插件类型标注 - 更新 res/version.json
This was
linked to
issues
Jul 14, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
概述
新增「游戏中心」系统插件,统一管理 PC 端和模拟器端游戏的版本检查、下载安装、启动与关闭。以系统插件形式接入主程序,启动时 editable 安装并发布
game_center服务,其他插件可通过ctx.service.get("game_center")消费。支持的游戏
主要功能
plugins/game_center/,启动时自动 editable 安装,通过ctx.service.set("game_center", ...)发布服务,通过ctx.page.register()注册前端页面auto_mas_core中新增GameCenterServiceProtocol,其他插件可声明wants = ["game_center"]软依赖并获取类型标注register_provider()扩展点,其他插件可注册自定义游戏来源返工清理
mcp_facade.py及loader/context/__init__中的 MCP 引用),该半成品基础设施与游戏中心无关,应独立 PRmumu.py模拟器无关改动 (ADB 地址解析重构)pickLocalApk的selectFile()返回类型 bug (string[]被当作string使用)closeGameApiGameCenterClosePost方法存在、无 MCP 相关生成架构
验证
compileall -q app plugins/game_center main.py通过yarn format/yarn lint0 错误vue-tsc --noEmit0 错误game-center页面注册成功,无报错closeGameApiGameCenterClosePost方法存在res/version.json已更新 (CI 版本检查)注意