games-development-ai/docs/architecture/2026-06-06-v2模块架构与MVP覆盖度.md
zizi 824183864e docs(architecture): 重构为产品/技术/映射三文档 + MVP 迁移产品功能口径
- 去版本化:能力清单拆为三文档(产品需求清单/技术架构与模块/需求模块映射),
  文件名去 v2.1 版本号为唯一权威副本;删除混合视角旧档《业务能力全景与模块归属》,
  ~20 处交叉引用重定向(git 留史)
- 模块 12→13:新增 game-module-studio(创作编排域),aigc 收敛为无状态生成原子;
  锁风门 Gate(owner=compliance)、专区 Zone(owner=project) 两横切显式建模
- MVP 口径迁移:验收单位由"能力项(131)"改为 Doc A 的 55 项 P0 产品功能,
  工作量≈137 技术项;CLAUDE/AGENTS/mvp-scope/执行 spec §7/工作流 全链同步
- 三轮评审(人工 + 3 独立 Opus)findings 已修复:0 断链/0 孤儿/0 重复 ID,
  计数 155/204/137 实测自洽;glossary 补锁风门/专区/创作会话/资产图术语
- 新增 docs/memorys 任务记忆与 agent-specs 重划/prompt 治理评审依据

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-07 12:38:14 +00:00

17 KiB
Raw Blame History

绘境AI — 项目模块架构与 MVP 覆盖度(前端覆盖核对版)

⚠️ 模块结构部分已被取代2026-06-07:本文所列为旧 8 后端模块 视角(无 game-module-studio、无锁风门 Gate / 专区 Zone 映射)。模块清单与技术功能以 Doc B 2026-06-07-技术架构与模块.md13 模块为准MVP 范围以 .agents/knowledge/mvp-scope-and-milestones.mddocs/agent-specs/2026-06-07-模块重划分-review.md 为准。 本文保留价值在于其独有的「PRD → 三仓三端前端页面覆盖核对」与 game-cloud 目录结构细节(这两部分 Doc B 未覆盖)。

生成时间2026-06-06 命名约定game-cloud / game-admin / game-studio 设计原则:云原生、职责单一、独立部署、按需扩缩


1. 三模块定位

模块 一句话定位 面向谁 技术栈
game-cloud 统一后端Yudao Cloud fork 二开) 所有前端 Java 17 + Spring Cloud Alibaba + MySQL
game-admin 管理后台前端 运营/管理员 Vue3 + Element Plus (yudao-ui-admin-vue3 fork)
game-studio 产品端前端(创作+消费) 创作者/玩家 Vue3 + Vant + Vite移动优先

2. 目录结构

game-cloud后端 monorepo

game-cloud/
├── game-gateway/                           # API 网关
│   └── src/main/resources/application.yaml # 路由规则、限流、CORS
│
├── game-framework/                         # 通用框架扩展(基于 yudao-framework
│   ├── game-spring-boot-starter-security/  # OAuth2 + 匿名玩家 token
│   └── game-spring-boot-starter-mq/        # RocketMQ 消息定义
│
├── game-module-system/                     # 【Yudao 原生】用户/角色/权限/租户/字典/OAuth2/短信
├── game-module-infra/                      # 【Yudao 原生】文件存储/定时任务/消息中心/操作日志
├── game-module-bpm/                        # 【Yudao 原生】工作流引擎Flowable
│
├── game-module-project/                    # 【二开】游戏项目与生命周期
│   ├── game-module-project-api/            #   DTO/枚举/Feign 接口
│   └── game-module-project-biz/            #   Controller/Service/DO/Mapper
│       ├── controller/admin/               #     后台管理接口
│       ├── controller/app/                 #     产品端接口(创作者用)
│       ├── service/project/                #     项目 CRUD
│       ├── service/version/                #     版本状态机
│       ├── service/draft/                  #     设计草稿/分节
│       └── service/publish/                #     发布申请/审核对接 BPM
│
├── game-module-aigc/                       # 【二开】AI 生成引擎
│   ├── game-module-aigc-api/
│   └── game-module-aigc-biz/
│       ├── controller/app/                 #     创作者发起生成
│       ├── service/prompt/                 #     Prompt 解析 + 安全检测
│       ├── service/template/               #     玩法模板引擎(跑酷/躲避/收集/解谜/合成)
│       ├── service/llm/                    #     LLM 适配器(通义/DeepSeek/OpenAI
│       ├── service/generation/             #     生成任务编排MQ 异步)
│       └── service/fallback/               #     确定性回退生成器
│
├── game-module-runtime/                    # 【二开】游戏运行时与包交付
│   ├── game-module-runtime-api/
│   └── game-module-runtime-biz/
│       ├── controller/app/                 #     预览包交付端点(按版本)
│       ├── service/compiler/               #     GameConfig → 可运行 Web 包
│       ├── service/package/                #     包存储/版本化/checksum
│       └── service/conversion/             #     小游戏转换(微信/抖音/快手)
│
├── game-module-feed/                       # 【二开】游戏流与玩家互动
│   ├── game-module-feed-api/
│   └── game-module-feed-biz/
│       ├── controller/app/                 #     游戏流列表/互动/举报(玩家用)
│       ├── controller/admin/               #     推荐管理/精选池/降权(运营用)
│       ├── service/recommend/              #     推荐引擎(规则+行为信号)
│       ├── service/interaction/            #     点赞/收藏/分享/举报
│       └── service/share/                  #     分享页/分享卡片元数据
│
├── game-module-telemetry/                  # 【二开】遥测与数据
│   ├── game-module-telemetry-api/
│   └── game-module-telemetry-biz/
│       ├── controller/app/                 #     /events/batch 事件摄取
│       ├── controller/admin/               #     数据看板(运营全局视图)
│       ├── service/ingest/                 #     事件校验/限流/入库
│       ├── service/aggregate/              #     定时聚合(曝光/试玩/互动/留存)
│       └── service/dashboard/              #     创作者看板数据查询
│
└── deploy/
    ├── docker-compose.yml                  # 全栈本地启动
    ├── docker-compose.middleware.yml        # 仅中间件
    ├── sql/                                # 初始化 SQL含 seed 数据)
    └── nacos/                              # Nacos 配置导入

game-admin管理后台前端

game-admin/                                 # fork yudao-ui-admin-vue3
├── src/
│   ├── views/
│   │   ├── system/                         # 【Yudao 原生】用户/角色/菜单/字典/租户
│   │   ├── infra/                          # 【Yudao 原生】文件/任务/日志/代码生成
│   │   ├── bpm/                            # 【Yudao 原生】流程定义/审批
│   │   │
│   │   ├── game/                           # 【二开】游戏业务后台
│   │   │   ├── project/                    #   项目列表/详情/状态/创作者归属
│   │   │   ├── version/                    #   版本管理/状态流转
│   │   │   ├── review/                     #   审核队列/试玩预览/通过/拒绝/下架
│   │   │   ├── template/                   #   玩法模板 CRUD/参数配置
│   │   │   ├── feed/                       #   推荐管理/精选池/曝光控制/降权
│   │   │   ├── telemetry/                  #   全局数据看板
│   │   │   ├── creator/                    #   创作者管理/等级/扶持
│   │   │   └── content-safety/             #   内容安全/违规记录/封禁
│   │   └── ...
│   ├── api/game/                           # 游戏业务 API 定义
│   └── ...
├── package.json
└── vite.config.ts

game-studio产品端前端

game-studio/                                # 独立项目,面向创作者+玩家
├── src/
│   ├── views/
│   │   ├── auth/                           # 登录/注册/手机号验证
│   │   │
│   │   ├── feed/                           # 游戏流(首页)
│   │   │   ├── FeedPage.vue                #   滑动即玩列表
│   │   │   ├── GameCard.vue                #   游戏封面卡片
│   │   │   └── FeedInteraction.vue         #   点赞/收藏/分享/举报浮层
│   │   │
│   │   ├── play/                           # 试玩
│   │   │   ├── PlayPage.vue                #   游戏运行页Canvas 容器)
│   │   │   ├── GameResult.vue              #   游戏结束/分数/再玩/下一个
│   │   │   └── SharePage.vue              #   外部分享落地页
│   │   │
│   │   ├── creator/                        # 创作工作台
│   │   │   ├── ProjectList.vue             #   我的项目列表
│   │   │   ├── CreateProject.vue           #   创建项目Prompt/模板选择)
│   │   │   ├── GenerationStatus.vue        #   生成进度/成功/失败/重试
│   │   │   ├── DraftEditor.vue             #   草稿编辑(标题/简介/封面/标签/参数)
│   │   │   ├── PreviewPlay.vue             #   预览试玩
│   │   │   └── PublishFlow.vue             #   发布流程/检查清单
│   │   │
│   │   ├── profile/                        # 创作者中心
│   │   │   ├── MyGames.vue                 #   已发布游戏+状态
│   │   │   ├── GameStats.vue               #   单游戏数据看板
│   │   │   └── CreatorHome.vue             #   公开主页
│   │   │
│   │   └── discover/                       # 发现P1
│   │       ├── CategoryPage.vue            #   分类/标签浏览
│   │       └── SearchPage.vue              #   搜索
│   │
│   ├── components/
│   │   ├── game-runtime/                   # 游戏运行时组件
│   │   │   ├── GameContainer.vue           #   Canvas 容器 + 生命周期管理
│   │   │   ├── GameLoader.vue              #   资源加载 + 进度 + 错误兜底
│   │   │   └── GameControls.vue            #   操作提示/暂停/退出
│   │   └── shared/                         # 通用 UI
│   │       ├── NavBar.vue
│   │       ├── TabBar.vue
│   │       └── ErrorFallback.vue
│   │
│   ├── api/                                # 后端 API 对接
│   │   ├── auth.ts
│   │   ├── project.ts
│   │   ├── aigc.ts
│   │   ├── feed.ts
│   │   ├── interaction.ts
│   │   ├── telemetry.ts
│   │   └── runtime.ts
│   │
│   ├── stores/                             # Pinia 状态管理
│   │   ├── user.ts
│   │   ├── player.ts
│   │   └── creation.ts
│   │
│   ├── router/
│   ├── utils/
│   └── App.vue
│
├── public/
├── index.html
├── package.json
├── vite.config.ts
└── Dockerfile

3. MVP 功能覆盖度检查

逐条对照 MVP PRD Functional Requirements

P0AI游戏创作工作台

PRD 需求 game-cloud 模块 game-studio 页面 game-admin 页面 覆盖
自然语言生成游戏 aigc → prompt + generation creator/CreateProject
模板化创作入口 aigc → template creator/CreateProject game/template
素材与风格配置 aigc + infra-file creator/CreateProject
预览与轻量编辑 runtime → compiler + package creator/DraftEditor + PreviewPlay
生成任务状态 aigc → generation (MQ) creator/GenerationStatus

P0游戏发布与管理

PRD 需求 game-cloud 模块 game-studio 页面 game-admin 页面 覆盖
站内发布 project → publish + bpm creator/PublishFlow game/review
游戏版本管理 project → version profile/MyGames game/version
游戏状态管理 project → version (状态机) profile/MyGames game/project
分享能力 feed → share play/SharePage

P0游戏流与玩家体验

PRD 需求 game-cloud 模块 game-studio 页面 game-admin 页面 覆盖
游戏流浏览 feed → recommend feed/FeedPage
即点即玩 runtime → 包交付 play/PlayPage + GameContainer
互动反馈 feed → interaction feed/FeedInteraction
基础推荐 feed → recommend feed/FeedPage game/feed

P0内容审核与运营后台

PRD 需求 game-cloud 模块 game-studio 页面 game-admin 页面 覆盖
审核队列 project → publish + bpm game/review
内容安全检测 aigc → prompt (安全) + infra game/content-safety
推荐管理 feed → recommend game/feed

P0账号与权限

PRD 需求 game-cloud 模块 game-studio 页面 game-admin 页面 覆盖
用户登录 system (OAuth2/SMS) auth/ system/(原生)
角色权限 system (RBAC) system/(原生)
用户资料 system (user profile) profile/CreatorHome

P1创作者数据看板

PRD 需求 game-cloud 模块 game-studio 页面 game-admin 页面 覆盖
单游戏数据概览 telemetry → dashboard profile/GameStats
创作者主页 project + telemetry profile/CreatorHome game/creator
数据反馈建议 telemetry → aggregate profile/GameStats

P1外部分发验证

PRD 需求 game-cloud 模块 game-studio 页面 game-admin 页面 覆盖
分享页适配 feed → share play/SharePage
渠道参数 telemetry → ingest game/telemetry
小游戏包导出 runtime → conversion game/project (导出入口)

4. 遗漏分析

# MVP 需求 当前三模块能否覆盖 结论
1 匿名玩家(无需登录试玩,互动时触发登录) game-cloud system 需扩展匿名 token 机制 在 framework 层扩展,不需要新模块
2 内容安全检测(文本/图片/素材) 需要对接外部内容安全 API阿里绿网/腾讯天御) 在 aigc 模块加 service/safety/不需要新模块
3 游戏运行容器(前端 Canvas 沙箱) 纯前端能力,在 game-studio components/game-runtime/ 已覆盖
4 CDN 加速(游戏资源/封面) 部署层配置,不是代码模块 deploy 配置解决
5 数据导出(团队复盘/投资人汇报) telemetry-admin 加导出接口 已覆盖
6 未成年人保护/防沉迷 MVP 后置,但需要字段预留 system 用户表加 birthDate不需要新模块

结论:三模块 + 内部子模块拆分,完整覆盖 MVP PRD无需第四个模块。


5. 如果未来需要拆分

当以下条件触发时,从 game-cloud 中拆出独立可部署服务:

触发条件 拆出模块 原因
AI 生成调用量大、LLM 超时影响主服务 game-aigc-server 独立部署 隔离 LLM 的不稳定性,独立扩缩
游戏流 QPS 高、推荐计算重 game-feed-server 独立部署 高并发读,独立缓存策略
事件量爆增、数据看板查询慢 game-telemetry-server 独立部署 写入密集型,可独立用 ClickHouse
游戏包构建 CPU 密集 game-runtime-server 独立部署 编译/转换是 CPU 密集型

MVP 阶段所有业务模块可以跑在同一个 JVM 里(单体启动模式),通过 Nacos 配置切换为微服务模式。 这是 Yudao Cloud 原生支持的能力。


6. 云原生能力映射

云原生关注点 实现方式
服务注册/发现 Nacos
配置中心 Nacos多环境、热更新
API 网关 Spring Cloud Gateway路由/限流/熔断/CORS
容器化 每个模块独立 Dockerfile + docker-compose
编排 Docker Compose 先行 → 后续 K8s Deployment/Service
健康检查 Spring Boot Actuator /health + readiness/liveness probe
可观测性 OpenTelemetry + Prometheus + Grafanametrics/traces/logs
弹性伸缩 K8s HPACPU/QPS 触发)
消息异步 RocketMQ生成任务/审核通知/事件摄取)
对象存储 MinIO本地/ 阿里云 OSS生产
CI/CD GitHub Actions / GitLab CI → 镜像构建 → 推送 → 滚动更新
灰度发布 Gateway 路由权重 / K8s canary deployment
密钥管理 Nacos 加密配置 / K8s Secret

7. 总结

graph LR
  subgraph 前端
    STUDIO[game-studio<br/>Vue3+Vant<br/>创作者+玩家]
    ADMIN[game-admin<br/>Vue3+ElementPlus<br/>运营+管理]
  end

  subgraph 后端
    GW[Gateway]
    subgraph game-cloud
      SYS[system]
      INFRA[infra]
      BPM[bpm]
      PROJ[project]
      AIGC[aigc]
      RT[runtime]
      FEED[feed]
      TELE[telemetry]
    end
  end

  subgraph 中间件
    NACOS[Nacos]
    MYSQL[MySQL]
    REDIS[Redis]
    MQ[RocketMQ]
    MINIO[MinIO]
  end

  STUDIO --> GW
  ADMIN --> GW
  GW --> SYS & INFRA & BPM & PROJ & AIGC & RT & FEED & TELE

三模块职责清晰MVP PRD 全覆盖,无遗漏,无需新增第四模块。云原生能力通过 Nacos + Gateway + Docker + 可观测性栈落地MVP 用 Compose 单机启动,生产平滑迁移 K8s。