docs(architecture): 核心设计档全线对齐现行真相(技术决策版/开发团队版/投资人版/护城河)

承接核心设计文档真相对齐,创始人批『全部核心档一起对齐』。废弃选型(Dify/OpenGame/自研Canvas/ComfyUI/AgentScope)曾被当现行架构详述,新接手照信即落废栈。

技术决策版(架构基线 1528→1562):4 张 Mermaid 重画(DIFY/OG/COMFY/CANVAS_RT→new-api/SAA/mmx/LittleJS)+3 选型表翻面+删虚构字段 dify_workflow_id+MQ/Nacos 标 future-state(框架自带·MVP未部署)+顶部横幅升 v2.1+决策索引补 6 行。

开发团队版(13处)/投资人版(8处)/护城河(5处):事实性技术栈改现行,工程目标态细节+护城河论述/愿景保留;Doc B 那处 AgentScope 已是『作废→SAA』现行标注。事实核查据 contracts/+game-cloud 实测。Mermaid 结构校验通过未真渲染→建议 mini-desktop 终确认。待定夺=成本或高估(¥4,300按纪律未改)。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
zizi 2026-06-16 12:24:46 +00:00
parent 45ec5cc6c3
commit 8e7ace3ec3
5 changed files with 252 additions and 198 deletions

View File

@ -1,6 +1,6 @@
# 技术决策版重写 — 计划(评审版)
> 状态: PLAN待创始人批准后执行**未动正文** · 更新: 2026-06-16
> 状态: **已执行**2026-06-16创始人批"全部核心档对齐":技术决策版/开发团队版/投资人版/护城河话术 4 档已对齐Doc B 那处 AgentScope 已是"作废→SAA"现行标注无需改 · 更新: 2026-06-16
> 目标档:`docs/architecture/系统概要设计-技术决策版.md`AGENTS §4 必读·**架构基线**1527 行)
> 由来2026-06-16 目录治理追问"哪些核心设计档需重写"——审计实测此档 96 处废弃选型词 vs 11 处现行词,是唯一真·过期权威基线(详见 [`2026-06-16-agent-specs目录治理-review.md`](2026-06-16-agent-specs目录治理-review.md))。
@ -47,8 +47,19 @@
2. 主代理负责事实核查MQ/Nacos/字段名据 contracts 核实)+ Mermaid 渲染校验 + 终审。
3. 同步评估其它核心档:**开发团队版48 处废弃词)**——是逐节改写还是强化其"别信、看 .agents"降级横幅Doc B1 处 AgentScope顺手改。
## 待你确认
## 待你确认(已答复:全部核心档一起对齐 ✓ 已执行)
1. 批准"**逐节改写、不降级**"方向?
2. 重写范围:**只技术决策版**,还是**连带开发团队版**48 处)一起做?
3. 投资人版/护城河话术的旧选型表述:保留为愿景 / 一并对齐?
1. ~~批准"逐节改写、不降级"方向?~~ → 已批准并执行。
2. ~~范围~~ → 全部核心档(技术决策版/开发团队版/投资人版/护城河话术)已对齐。
3. ~~投资人版/护城河~~ → 已对齐:事实性技术栈改现行,护城河论述/愿景保留。
## 执行后 · 待创始人定夺R3 投资人向 flag均不影响已对齐的技术口径纯商业指标
1. **月成本可能高估**:现行**无独立自建 AI 推理/GPU 机**(生成走 new-api 外部 API、SAA 进程内跑后端 JVM、美术走 mmx-cli 外部)——投资人版 §7.1 服务器档位/月成本实际可能 **< ¥4,300**。按纪律**未改总额**,是否下修?
2. **LLM 单次成本**W-G1 实测便宜模型 **¥0.010.03/款**(经 new-api< BP 假设的 ¥0.050.1是否下修以强化资本效率叙事
3. **mmx-cli quota**:已替代 ComfyUI 进入美术/音乐线,是否在对外成本表单列一行 mmx API 费(创始人已要求"盯用量=quota 对账入成本台账"
## 验证留痕2026-06-16
- 技术决策版54 围栏(偶)、18 Mermaid、旧节点 ID(OPENGAME/CANVAS_RT/COMFY) 残留 **0**`dify_workflow_id` **0**`participant DIFY` **0**MQ/Nacos 25 处保留并标 future-state。
- 4 张 Mermaid 经**结构校验**(围栏平衡+标签引号+零旧节点 ID通过**未在本机真渲染**chrome/mmdc 受限)→ 建议 mini-desktop 或浏览器扫一眼 4 图终确认。

View File

@ -65,11 +65,11 @@
| BP 术语 | DD 桌上的诚实口径 |
|---|---|
| IP 专属定向微调垂类模型 | "通用 LLM 做底座,为每个 IP 训练**画风 LoRA**ComfyUI/Flux/SDXL保证系列一致。**没有自训垂类大模型。**" |
| IP 专属定向微调垂类模型 | "通用 LLM 做底座,美术现行经 **mmx-cliMiniMax** 出系列一致素材(按需可叠 IP 画风 LoRAComfyUI/Flux/SDXL 为备选路径)。**没有自训垂类大模型。**" |
| 四层画风锁风校验算法 | "风格指纹嵌入比对 + 阈值门 + 三档人审(标准/严格/人工)。**不是高深算法**,是让非独家 IP 能安全规模化使用的工程 + 合规流程。" |
| 轻量化 H5 游戏引擎 | "轻量 H5 运行时——自研的是**宿主控制层**Runner + iframe 沙箱 + SDK 注入),渲染引擎层用成熟开源轻引擎(可替换),保 P75<3s 首屏与平台控制点复杂 2D/3D Cocos**不自研引擎**" |
| 全域一键分发调度系统 | "以微信小游戏格式包为枢纽的多渠道转换 + 渠道适配规则库 + 发布状态机。**快手经格式转换 + 真机验证,不是全自动。**" |
| AI + 人工双层风控 | "机审(自部署快检 + 阿里云内容安全 + Dify Guardrails+ 人审队列BPM。行业合规标配我们做扎实了。" |
| AI + 人工双层风控 | "机审(自部署快检 + 阿里云内容安全 + Prompt 注入检测/输出 schema 校验+ 人审队列BPM。行业合规标配我们做扎实了。" |
| 流量双轨推荐算法 | "MVP 是**规则线性加权打分** + 授权IP/UGC 双区分区运营;千人千面 ML 是数据积累后的增长期演进。" |
### B2. 四条红线措辞(尽调前全网改口)
@ -83,13 +83,13 @@
### B3. 自研边界(清楚地讲"自研什么、不自研什么"
- **自研(必须自掌——控制点 + 数据入口)**运行时宿主层Runner + iframe 沙箱 + SDK 注入渲染引擎为可替换的开源轻引擎不自研、feed 推荐、telemetry 数据底座、变现链路(钱包/分账/广告位)。
- **不自研(省 6-12 月 + 千万级,且可替换无锁定)**:大模型、生成 AgentOpenGame、编排Dify、后台Huijing、素材生成ComfyUI、内容安全阿里云、复杂引擎Cocos远期
- **不自研(省 6-12 月 + 千万级,且可替换无锁定)**:大模型、多模型网关new-api接通用 LLM、后台Huijing、素材生成mmx-cliComfyUI 备选、内容安全阿里云、复杂引擎Cocos远期;编排用 SAASpring AI Alibaba裸图、轻引擎用 LittleJS均开源、可替换。生成 AgentOpenGame/可视化编排Dify列为远期增强、当前不部署
### B4. CTO 会戳的三个点 + 怎么答
| CTO 戳 | 怎么答 |
|---|---|
| "这六项不就是 Dify+ComfyUI+Huijing+阿里云拼的吗?" | "对,而且是刻意的。自研这些要 6-12 月烧千万,我们 4-6 周集成,省下的全投在竞品没有的 feed/变现/SDK 上。自研边界很清楚(见 B3。" |
| "这六项不就是网关+开源框架+阿里云拼的吗?" | "对,而且是刻意的。生成走 new-api 网关接通用 LLM、编排用 SAA 裸图、美术用 mmx-cli、后台 Huijing、安全阿里云——自研这些要 6-12 月烧千万,我们数周集成,省下的全投在竞品没有的 feed/变现/SDK 上。自研边界很清楚(见 B3。" |
| "锁风是什么高深算法?" | "不是。嵌入比对 + 阈值 + 人审。我们不声称算法领先——它解决的是工程和合规问题:让非独家 IP 安全规模化。价值在流程,不在算法。" |
| "轻量 runtime 有什么了不起?" | "运行时本身不了不起——渲染引擎我们直接用成熟开源轻引擎。了不起的是控制点:广告/支付在宿主侧注入、游戏沙箱零网络权限——决定了变现能否被平台掌控、合规边界划在哪。是工程选择,不是炫技。" |
@ -97,7 +97,7 @@
- **13 模块高内聚低耦合 + 契约先行**Feign `-api` 包声明)+ 单 JAR 起步可平滑拆微服务。
- **沙箱安全铁律**iframe `sandbox` + CSP `connect-src 'none'` + postMessage 来源/schema 双校验 + 10MB/2MB 体积预算。
- **降级铁律**SDK 非核心模块全 try-catch 包裹,广告/支付失败不阻断游戏主循环requestAnimationFrame 永不被 SDK 卡住)。
- **可观测全套**Prometheus/Jaeger/Sentrytrace_id 透传含 Dify/OpenGame+ **幂等四场景** + 最终一致性补偿。
- **可观测全套**Prometheus/Jaeger/Sentrytrace_id 透传含 new-api 网关/SAA 编排+ **幂等四场景** + 最终一致性补偿。
- **一句话收**"这不是有护城河的架构,是'懂工程的团队用最少的钱把闭环跑通'的架构——而这正是种子轮最该考察的团队能力。"
---

View File

@ -19,10 +19,14 @@
2. **huijing 单体**运行,无 Nacos / RocketMQ / 独立 Gateway——§1.3 中间件启动、§9 按 MQ/Nacos 排错的路径全部失效;
3. 后端业务模块后缀为 **`-server`**(非 `-biz`API 前缀为 **`/app-api``/admin-api`**(非 `/app``/admin`)——照本档命令/路径必失败;
4. **无 docker-compose / 自有 CI**:构建部署 = mini-desktop 手动git push→pull见进度总账与 `docs/memorys/`
5. **Dify 暂不部署**:生成链 = 模板驱动 + new-api 直连C2 裁定 2026-06-09
5. **废弃选型(本档正文多处仍当现行栈描述,阅读时一律按现行口径折算)**
- **生成主线** = 模板驱动 via **new-api 网关**OpenAI 兼容 baseUrl剥末尾 `/v1`+ **SAASpring AI Alibaba v1.1.2.2)裸 `StateGraph` 编排**HJ-AGI-002**Dify / OpenGame 降级远期、MVP 从不部署**C2 裁定 2026-06-09 / HJ-GEN-001 终审 2026-06-12。本档 §1.3 启动 AI 引擎、§2 `service/dify/`、§6.2、§9 QUEUED 排错、§10.1/10.2/10.3、§11 速查链接中把 Dify/OpenGame 当现行依赖之处,均为蓝图态,照做必失败;
- **Tier1 引擎** = **LittleJS 增强发行版(约 55KB gz+ Runner v2装载契约 game-host.d.ts**;本档「自研轻量 Runtime <15KB / 自研 Canvas adapter」(§2 compiler 、§10.4已废除2026-06-12 终裁模板 = LittleJS 能力插件玩法模板层随 W-CLEAN 废除Tier2/3 = Cocos Creator 3.8.8 + MCP
- **美术 / 音乐** = **mmx-cliMiniMaxagent 直接 CLI 调用)**;本档 §10.1「ComfyUI / Stability Audio」已退备选
- **RocketMQ / Nacos** = 框架自带依赖与配置在仓,但 **MVP 未部署 broker / registry**future-state勿当现行中间件启动/排错);命名空间 = `com.wanxiang.huijing`,对外品牌 = 绘境AI。
6. 前端 mock = 自写 vite 中间件(非 vite-plugin-mock前端验证门 = `npm run build``vue-tsc --noEmit` 是假门禁admin 二开目录 = `views/wanxiang/`(非 `views/game/`)。
> §4 编码规范、§5.3 commit 规范、§10 工具层蓝图段仍有效;其余章节阅读时按上述差异折算。
> §4 编码规范、§5.3 commit 规范仍有效§10 工具层为蓝图态——其中 Dify/OpenGame/ComfyUI/Stability Audio 已按上条折算为远期/退备选,现行生成主线见 [`.agents/skills/saa-graph-orchestration.md`](../../.agents/skills/saa-graph-orchestration.md) + [`.agents/skills/cheap-model-game-generation.md`](../../.agents/skills/cheap-model-game-generation.md)。其余章节阅读时按上述差异折算。
---
@ -57,10 +61,11 @@ game-studio/ 产品端前端Vue3 + Vant创作者+玩家)
cd game-cloud/deploy
docker compose -f docker-compose.middleware.yml up -d
# 2. 启动 AI 引擎Dify + OpenGame + ComfyUI
docker compose -f docker-compose.ai.yml up -d
# 注意ComfyUI 需要 GPU或 CPU 模式启动,速度慢 10x
# 无 GPU 时可跳过 ComfyUI图片生成走 mock 或外部 API
# 2.future-stateMVP 不执行)启动 AI 引擎Dify + OpenGame + ComfyUI
# ⚠️ 现行生成主线 = new-api 网关直连便宜模型 + SAA 裸图编排(在 game-server 进程内),不部署 Dify/OpenGame/ComfyUI。
# 本步为 1.x 蓝图态MVP 跳过new-api 网关地址/密钥经环境变量注入(见 aigc 模块 AigcExecutorProperties
# docker compose -f docker-compose.ai.yml up -d
# 注意仅蓝图态ComfyUI 需要 GPU现行美术/音乐已改用 mmx-cliMiniMax CLIComfyUI 退备选。
# 3. 初始化数据库
cd game-cloud
@ -85,11 +90,9 @@ cd game-studio && pnpm install && pnpm dev
- 管理后台http://localhost:1024admin / admin123
- 产品端http://localhost:3000
- 后端 APIhttp://localhost:48080
- Nacos 控制台http://localhost:8848/nacosnacos / nacos
- Difyhttp://localhost:3001
- ComfyUIhttp://localhost:8188
- Nacos 控制台http://localhost:8848/nacosnacos / nacosfuture-stateMVP 未部署 registry
- MinIOhttp://localhost:9001minioadmin / minioadmin
- OpenGame Agenthttp://localhost:8100
- ~~Difyhttp://localhost:3001 / ComfyUIhttp://localhost:8188 / OpenGame Agenthttp://localhost:8100~~future-stateMVP 不部署;现行 = new-api 网关 + SAA 裸图编排,美术/音乐 = mmx-cli
---
@ -126,18 +129,20 @@ game-cloud/
│ └── game-module-aigc-biz/
│ ├── controller/app/ # 创作者发起生成
│ ├── controller/admin/ # 模板/工作流管理
│ ├── service/task/ # 生成任务调度MQ
│ ├── service/dify/ # Dify HTTP Client
│ ├── service/template/ # 模板引擎
│ ├── service/task/ # 生成任务调度
│ ├── service/executor/ # 生成执行器 + new-api 网关 LLM Client现行主线剥末尾 /v1OpenAI 兼容)
│ ├── saa/ # SAA(Spring AI Alibaba)裸 StateGraph 编排HJ-AGI-002render→design→generate→…→emit
│ ├── service/template/ # 模板装载LittleJS 插件 / Prompt Registry per templateId
│ ├── service/quality/ # 质量评估
│ └── mq/consumer/ # MQ 消费者(任务执行)
│ └── service/callback/ # 生成回调写链DifyCallbackService 系历史命名,现行复用其三表同事务写链,非真 Dify 依赖)
│ # 注:~~service/dify/ Dify HTTP Client~~ 已废除——Dify 降级远期、从未部署
├── game-module-runtime/ # 运行时/包构建/转换
│ ├── game-module-runtime-api/
│ └── game-module-runtime-biz/
│ ├── controller/app/ # 预览包交付端点(按版本)
│ ├── controller/admin/ # 包管理/转换管理
│ ├── service/compiler/ # GameConfig → 可运行 Web 包(自研轻量 Runtime, <15KB
│ ├── service/compiler/ # 生成产物 → 可运行 Web 包Tier1=LittleJS 增强发行版≈55KB gz + Runner v2 装载契约 game-host.d.ts~~自研轻量 Runtime<15KB~~ 已废除2026-06-12 终裁
│ ├── service/package/ # 包存储/版本化/checksum/CDN 刷新
│ └── service/conversion/ # 多渠道导出(微信格式包为枢纽)
│ ├── WechatPackager.java # 产出微信小游戏格式包(导出枢纽)
@ -155,7 +160,7 @@ game-cloud/
└── deploy/
├── docker-compose.middleware.yml # 中间件
├── docker-compose.ai.yml # Dify + OpenGame
├── docker-compose.ai.yml # future-stateMVP 不部署)Dify + OpenGame——现行生成主线 = new-api 网关 + SAA 裸图,不需此栈
├── docker-compose.yml # 全栈(生产/staging
├── sql/ # 初始化 + seed
├── nacos/ # Nacos 配置导入
@ -167,7 +172,7 @@ game-cloud/
| 模块 | 一句话 | 对外暴露 | 主要依赖 |
|---|---|---|---|
| project | 项目/版本/草稿/发布/审核 | `/app/project/**`, `/admin/project/**` | bpm, system, infra |
| aigc | AI 生成任务调度 + Dify 调用 | `/app/aigc/**`, `/admin/aigc/**` | project, compliance, Dify, OpenGame |
| aigc | AI 生成任务调度 + new-api 网关 LLM 调用 + SAA 裸图编排 | `/app/aigc/**`, `/admin/aigc/**` | project, compliance, new-api 网关;~~Dify/OpenGame~~ 降级远期未部署 |
| runtime | 编译打包 + 资源交付 + 小游戏转换 | `/app/runtime/**`, `/admin/runtime/**` | project, OSS, CDN |
| feed | 推荐列表 + 互动 + 分享 | `/app/feed/**`, `/admin/feed/**` | project, telemetry, Redis |
| telemetry | 事件摄取 + 聚合 + 看板 | `/app/telemetry/**`, `/admin/telemetry/**` | MQ, MySQL |
@ -345,7 +350,7 @@ main ← 始终可部署,保护分支
```bash
# 1. 从 develop 创建分支
git checkout develop && git pull
git checkout -b feature/aigc-dify-integration
git checkout -b feature/aigc-saa-graph
# 2. 开发 + 本地测试
# ...编码...
@ -353,10 +358,10 @@ mvn test -pl game-module-aigc-biz # 跑单元测试
# 3. 提交Conventional Commits
git add .
git commit -m "feat(aigc): integrate Dify workflow API for game generation"
git commit -m "feat(aigc): wire SAA StateGraph generation via new-api gateway"
# 4. 推送 + 创建 PR
git push -u origin feature/aigc-dify-integration
git push -u origin feature/aigc-saa-graph
# 在 GitHub/Gitea 创建 PR → develop
# 5. Review + CI 通过 → Merge
@ -374,7 +379,7 @@ subject: 动词开头,简明描述(中英文均可)
示例:
```
feat(aigc): integrate Dify workflow API for game generation
feat(aigc): wire SAA StateGraph generation via new-api gateway
fix(feed): cursor pagination returns duplicate games
refactor(sdk): extract telemetry buffer into standalone module
test(project): add integration test for publish flow
@ -413,12 +418,15 @@ test(project): add integration test for publish flow
| 问题跟踪 | 联调 bug 提 Issue标签 `联调` + 模块名 |
| 契约对齐 | 后端先写 `-api` 包的 VO/DTO前端据此定义 TypeScript 类型 |
### 6.2 后端与 AI 引擎联调
### 6.2 后端与 AI 引擎联调(现行 = new-api 网关 + SAA 裸图,进程内编排)
> ⚠️ 现行无独立 AI 引擎进程:生成全在 game-server 进程内由 SAA 裸 `StateGraph` 编排,仅出网调 new-api 网关。~~Dify/OpenGame 联调~~ 系蓝图态、MVP 不部署。
| 组件 | 地址 | 联调方式 |
|---|---|---|
| Dify | `http://localhost:3001` | 后端 `DifyClient` 调用 Workflow APIDify UI 可查看执行日志 |
| OpenGame | `http://localhost:8100` | Dify 节点调用,或直接 HTTP 测试 `/generate` 端点 |
| **new-api 网关** | 经环境变量注入(`AigcExecutorProperties` 的 llm-base/api-keyOpenAI 兼容baseUrl 自动剥末尾 `/v1` | 图内五角色模型全经此网关;与 W-G1 http worker 同一计费平面,对账看 new-api `logs.quota` |
| **SAA 裸图** | game-server 进程内(`saa/SaaStudioGraph.java` 唯一布线源 + `SaaGraphDispatcher.java` 生产派发) | 单测 `SaaStudioGraphTest` / 冒烟 `SaaNewApiGenerateSmokeTest`;门禁 = 九门真玩 harness |
| ~~Dify / OpenGame~~ | ~~localhost:3001 / 8100~~ | future-state降级远期未部署 |
### 6.3 SDK 与宿主联调
@ -515,7 +523,7 @@ docker compose up -d
| 本地启动报 Nacos 连接失败 | 先 `docker compose -f docker-compose.middleware.yml up -d`,等 Nacos 就绪 |
| Flyway 迁移冲突 | 不要修改已存在的迁移文件;新建迁移解决 |
| 前端 API 401 | Token 过期,重新登录;检查 `.env` 中后端地址 |
| 生成任务一直 QUEUED | 检查 Dify 是否启动 + RocketMQ Consumer 是否注册 |
| 生成任务一直 QUEUED | 现行:检查 new-api 网关可达llm-base/api-key 注入正确、渠道活)+ SAA 图派发器是否构造成功(看 `SaaGraphDispatcher` 日志)。~~Dify 启动 / RocketMQ Consumer~~ 系蓝图态排错路径MVP 不适用 |
| SDK postMessage 收不到 | 检查 iframe origin 是否在白名单;查看 Console 错误 |
| 单元测试依赖 DB | 应该用 Mock如果需要真 DB用集成测试 + Testcontainers |
| PR CI 失败 | 看 CI 日志最常见代码格式Checkstyle/ 测试未更新 |
@ -524,61 +532,60 @@ docker compose up -d
## 10. 外部工具层开发指南
> ⚠️ **本章为 1.x 蓝图态2026-06-07其中部分工具已废弃/降级,下表已按现行口径标注**
> - **生成主线现行 = new-api 网关OpenAI 兼容)+ SAA(Spring AI Alibaba)裸 `StateGraph` 进程内编排**HJ-AGI-002**Dify/OpenGame 降级远期、MVP 从不部署**§10.2 Dify 开发流程仅留作历史。
> - **美术/音乐现行 = mmx-cliMiniMax CLIagent 直接调用,免 GPU/免训练)****ComfyUI 退备选**§10.3 仅历史),~~Stability Audio~~ 同退。
> - **Tier1 渠道导出现行 = LittleJS + W-CH-α 竞标 adapter**§10.4「自研 Canvas adapter」随自研壳退役。
### 10.1 工具全景
| 工具 | 本地地址 | 对接模块 | 开发者需要了解的 |
|---|---|---|---|
| **Dify** | http://localhost:3001 | aigc | 编排 workflow、调试节点、查看执行日志 |
| **OpenGame** | http://localhost:8100 | aigc通过 Dify 节点调用) | 测试 `/generate` 端点、查看 6 阶段日志 |
| **ComfyUI** | http://localhost:8188 | aigc图片/素材生成) | 设计 workflow、导出 API JSON、对接 Dify |
| **多渠道导出** | 自研转换器 / Cocos 官方导出 | runtime多渠道导出 | 以微信小游戏格式包为枢纽,抖音单独适配,快手经微信格式兼容转换 |
| **safe-content-ai** | http://localhost:8200 | compliance | 图片 NSFW 快检 API |
| **new-api 网关**(现行生成主线) | 环境变量注入llm-base/api-keyOpenAI 兼容,剥末尾 `/v1` | aigc | 多模型经此网关直连;`logs.quota` 权威对账成本 |
| **SAA 裸图编排**(现行生成主线) | game-server 进程内(`saa/SaaStudioGraph.java` | aigc | 11 节点确定性多步图,门禁=九门真玩 harness不用 ReactAgent/asNode |
| **mmx-cliMiniMax**(现行美术/音乐) | CLI远程 API | aigc图片/音乐/语音) | agent 直接 CLI 生成,免 GPU/免训练;用量=quota 入成本台账 |
| ~~Dify~~ | ~~localhost:3001~~ | ~~aigc~~ | **future-state降级远期未部署**(编排能力现由 SAA 裸图承担) |
| ~~OpenGame~~ | ~~localhost:8100~~ | ~~aigc~~ | **future-state降级远期未部署**(代码生成现由 agent 写码于插件库) |
| ~~ComfyUI~~ | ~~localhost:8188~~ | ~~aigc图片/素材)~~ | **退备选**(现行美术=mmx-cli如需训风格 LoRA 再议) |
| **多渠道导出** | LittleJS adapterW-CH-α 竞标)/ Cocos 官方导出 | runtime多渠道导出 | 以微信小游戏格式包为枢纽,抖音单独适配,快手经微信格式兼容转换(~~自研 Canvas adapter~~ 已退役) |
| **safe-content-ai** | http://localhost:8200 | compliance | 图片 NSFW 快检 APIfuture-state随 docker-compose.ai.yml 蓝图态) |
| **穿山甲/优量汇 SDK** | 宿主侧加载 | ad + SDK Plugin.Ad | 广告 SDK 集成、广告位 ID 配置 |
| **Stability Audio API** | 远程 API | aigc音乐生成 | API Key 配置、调用封装 |
| **Fish Audio** | 远程 API | aigc语音生成 | 音色克隆训练、TTS 调用 |
| ~~Stability Audio API~~ | ~~远程 API~~ | ~~aigc音乐~~ | **退备选**(现行音乐=mmx-cli |
| **Fish Audio / 阿里 CosyVoice** | 远程 API | aigc语音生成备选 | 音色克隆/TTS现行语音优先 mmx-cli本项备选 |
### 10.2 Dify 开发流程
### 10.2 生成编排开发流程(现行 = new-api 网关 + SAA 裸图)
> ⚠️ ~~原「Dify 开发流程」已废除~~——Dify 降级远期、MVP 从不部署。现行生成编排在 game-server 进程内用 SAA 裸 `StateGraph`,仅出网调 new-api 网关。
```bash
# 本地访问 Dify
open http://localhost:3001
# 创建/编辑游戏生成 Workflow
# 1. Dify UI → Studio → 创建 Workflow
# 2. 添加节点LLM / HTTP(OpenGame) / HTTP(ComfyUI) / 条件分支 / 变量赋值
# 3. 测试运行 → 查看每节点输入输出
# 4. 发布为 API → 获取 workflow_id
# 后端调用方式:
# DifyClient.java 调用 POST /v1/workflows/run
# Body: { "inputs": {"prompt": "...", "template_id": "..."}, "response_mode": "blocking" }
# 现行:改图 = 改 saa/SaaStudioGraph.assemble()(唯一布线源,生产派发器 + 回归测试共用)
# 节点 11 个 + 条件边 4 处START→render→design→generate→validate ─┬(ok)→scaffold→build→play→player→emit→END
# ├(repair)→repair→generate回环
# └(giveup)→giveup→END
# 后端调用方式(现行):
# SaaGraphDispatcher 懒构造并缓存已编译图;图内五角色模型全经 new-api 网关:
# OpenAiApi.builder().baseUrl(stripV1Suffix(llm-base)).apiKey(api-key).build() # baseUrl 取 host 根,剥末尾 /v1
# 验证mvn test -pl game-module-aigc-server -Dtest=SaaStudioGraphTest # 拓扑回归
# 冒烟见 SaaNewApiGenerateSmokeTest详见 .agents/skills/saa-graph-orchestration.md
```
### 10.3 ComfyUI 开发流程
### 10.3 ~~ComfyUI 开发流程~~(已退备选;现行美术/音乐 = mmx-cli
> ⚠️ **ComfyUI 已退备选**2026-06-12 创始人亲验拍板)。现行美术/音乐 = **mmx-cliMiniMax CLI**agent 造游戏时直接 CLI 调用,免 GPU、免训练 LoRA。以下 ComfyUI 节点流程仅留作历史/远期训风格 LoRA 时参考。
```bash
# 本地访问 ComfyUI
open http://localhost:8188
# 现行mmx-cli 生成图片/音乐agent 直接调用,用法见全局 skill `mmx-cli`
# mmx image ... # 文生图(角色/场景/封面)
# mmx music ... # 音乐生成
# 用量 = quota 对账入成本台账(盯用量,创始人拍板默认走 mmx-cli
# 设计图片生成 workflow节点拖拽
# 1. 加载模型节点Flux/SDXL/自训练 LoRA
# 2. 配置 prompt/negative_prompt/尺寸/步数
# 3. 运行验证效果
# 4. 导出 workflow 为 JSONSave → API Format
# 通过 API 调用:
# POST http://localhost:8188/prompt
# Body: { "prompt": <workflow_json>, "client_id": "..." }
# 轮询 /history/{prompt_id} 获取结果图片 URL
# 在 Dify 中集成:
# Dify HTTP Request 节点 → ComfyUI /prompt 端点
# 输入:风格描述 + 角色描述 → 填入 workflow JSON 的 prompt 字段
# ── 以下为 ComfyUI退备选仅历史/训 LoRA 时参考)──
# open http://localhost:8188 → 拖拽节点设计 workflow → 导出 API Format JSON → POST /prompt → 轮询 /history/{prompt_id}
```
### 10.4 多渠道导出
**导出枢纽 = 微信小游戏格式包**。Tier1 自研 Canvas 自做 adapterTier2/3远期用 Cocos Creator 官方一键导出。各渠道路径:
**导出枢纽 = 微信小游戏格式包**。Tier1LittleJS 增强发行版)渠道 adapter 走 **W-CH-α 对比竞标**LittleJS+adapter vs Cocos 导出HJ-CH-001~~原「自研 Canvas 自做 adapter」随自研壳退役~~Tier2/3远期用 Cocos Creator 官方一键导出。各渠道路径:
- **微信**:引擎导出官方格式,直接上架。
- **抖音**:抖音有自有导出接口,单独适配。
@ -589,8 +596,8 @@ open http://localhost:8188
# Tier2/3远期Cocos Creator官方一键导出微信小游戏包
# Cocos Creator → 构建发布 → 微信小游戏平台 → 构建
# Tier1MVP)自研 Canvas adapter 产出微信格式包:
# runtime 模块 service/conversion 调用自研转换器 → 产出微信小游戏包
# Tier1MVPLittleJS产出微信格式包渠道 adapter 走 W-CH-α 竞标(~~自研 Canvas 转换器~~ 已退役)
# runtime 模块 service/conversion 承载导出枢纽(微信格式包),具体 adapter 实现待 HJ-CH-001 竞标定
# 快手:将微信格式包导入快手开发者工具做兼容转换,无一键 CLI
# 在 Java 中调用runtime 模块):
@ -621,19 +628,19 @@ open http://localhost:8188
| 资源 | 地址 |
|---|---|
| 后端 API 文档Swagger | http://localhost:48080/doc.html |
| Nacos 控制台 | http://localhost:8848/nacos |
| Dify 编排界面 | http://localhost:3001 |
| ComfyUI 图片生成 | http://localhost:8188 |
| OpenGame Agent | http://localhost:8100 |
| safe-content-ai | http://localhost:8200 |
| Nacos 控制台future-stateMVP 未部署) | http://localhost:8848/nacos |
| ~~Dify 编排界面 / ComfyUI / OpenGame Agent~~ | ~~localhost:3001 / 8188 / 8100~~future-stateMVP 不部署;现行=new-api 网关 + SAA 裸图 + mmx-cli |
| safe-content-aifuture-state随 AI 栈蓝图态) | http://localhost:8200 |
| MinIO 文件管理 | http://localhost:9001 |
| Grafana 监控 | http://localhost:3002 |
| 设计文档目录 | `docs/architecture/` |
| 技术架构与模块Doc B | `docs/architecture/技术架构与模块.md` |
| SAA 图编排 playbook现行生成主线 | `.agents/skills/saa-graph-orchestration.md` |
| 便宜模型生成 playbookW-G1 | `.agents/skills/cheap-model-game-generation.md` |
| Huijing 官方文档 | https://cloud.iocoder.cn |
| Cocos Creator 文档Tier2/3 远期) | https://docs.cocos.com/creator/3.8/manual/ |
| ComfyUI 文档 | https://docs.comfy.org |
| Dify 文档 | https://docs.dify.ai |
| ~~ComfyUI 文档(退备选)~~ | https://docs.comfy.org |
| ~~Dify 文档(降级远期)~~ | https://docs.dify.ai |
---

View File

@ -1,7 +1,7 @@
# 造梦AI游戏生态平台 — 系统概要设计(技术决策版)
> **文档编号**HJ-ARCH-001
> **版本**v2.0
> **版本**v2.12026-06-16 现行真相对齐:模板驱动/new-api/SAA/LittleJS/mmx-cli/命名空间)
> **受众**:技术合伙人 / CTO / 首席架构师
> **生成时间**2026-06-06
> **关联文档**
@ -9,11 +9,17 @@
> - 竞品分析:`docs-design/竞品分析报告.md`
> - 产品需求/技术模块/映射 三文档:`docs/architecture/产品需求清单.md``docs/architecture/技术架构与模块.md``docs/architecture/需求模块映射.md`
> **⚠️ 回填状态2026-06-10依据 HJ-AUDIT-001 架构三向审计)**:本档为蓝图权威,但以下裁定晚于本档成稿,**以裁定为准**
> 1. **生成主线已转向「模板驱动」**C2 裁定 2026-06-09spike 52/52 结构层 100%LLM 直出 GameConfig 参数 + 固定模板 runtime经 new-api 网关直连 LLM**Dify / OpenGame 均未部署**OpenGame 代码生成降级为远期增强。本档 §2.3 模式A 时序图、§4.1、§6.2 的 Dify+OpenGame 描述保留为蓝图原案。
> 2. **执行排期以 `mvp-execution-spec` + `docs/mvp/MVP作战清单.md` 为准**§9 甘特仅作蓝图参考2026-06-08 业务决策已将 MVP 验收改为「staging/内网种子灰度走通真闭环」,公网上线=MVP 后并行长周期任务(受日历闸门约束)。
> 3. **LLM 接入现状**D1 拍板主 DeepSeek / 备 Qwen2026-06-08当前实际 = MiniMax-M2.7 经 new-api 网关DeepSeek key 未激活)。网关多通道兜底曾真实失效(二厂系全废),见 §8 风险 #12
> 4. **Tier1 运行时已立项重设计**2026-06-11 创始人专门会话):本档「自研 Canvas Runtime <15KB相关描述(§4.26.6 被裁定取代——**15KB 红线废除**srcdoc 内联架构的衍生约束前提失效改三层约束框架SLO@千元机+4G P75 / 预算入场券 gz350KB·raw1.5MB / 工程增强层渲染层换成品轻引擎+Runner v2终裁待 LittleJS vs Phaser spike沙箱/SDK/三容器控制点不变单一事实源`docs/brainstorms/2026-06-11-tier1-runtime-constraints-requirements.md` + `.agents/knowledge/tech-decisions.md` §1.1
> **⚠️ 回填状态2026-06-10 起 → 2026-06-16 对齐现行真相,依据 HJ-AUDIT-001 架构三向审计 + 后续多次创始人裁定)**:本档为蓝图权威,正文已逐节对齐以下裁定(**以裁定为准**)。本档 v2.0 成稿于 2026-06-06下列 7 条均晚于成稿、已落入正文:
> 1. **生成主线已转向「模板驱动 via new-api 网关」→ 再演进为「agent 写码于插件库」**C2 裁定 2026-06-09 spike 52/52 结构层 100%HJ-GEN-001 终审 2026-06-12 玩法模板层废除LLM 经 **new-api 网关**直连便宜模型直出可玩游戏,经 harness 九门兜底;**Dify / OpenGame 均从未部署、降级为远期增强**,非现行生成引擎。后端实测 14 文件接 new-api`game-module-aigc-server`)。
> 2. **agentic 编排基建 = SAA(Spring AI Alibaba GA v1.1.2.2)裸 `StateGraph` 编排**HJ-AGI-0022026-06-15short-term SAA-onlyAgentScope 降 long-term premium 独立轨;后端实测 `spring-ai-alibaba` 已接入(`SaaStudioGraph` 等)。旧「自研编排/DAG 工作流引擎/Dify 可视化编排」表述全部作废。
> 3. **Tier1 引擎 = LittleJS 增强发行版55KB gz+ Runner v2 装载契约 `game-host.d.ts`**2026-06-12 终裁spike 85/82本档「自研 Canvas Runtime <15KB相关描述全部被取代——**15KB 红线废除** srcdoc 内联架构的衍生约束前提已失效改三层约束框架SLO@千元机+4G P75 / 预算入场券 gz350KB·raw1.5MB / 工程增强层沙箱/SDK/三容器控制点不变
> 4. **模板 = LittleJS 能力插件/二次开发件玩法模板层已废除W-CLEAN**:玩法/美术/关卡/UI = agent 生成域;旧 4 模板 + 存量数据已清除。Tier2/3 复杂 2D/3D/原生仍用 Cocos Creator 3.8.8 + MCP不变
> 5. **AI 素材/音乐工具链 = mmx-cliMiniMax2026-06-12 创始人亲验拍板默认)**agent 造游戏直接 CLI 调用、免 GPU/免训练;**ComfyUI 退备选**Stability Audio 等亦降级。
> 6. **代码命名空间整体改名为 `com.wanxiang.huijing`**(公司 Wanxiang / 项目 Huijing2026-06-15 合 dev/2.0.0);对外品牌 = **绘境AI**
> 7. **执行排期以 `mvp-execution-spec` + `docs/mvp/MVP作战清单.md` 为准**§9 甘特仅作蓝图参考2026-06-08 业务决策已将 MVP 验收改为「staging/内网种子灰度走通真闭环」,公网上线 = MVP 后并行长周期任务(受日历闸门约束)。
> 8. **LLM 接入现状**D1 拍板主 DeepSeek / 备 Qwen2026-06-08现行实际 = new-api 网关多模型可用(`deepseek-v4-flash`/`pro` + `MiniMax-M2.7`/`M3` 渠道全活2026-06-14 探活实测)。网关多通道兜底曾真实失效(二厂系全废),见 §8 风险 #12
> 9. **RocketMQ / Nacos = 框架yudao fork自带依赖 + yaml 配置存在,但 MVP 运行时未部署 broker/registry → future-state框架自带、MVP 未启用)**;正文凡涉之处一律如此标注。
> 单一事实源(现行口径日常入口):`.agents/knowledge/tech-decisions.md`§1/§1.1/§4+ `.agents/skills/saa-graph-orchestration.md`
---
@ -46,8 +52,8 @@
- 不做 3D 开放世界游戏生成
- 不做专业级游戏引擎Unity/Unreal 级别)
- 不做海外市场MVP 阶段)
- 不做完全开放式代码生成(用模板约束保证稳定性
- 不自研大模型(接入通用 LLM + 开源 Agent 框架)
- 不做完全开放式代码生成(agent 写码于 LittleJS 插件库 + harness 九门约束保证稳定性;玩法模板层已废除 W-CLEAN
- 不自研大模型(接入通用 LLM 经 new-api 网关 + 开源 Agent 框架 SAA/Spring AI Alibaba
---
@ -121,37 +127,38 @@ graph TB
**模式 A一句话生成小白路径**
> **现行口径2026-06-16**:下图为 MVP 现行主线——生成 = **SAA(Spring AI Alibaba)裸 `StateGraph` 编排** 驱动 **new-api 网关 → 便宜 LLM**agent 写码于 LittleJS 插件库,经 harness 九门兜底;**Dify/OpenGame 从未部署**(旧蓝图原案见 §6.2 决策史)。生成任务派发走 `GenerationDispatcher`http worker | 进程内 SAA 图 二选一单写),生成态 SAA 编排藏在 job/callback 契约后保持可替换。
```mermaid
sequenceDiagram
participant C as 创作者
participant S as game-studio
participant GW as Gateway
participant AIGC as aigc-module
participant DIFY as Dify(编排)
participant OG as OpenGame(生成)
participant RT as runtime-module
participant SAA as SAA StateGraph编排
participant NEWAPI as new-api 网关
participant LLM as 便宜LLM(DeepSeek/MiniMax)
participant GATE as harness 九门(校验/构建/真玩)
participant PRJ as project-module
participant BPM as bpm-module
C->>S: 输入 Prompt + 选择风格/模板
C->>S: 输入 Prompt + 选择风格
S->>GW: POST /api/aigc/generate
GW->>AIGC: 转发(鉴权通过)
AIGC->>AIGC: 创建生成任务(MQ
AIGC->>AIGC: 创建生成任务(GenerationDispatcher 派发
AIGC-->>S: 202 Accepted {taskId}
S->>S: 轮询/SSE 监听任务状态
AIGC->>DIFY: HTTP 调用 Workflow API
DIFY->>DIFY: 节点1: Prompt 安全检测
DIFY->>DIFY: 节点2: 意图解析 + 模板匹配
DIFY->>DIFY: 节点3: GameConfig 生成 + Schema 校验
DIFY->>OG: 节点4: HTTP 调用 OpenGame Agent
OG->>OG: 6阶段 Pipeline脚手架→设计→素材→代码→验证→修正
OG-->>DIFY: 返回游戏代码包
DIFY->>DIFY: 节点5: 质量评估
DIFY-->>AIGC: 返回完整 GamePackage
AIGC->>SAA: dispatch(job):进入裸图编排
SAA->>SAA: 节点渲染→设计→生成代码11 节点/4 条件边)
SAA->>NEWAPI: 各节点经 OpenAI 兼容接口调模型
NEWAPI->>LLM: 转发(单 key→自动入 newapi_cost 计费平面)
LLM-->>NEWAPI: 返回 GameConfig / 游戏代码
NEWAPI-->>SAA: 模型产物
SAA->>GATE: 校验/构建/真玩 九门done 由确定性门定,非 LLM 自评)
GATE-->>SAA: 通过 → 出 GamePackage不通过 → 修复回环
SAA-->>AIGC: 回调 callbackpackageUrl + manifest
AIGC->>RT: 编译 + 打包 + 上传 OSS
RT-->>AIGC: packageUrl + manifest
AIGC->>PRJ: 写入草稿版本(含生成的资产)
AIGC-->>S: 任务完成通知
@ -170,7 +177,7 @@ sequenceDiagram
**模式 C工作流编排专业路径**
专业创作者可进入 Dify 暴露的可视化编排界面,自定义生成流程的节点、参数和条件分支。适用于批量生产、品牌定制等场景。
专业创作者可自定义生成流程的节点、参数和条件分支,适用于批量生产、品牌定制等场景。(**2026-06-16 纠偏**:原述"进入 Dify 可视化编排界面"——Dify 从未部署、已降级远期;现行/远期编排基建 = SAA(Spring AI Alibaba)裸 `StateGraph` 编排HJ-AGI-002可视化编排面属远期能力。
#### 玩家游戏流主流程
@ -400,16 +407,19 @@ graph TB
BPM[bpm<br/>工作流]
end
subgraph AI[AI引擎层]
DIFY[Dify<br/>DAG编排/多模型]
OPENGAME[OpenGame Agent<br/>Python/代码生成]
subgraph AI[AI生成层_现行]
SAA[SAA StateGraph编排<br/>Spring AI Alibaba v1.1.2.2]
NEWAPI[new-api 网关<br/>OpenAI兼容/多模型]
LLM[便宜LLM<br/>DeepSeek/MiniMax]
MMX[mmx-cli<br/>图片/音乐素材]
LJS[LittleJS+Runner v2<br/>Tier1 引擎/插件库]
end
subgraph MW[中间件层]
NACOS[Nacos]
NACOS["Nacos<br/>(future-state·框架自带未部署)"]
MYSQL[MySQL 8.0]
REDIS[Redis 7]
MQ[RocketMQ 5]
MQ["RocketMQ 5<br/>(future-state·框架自带未部署)"]
MINIO[MinIO/OSS]
end
@ -439,8 +449,11 @@ graph TB
GATEWAY --> SYS
GATEWAY --> INFRASVC
GATEWAY --> BPM
AIGC --> DIFY
DIFY --> OPENGAME
AIGC --> SAA
SAA --> NEWAPI
NEWAPI --> LLM
SAA --> MMX
SAA --> LJS
PRJ --> MYSQL
PRJ --> REDIS
PRJ --> MQ
@ -469,10 +482,10 @@ graph TB
graph LR
subgraph 宿主机
subgraph 中间件容器
nacos[Nacos:8848]
nacos["Nacos:8848<br/>(future-state·MVP未部署)"]
mysql[MySQL:3306]
redis[Redis:6379]
rocketmq[RocketMQ:9876]
rocketmq["RocketMQ:9876<br/>(future-state·MVP未部署)"]
minio[MinIO:9000]
end
@ -484,12 +497,12 @@ graph LR
end
subgraph 业务服务容器
game_all[game-server:48090<br/>单体模式含全部13个业务模块]
game_all["game-server:48090<br/>单体模式含全部13个业务模块<br/>(内置 SAA 裸图编排/aigc)"]
end
subgraph AI引擎容器
dify[Dify:3000+80]
opengame[OpenGame:8100]
subgraph AI生成接入_现行
newapi["new-api 网关<br/>(外部·mini-infra:3000)"]
mmx["mmx-cli<br/>(MiniMax 素材生成)"]
end
subgraph 前端容器
@ -505,17 +518,18 @@ graph LR
end
```
**MVP 阶段单体启动**:所有 13 个业务模块编译为同一个 JAR`game-server`),通过 Spring Profile 控制模块加载。需要独立扩缩时Nacos 配置一改即拆为独立服务
**MVP 阶段单体启动**:所有 13 个业务模块编译为同一个 JAR`game-server`),通过 Spring Profile 控制模块加载。需要独立扩缩时再启用 Nacos 拆为独立服务(**future-state**Nacos 框架自带、MVP 未部署 registry单体期走本地配置
### 3.3 模块间通信
| 通信方式 | 场景 | 协议 |
|---|---|---|
| 同步 HTTP | 前端→Gateway→业务服务 | REST JSON |
| 同步 HTTP | aigc→Dify, Dify→OpenGame | REST JSON |
| 同步 HTTP | aigc→new-api 网关→LLMSAA 各节点经 OpenAI 兼容接口调模型 | REST JSON |
| 进程内调用 | aigc 生成派发 `GenerationDispatcher`http worker \| 进程内 SAA 图,二选一单写) | Java 接口 |
| 同步 Feign | 服务间同步调用(如 project→system 查用户) | Spring Cloud OpenFeign |
| 异步 MQ | 生成任务派发、审核通知、事件摄取、结算触发 | RocketMQ |
| 事件广播 | 发布成功→feed 刷新缓存、→telemetry 记录 | RocketMQ Topic |
| 异步 MQfuture-state | 生成任务派发、审核通知、事件摄取、结算触发 | RocketMQ框架自带、MVP 未部署 broker现行走进程内/同步) |
| 事件广播future-state | 发布成功→feed 刷新缓存、→telemetry 记录 | RocketMQ Topic同上MVP 未启用) |
### 3.4 平台 Game SDK 设计
@ -774,13 +788,16 @@ runtime-module 编译 GamePackage 时:
### 4.1 AI 生成链路
**架构决策**DifyDAG 编排)+ OpenGame代码生成+ Java 壳(任务调度)
**架构决策现行2026-06-16****SAA(Spring AI Alibaba)裸 `StateGraph` 编排** + **new-api 网关 → 便宜 LLM** + agent 写码于 LittleJS 插件库 + harness 九门兜底。
> ⚠️ **2026-06-10 回填**MVP 现行主线已按 C2 裁定改为**模板驱动**LLM 直出 GameConfig + 固定模板 runtime见文档头部回填状态本节 Dify+OpenGame 组合保留为远期增强蓝图。
> ✅ **现行主线C2 裁定 2026-06-09 → HJ-GEN-001 终审 2026-06-12 → HJ-AGI-002 2026-06-15**
> - 生成 = LLM 经 **new-api 网关**OpenAI 兼容多模型直连便宜模型DeepSeek-v4 / MiniMax-M2.7/M3C2 spike4 模板 × 13 创意 = 52/52 结构层 100%证实「LLM 直出 + 固定运行时」可达标,后续 HJ-GEN-001 进一步演进为「agent 写码于插件库」(玩法模板层随 W-CLEAN 废除)。
> - 编排基建 = **SAA 裸 `StateGraph`**11 节点 / 4 条件边,`SaaStudioGraph.assemble()` 唯一布线源done 由 harness 九门确定性判定、不让 LLM 自评。
> - **Dify / OpenGame 均从未部署、降级为远期增强**;下方"为什么选 Dify + OpenGame"表保留为决策史(蓝图原案),非现行架构。
**为什么选 Dify + OpenGame不自研**
**决策史(蓝图原案,为什么当初选 Dify + OpenGame不自研**
| 维度 | 自研 | Dify + OpenGame |
| 维度 | 自研 | Dify + OpenGame(蓝图原案,未落地) |
|---|---|---|
| 核心生成能力 | 3-6 个月 | 2-4 周集成验证 |
| DAG 编排引擎 | 2-3 个月 | Dify 开箱即用 |
@ -790,11 +807,13 @@ runtime-module 编译 GamePackage 时:
| 可观测性 | 自建 | Dify 内置 trace |
| **总周期** | **6-12 个月** | **4-6 周** |
**为什么不选其他**
**当初为什么不选其他(决策史)**
- LangGraph纯 Python 框架,无可视化 UI运营无法参与编排
- Coze字节闭源不可控
- n8n通用自动化非 LLM 原生
> **后话**:现行 SAA 裸图编排即"Java 进程内确定性多步编排",避开了对 Dify 可视化 UI 的依赖(可视化编排面属远期能力);多模型切换由 new-api 网关承担;可观测性由 SAA graph-core 的 observation 机芯(每节点发 Micrometer observation承担。
**生成任务状态机**
```mermaid
@ -946,7 +965,6 @@ erDiagram
string status
string prompt
string template_id
string dify_workflow_id
int retry_count
int duration_ms
string error_code
@ -973,7 +991,7 @@ erDiagram
| 推荐候选集/热数据 | Redis 7 | 低延迟Sorted Set 排序 |
| 事件流(埋点) | MySQL 分区表(MVP) → ClickHouse(增长期) | 先简后扩 |
| 搜索(游戏/素材) | MySQL FULLTEXT(MVP) → Elasticsearch(增长期) | 先简后扩 |
| 配置/注册 | Nacos | Huijing 原生 |
| 配置/注册future-state | Nacos | Huijing 框架自带,**MVP 未部署 registry**;现行单体走本地配置/Spring Profile |
| 分布式锁/限流 | Redis | 高性能 |
### 5.3 数据流向总览
@ -981,7 +999,7 @@ erDiagram
```mermaid
graph LR
STUDIO[game-studio] -->|事件上报| TEL_API[telemetry /events/batch]
TEL_API -->|异步| MQ[RocketMQ]
TEL_API -->|异步·future-state| MQ["RocketMQ<br/>(框架自带·MVP未部署)"]
MQ -->|消费入库| MYSQL[(MySQL 事件表)]
MYSQL -->|定时聚合| AGG[GameDailyStats]
AGG -->|写入| REDIS_FEED[Redis 候选集]
@ -1009,12 +1027,13 @@ graph LR
| 候选 | 选择 | 理由 |
|---|---|---|
| **Dify(编排) + OpenGame(生成)** | ✅ 选用 | Dify: DAG 可视化/多模型/可观测性开箱即用OpenGame: SOTA 效果/6 阶段 pipeline/论文验证;组合 4-6 周跑通 |
| **new-api 网关 → 便宜 LLM + SAA 裸图编排(现行)** | ✅ 现行 | LLM 经 new-api 网关OpenAI 兼容/多模型直出可玩游戏SAA(Spring AI Alibaba v1.1.2.2)裸 `StateGraph` 编排确定性多步流程harness 九门兜底质量;后端实测已接入(`game-module-aigc-server` 14 文件 + `spring-ai-alibaba` 1 pomC2 spike 52/52 结构层 100%HJ-GEN-001 / HJ-AGI-002 |
| ~~Dify(编排) + OpenGame(生成)~~ | ❌ 远期增强(从未部署) | 蓝图原案Dify DAG 可视化/多模型/可观测性OpenGame SOTA/6 阶段 pipeline产能/复杂度上台阶时再评估启用,**MVP 从不部署** |
| 纯自研 | ❌ 放弃 | 6-12 个月,时间不允许 |
| LangGraph | ❌ 放弃 | 无可视化 UI运营无法参与编排 |
| Coze | ❌ 放弃 | 闭源不可控,依赖字节 |
> **2026-06-10 回填**C2 spike4 模板 × 13 创意 = 52/52 结构层 100%证实「LLM 填参数 + 固定模板 runtime」即可达标——**MVP 不部署 Dify/OpenGame直连 new-api 网关**;本表选型整体降级为远期增强路径(产能/复杂度上台阶时再启用)
> **现行口径2026-06-16**MVP **不部署 Dify/OpenGame**,生成主线 = new-api 网关 + SAA 裸图编排(详见 §4.1。Dify+OpenGame 整体降级为远期增强路径本表保留其行作决策史。AgentScopeagent-native 探索)= long-term premium 独立轨,亦不在 MVP 运行时
### 6.3 前端
@ -1035,7 +1054,7 @@ graph LR
| 候选 | 选择 | 理由 |
|---|---|---|
| **RocketMQ 5** | ✅ 选用 | Huijing 默认集成,延迟消息/事务消息/死信队列完整,适合生成任务调度 |
| **RocketMQ 5** | ✅ 选用**future-state**框架自带、MVP 未部署 broker | Huijing 默认集成,延迟消息/事务消息/死信队列完整,适合生成任务调度**MVP 运行时未部署 broker**,现行生成派发走进程内 `GenerationDispatcher`/同步,待产能/异步化需求上台阶时启用 |
| Kafka | ❌ 放弃 | 偏大数据流运维重MVP 阶段过度 |
| Redis Stream | ❌ 放弃 | 可靠性不如 RocketMQ无死信/事务消息 |
@ -1045,44 +1064,49 @@ graph LR
| 候选 | 选择 | 理由 |
|---|---|---|
| **自研轻量 Canvas RuntimeTier1Web 预览/游戏流)** | ✅ 选用 | < 15KB首屏极快P75 < 3sAI 生成纯 JS 直接可运行平台完全控制沙箱/SDK 注入是护城河MVP 唯一交付层 |
| **LittleJS 增强发行版 + Runner v2Tier1Web 预览/游戏流,现行)** | ✅ 现行 | 引擎 55KB gzURL 化交付享 HTTP+编译双缓存,冷开 0.54s vs 自研壳 2.86s4.8~5.3×agent 写码于插件库直接可运行,装载契约 `game-host.d.ts`;平台完全控制沙箱/SDK 注入MVP 唯一交付层2026-06-12 终裁spike 85/82 |
| ~~自研轻量 Canvas Runtime < 15KBTier1~~ | ❌ 已废除2026-06-11/12 | 自研壳实为机制演示(资产载而不绘/零 juice/只胜不败),手搓引擎=critical risk**15KB 红线废除**(系 srcdoc 内联架构衍生约束前提失效改三层约束框架SLO@千元机+4G P75 / 预算入场券 gz≤350KB·raw≤1.5MB / 工程增强层) |
| **Cocos Creator 3.8.8 + MCPTier2/3复杂 2D+3D / 独立 App** | ✅ 选用 | 一栈覆盖复杂 2D+3D+原生与小游戏导出MCP158 工具)可 AI 驱动、出功能快MVP 仅至多 1 个探针 demo |
| Three.js | ❌ 放弃 | 仅 web3D与 Cocos 能力重复(已移除) |
| Phaser 3 全栈 | ❌ 放弃 | 纯 2D 游戏引擎,多渠道导出能力弱,小游戏适配需自研 |
| Phaser 3 全栈 | ❌ 放弃spike 竞标落选) | 纯 2D 游戏引擎;经 T1 eval-spike 与 LittleJS 对比,败于冷开/交付形态(工程质量合格,证据留 spike 目录) |
| LayaAir 全栈(运行时+编辑器+导出) | ❌ 放弃 | 引擎过重影响游戏流加载;无 AI/MCP 生态;官方导出平台清单**不含快手**(旧"一键导出快手"为事实错误) |
| Unity | ❌ 放弃 | AI 适配差、启动重7-10s与 P75 < 3s 冲突 |
**分层架构Tier1 自研 Canvas + Tier2/3 Cocos-MCP**
**分层架构Tier1 LittleJS 增强发行版 + Runner v2 / Tier2/3 Cocos-MCP**
```
AI 生成 → 纯 JS/Canvas 游戏代码Tier1OpenGame 文生代码
AI 生成 → agent 写码于 LittleJS 插件库Tier1玩法/美术/关卡/UI=生成域
↓ Web 预览/游戏流
自研轻量 Runtimeiframe sandbox + SDK Core→ 即时加载,< 15KB
LittleJS 增强发行版55KB gz+ Runner v2iframe sandbox + SDK Core + 装载契约 game-host.d.ts→ URL 化交付享双缓存
↓ 复杂 2D/3D/独立 AppTier2/3远期
Cocos Creator 3.8.8 + MCP → 官方一键导出小游戏包
↓ 多渠道导出枢纽 = 微信小游戏格式包
微信=引擎官方格式;抖音=自有导出接口;快手=经"微信格式兼容转换"(快手开发者工具,无专用接口)
微信=引擎官方格式;抖音=自有导出接口;快手=经"微信格式兼容转换"(快手开发者工具,无专用接口)Tier1LittleJS渠道 adapter 走 W-CH-α 竞标
```
> **模板哲学2026-06-12 W-CLEAN****玩法模板层已废除**——模板 = LittleJS 能力插件/二次开发件,玩法/美术/关卡/UI 全是 agent 生成域;旧 4 模板clicker/dodge/runner/match+ 存量数据已清除。好玩基线 v2 改挂评估门。
为什么分层:
- Web 预览和游戏流需要**极快加载**P75 < 3sTier1 轻量 Runtime 满足MVP 仅交付此层
- Web 预览和游戏流需要**极快加载**P75 < 3sTier1 LittleJS 增强发行版 + Runner v2 满足MVP 仅交付此层
- 复杂 2D/3D/原生产物Tier2/3需成熟引擎复用 Cocos 而非自研(自研 3D/原生引擎工期数十人月不可行),且 MCP 使 AI 驱动可行
- 导出以微信小游戏格式包为统一中转,可异步离线进行,不影响实时预览体验
### 6.7 AI 素材生成工具链
| 环节 | 工具 | 类型 | 选用理由 |
| 环节 | 工具(现行) | 类型 | 选用理由 |
|---|---|---|---|
| **图片/贴图/角色/场景** | ComfyUI自部署 | 开源 | 节点化 workflow支持 Flux/SDXL/ControlNet/LoRA可训练 IP 风格模型;有 HTTP API 直接对接 Dify 节点 |
| **背景音乐/音效** | Stability Audio API | 商用 API | 6 分钟商用级音乐生成版权清晰全授权训练数据API 调用即用 |
| **图片/贴图/角色/场景** | **mmx-cliMiniMax** | 商用 CLI | 2026-06-12 创始人亲验拍板默认agent 造游戏直接 CLI 调用,**免 GPU/免训练**;成本走 new-api 单 key 自动入计费台账 |
| **背景音乐/音效** | **mmx-cliMiniMax** | 商用 CLI | 同一套 CLI 出图与出乐,免基础设施;~~Stability Audio API~~ 降级远期 |
| **角色语音/音色克隆** | Fish Audio / 阿里 CosyVoice | API+开源 | 中文效果最佳Fish Audio 支持 few-shot 音色克隆CosyVoice 开源可自部署 |
| **封面/宣传图** | ComfyUI复用上面实例 | 开源 | 同一套基础设施,不同 workflow |
| **封面/宣传图** | ✅ **mmx-cli复用同一 CLI** | 商用 CLI | 同一套工具,不同 prompt |
| ~~图片/角色/场景/封面~~ | ❌ **ComfyUI退备选** | 开源 | 节点化 workflow、可训 IP 风格 LoRA、自部署无审查但需 GPU无 GPU 走 CPU 慢 10xmmx-cli 拍板后退为备选 |
为什么选 ComfyUI 而不是直接调 Midjourney/DALL-E API
> **现行口径2026-06-16**:素材/音乐工具链 = **mmx-cli**2026-06-12 创始人亲验拍板)。**ComfyUI 退备选**、Stability Audio 降级远期。下方"为什么选 ComfyUI"留作备选时的决策史。
为什么 ComfyUI 留作备选(决策史,非现行):
- ComfyUI 可**训练 IP 风格 LoRA**,生成风格一致的系列素材(角色/场景/UI
- 节点化 workflow 可被 Dify 编排调用,形成端到端自动化
- 自部署无 API 限制/审查,游戏场景(武器/战斗)不被拒绝
- 长期成本远低于商用 APIGPU 固定成本 vs 按次付费)
- 长期成本远低于商用 APIGPU 固定成本 vs 按次付费)——但需 GPU 基建mmx-cli 免 GPU 即用故拍为默认
### 6.8 内容安全
@ -1091,30 +1115,31 @@ Cocos Creator 3.8.8 + MCP → 官方一键导出小游戏包
| **图片 NSFW/涉政/涉暴** | safe-content-ai自部署+ 阿里云内容安全(兜底) | 开源+商用 | 自部署做首道快检(免费/低延迟),高风险样本二次送阿里云确认 |
| **文本违禁/语义** | 阿里云文本审核 | 商用 API | 违禁词库持续更新,语义理解强于规则匹配 |
| **音频内容** | 阿里云音频审核 | 商用 API | 涉黄涉政语音识别 |
| **AI 输出风控** | Dify 节点内置 Guardrails | 自研规则 | Prompt 注入检测 + LLM 输出 schema 校验 |
| **AI 输出风控** | 生成链路内置 GuardrailsSAA 节点/Java 壳) | 自研规则 | Prompt 注入检测 + LLM 输出 schema 校验~~原述 Dify 节点~~Dify 未部署,现行落在 SAA 编排节点/Java 校验层) |
### 6.9 工具层全景图
```mermaid
graph TB
subgraph AI生成工具层
DIFY[Dify<br/>编排引擎]
OG[OpenGame<br/>代码生成]
COMFY[ComfyUI<br/>图片/素材生成]
AUDIO[Stability Audio<br/>音乐生成]
subgraph AI生成工具层_现行
SAA[SAA StateGraph编排<br/>Spring AI Alibaba v1.1.2.2]
NEWAPI[new-api 网关<br/>OpenAI兼容/多模型]
LLM[便宜LLM<br/>DeepSeek/MiniMax]
MMX[mmx-cli<br/>图片/音乐素材·MiniMax]
VOICE[Fish Audio/CosyVoice<br/>语音/音色]
end
subgraph 运行时工具层
CANVAS_RT[自研轻量 Runtime<br/><15KB Canvas]
LAYA_CLI[LayaAir CLI<br/>多渠道导出]
LJS[LittleJS 增强发行版<br/>55KB gz·Tier1 引擎]
RUNNER[Runner v2<br/>装载契约 game-host.d.ts]
COCOS["Cocos+MCP<br/>(Tier2/3 渠道导出)"]
SDK[WanxiangGameSDK<br/>平台能力注入]
end
subgraph 安全工具层
SAFE_IMG[safe-content-ai<br/>图片快检]
ALI_SEC[阿里云内容安全<br/>兜底确认]
GUARD[Dify Guardrails<br/>AI输出风控]
GUARD[Guardrails<br/>Prompt注入+输出Schema校验]
end
subgraph 商业化工具层
@ -1126,18 +1151,22 @@ graph TB
subgraph 基础设施工具层
YUDAO[Huijing Cloud<br/>RBAC/BPM/文件/通知]
NACOS[Nacos<br/>注册/配置]
NACOS["Nacos<br/>(future-state·框架自带未部署)"]
MINIO[MinIO<br/>对象存储]
JPUSH[极光推送<br/>通知]
end
DIFY --> OG & COMFY & AUDIO & VOICE
OG --> CANVAS_RT
CANVAS_RT --> SDK
CANVAS_RT --> LAYA_CLI
SAA --> NEWAPI
NEWAPI --> LLM
SAA --> MMX & VOICE
SAA --> LJS
LJS --> RUNNER
RUNNER --> SDK
SAFE_IMG --> ALI_SEC
```
> **现行口径2026-06-16**:本图已对齐现行工具链——生成 = SAA 裸图编排 → new-api 网关 → 便宜 LLM素材 = mmx-cliComfyUI/Stability Audio 退备选、降级远期Tier1 引擎 = LittleJS 增强发行版 + Runner v2自研 Canvas Runtime/LayaAir CLI 已退役)。详见 §6.2/§6.6/§6.7 决策史。
---
## 7. 非功能性设计与工程治理
@ -1148,7 +1177,7 @@ graph TB
|---|---|---|---|
| 游戏流首屏 | P75 < 3s | P75 < 1.5s | CDN + 预加载 + 资源压缩 + HTTP/2 |
| API 平均延迟 | P95 < 500ms | P95 < 200ms | Redis 缓存 + 连接池 + 读写分离 |
| 生成任务耗时 | P50 < 60s | P50 < 30s | Dify 并行节点 + 模型优化 + 产物缓存 |
| 生成任务耗时 | P50 < 60s | P50 < 30s | SAA 图并行/条件节点 + 模型优化new-api 多通道+ 产物缓存Prompt hash 命中跳 LLM |
| 并发玩家 | 1,000 DAU | 100,000 DAU | 水平扩缩 + 推荐缓存 + CDN 卸载 |
| 数据库容量(行数) | 单表 < 5000 万行 | 同左 | 超过则分区/归档事件表 ClickHouseQPS 目标随首次压测基线另定 |
@ -1158,11 +1187,11 @@ graph TB
| 策略 | 实现 | 落地阶段 |
|---|---|---|
| 服务注册/发现 | Nacos 集群3 节点,生产) | Phase 4 |
| 服务注册/发现 | Nacos 集群3 节点,生产)**future-state框架自带、MVP 未部署** | Phase 4 |
| 熔断降级 | SentinelHuijing 集成per-API 规则 | Phase 1 配置 |
| 数据库高可用 | MySQL 主从生产MVP 单节点 + 每日备份 | 上线前 |
| 消息可靠 | RocketMQ 同步刷盘 + 死信队列 + 延迟消息 | Phase 2 |
| 生成降级 | LLM 不可用 → 确定性 Fallback 生成器 | Phase 2 |
| 消息可靠 | RocketMQ 同步刷盘 + 死信队列 + 延迟消息 **future-state框架自带、MVP 未部署 broker** | Phase 2 |
| 生成降级 | LLM 不可用 → new-api 多通道切换 + harness 门兜底 + 确定性 Fallback 生成器 | Phase 2 |
| 游戏加载降级 | 加载超时 5s → 自动跳过 + 错误记录 + 降权 | Phase 3 |
| 备份恢复 | MySQL: 每日全量 + binlogOSS: 跨区域复制 | Phase 1 |
| 回滚 | 每次部署保留前 3 个版本镜像5 分钟内可回退 | CI/CD 内置 |
@ -1234,7 +1263,7 @@ graph LR
| 格式 | JSON 结构化timestamp / level / trace_id / span_id / module / message / context |
| 级别 | ERROR需人处理/ WARN可能需关注/ INFO关键链路/ DEBUG开发用 |
| 脱敏 | Token/密码/手机号/身份证 → 脱敏后输出(`138****1234` |
| trace_id | Gateway 入口注入,全链路透传(含 Dify/OpenGame 调用) |
| trace_id | Gateway 入口注入,全链路透传(含 SAA 编排节点 observation + new-api 调用) |
| 保留 | ERROR/WARN: 90 天INFO: 30 天DEBUG: 仅 dev 环境 |
**告警升级链**
@ -1370,7 +1399,7 @@ main ← 始终可部署,保护分支
#### Feature Flag
| 工具 | Nacos 配置中心MVP Unleash/LaunchDarkly正式 |
| 工具 | 本地配置/数据库开关MVPNacos 框架自带未部署future-state→ Nacos 配置中心 / Unleash/LaunchDarkly正式 |
|---|---|
| 用法 | 代码中 `if (featureFlag.isEnabled("new-recommend-algo")) { ... }` |
| 管理 | admin 后台可开关,无需重新部署 |
@ -1380,16 +1409,16 @@ main ← 始终可部署,保护分支
| 扩展方向 | 预留机制 |
|---|---|
| 新玩法模板 | 模板注册Dify Workflow + 模板 JSON Schema + 示例 Prompt |
| 新 LLM 供应商 | Dify 原生多模型管理 + 模型 A/B 测试 |
| 新玩法/能力插件 | LittleJS 能力插件注册(玩法模板层已废除 W-CLEAN玩法/美术/关卡/UI=agent 生成域)+ Prompt Registry 示例 |
| 新 LLM 供应商 | new-api 网关多通道OpenAI 兼容)+ 同模型降级抽检 |
| 新广告联盟 | AdProvider SPI 接口 |
| 新支付渠道 | PayChannel SPI 接口Huijing 原生支持) |
| 新分发渠道 | ConversionAdapter SPI 接口 |
| 单体→微服务 | Spring Profile 控制模块加载 + Nacos 路由 |
| 新分发渠道 | ConversionAdapter SPI 接口Tier1LittleJS渠道 adapter 走 W-CH-α 竞标 |
| 单体→微服务future-state | Spring Profile 控制模块加载 + Nacos 路由Nacos 框架自带、MVP 未部署) |
| MySQL→ClickHouse | 事件表 DAO 抽象 + 双写期 |
| SDK 版本升级 | manifest 中声明 SDK 版本 + 向后兼容 + 运行时按版本加载 |
| 多端适配(小程序壳/APP壳 | SDK + 宿主分离;宿主可替换为微信/抖音小程序容器 |
| Prompt 版本管理 | Dify 内置工作流版本 + 环境隔离draft/published |
| Prompt 版本管理 | Prompt 即第 8 契约Git Registry+ 环境隔离draft/published+ 轻量门禁 |
| 生成产物缓存 | 相同 Prompt hash → 缓存命中 → 跳过 LLM 调用(节省成本/加速) |
---
@ -1398,11 +1427,11 @@ main ← 始终可部署,保护分支
| # | 风险 | 概率 | 影响 | 应对策略 | 降级方案 |
|---|---|---|---|---|---|
| 1 | LLM 调用不稳定(超时/限流/幻觉) | 高 | 高 | Dify 内置重试+熔断;多供应商切换 | 确定性 Fallback 生成器 |
| 2 | 生成游戏质量不可控 | 高 | 高 | JSON Schema 强校验 + 可玩性自动测试 + 模板约束 | 质量不达标不入库 |
| 1 | LLM 调用不稳定(超时/限流/幻觉) | 高 | 高 | new-api 网关多通道切换 + 同模型降级抽检 + SAA 节点重试 + harness 九门兜底 | 确定性 Fallback 生成器 |
| 2 | 生成游戏质量不可控 | 高 | 高 | JSON Schema 强校验 + 可玩性自动测试harness 九门)+ 插件库约束 | 质量不达标不入库(门未过不出包) |
| 3 | 游戏沙箱逃逸 | 低 | 极高 | CSP + sandbox + 无网络 + postMessage 校验 | 检测到异常立即销毁 iframe |
| 4 | OpenGame 社区停更 | 中 | 中 | fork 维护 + 核心 pipeline 逻辑简单可自维护 | 退化为纯 Dify + 模板生成 |
| 5 | Dify 版本升级不兼容 | 中 | 中 | 锁定版本 + 壳层隔离 | 自部署可控 |
| 4 | ~~OpenGame 社区停更~~(已 mootOpenGame 从未部署,降级远期) | — | — | 现行生成 = new-api + SAA 裸图编排,无 OpenGame 依赖;本行留作历史 | — |
| 5 | LLM 网关/编排框架升级不兼容new-api / SAA | 中 | 中 | 锁定 SAA v1.1.2.2(同 minor 补丁前向兼容)+ new-api 自部署可控 + 编排藏在 job/callback 契约后可替换 | 单写切回 http worker dispatcher |
| 6 | 广告联盟审核不通过 | 中 | 高 | 提前申请资质 + 内容合规前置 | 延迟广告上线,先做订阅/B端 |
| 7 | 多模块单体启动内存不足 | 低 | 中 | 8GB+ JVM + 模块懒加载 | 拆分 2-3 个 JVM |
| 8 | MQ 重复消费导致数据不一致 | 中 | 高 | 消息幂等消费§7.3 | 定时任务修复 + 告警 |
@ -1471,7 +1500,7 @@ gantt
| 资源 | 规格 | 月费估算 |
|---|---|---|
| 云服务器(业务) | 4C16G × 2 | ¥1,200 |
| 云服务器AI引擎 | 4C16G × 1Dify + OpenGame | ¥600 |
| 生成接入服务器new-api 网关自部署 + 调度) | 4C16G × 1~~原 Dify+OpenGame现行 = new-api 网关 + SAA 进程内编排~~ | ¥600 |
| MySQL RDS | 2C8G | ¥400 |
| Redis | 2G | ¥200 |
| OSS + CDN | 100GB 存储 + 500GB 流量 | ¥300 |
@ -1486,7 +1515,7 @@ gantt
|---|---|---|
| 后端工程师 | 2 | huijing 二开 + 业务模块 + API |
| 前端工程师 | 1 | game-studio + game-admin 二开 |
| AI/生成工程师 | 1 | Dify 编排 + OpenGame 集成 + 质量 |
| AI/生成工程师 | 1 | SAA 裸图编排 + new-api 接入 + 便宜模型/harness 门 + 生成质量 |
| 产品/运营 | 1 | PRD + 种子用户 + 审核 |
| **合计** | **5 人** | |
@ -1500,8 +1529,8 @@ gantt
|---|---|
| GameConfig | 游戏配置 JSON描述玩法/关卡/角色/规则 |
| GamePackage | 可运行的游戏包(代码 + 资源 + manifest |
| DAG | 有向无环图,用于描述生成工作流节点编排 |
| Game Skill | OpenGame 的经验积累机制,类似 few-shot 模板 |
| DAG / StateGraph | 有向无环图/状态图,描述生成工作流节点编排;现行由 **SAA(Spring AI Alibaba)裸 `StateGraph`** 承担11 节点/4 条件边),~~非 Dify 可视化编排~~Dify 未部署) |
| ~~Game Skill~~(已退役) | ~~OpenGame 的经验积累机制,类似 few-shot 模板~~——OpenGame 从未部署、降级远期,本术语仅留作历史,勿作现行依赖 |
| quality_score | 基于玩家行为信号聚合的游戏质量评分 |
| Feed | 游戏流推荐列表 |
| Manifest | 游戏包描述文件(入口/资源列表/hash/大小) |
@ -1511,10 +1540,16 @@ gantt
| 决策 | 文档位置 |
|---|---|
| 模块划分13 个业务模块) | `技术架构与模块.md` |
| AI 引擎选型Dify + OpenGame**已降级远期增强** | 本文 §6.2 |
| **生成主线 = 模板驱动MVP 现行)** | C2 裁定:`docs/agent-specs/2026-06-09-generation-spike/spike-summary.md` |
| LLM 接入D1主 DeepSeek/备 Qwen现行 MiniMax-M2.7 经 new-api | `docs/agent-specs/2026-06-08-mvp业务决策.md` |
| MVP 模板集D2idle/tycoon/merge/clicker —— ⚠️ 与 `contracts/templates/` 现存 clicker/dodge/runner/match 不一致,**下一模板/渲染面波开工前必拍** | 同上 + HJ-AUDIT-001 R4 |
| AI 引擎选型(~~Dify + OpenGame~~**已降级远期增强、从未部署** | 本文 §6.2 |
| **生成主线 = 模板驱动 via new-api 网关 → agent 写码于插件库MVP 现行)** | C2 裁定:`docs/agent-specs/2026-06-09-generation-spike/spike-summary.md`HJ-GEN-001 + `.agents/skills/cheap-model-game-generation.md` |
| **agentic 编排基建 = SAA(Spring AI Alibaba GA v1.1.2.2)裸 `StateGraph` 编排HJ-AGI-002现行AgentScope 降 long-term premium** | `docs/agent-specs/2026-06-15-SAA-*` + `.agents/skills/saa-graph-orchestration.md` + `.agents/knowledge/tech-decisions.md` §1/§4 |
| **Tier1 引擎 = LittleJS 增强发行版55KB gz+ Runner v2 装载契约 `game-host.d.ts`2026-06-12 终裁,自研 Canvas<15KB 已废除、15KB 红线废除)** | `docs/agent-specs/2026-06-11-T1引擎终裁包.md` + `.agents/knowledge/tech-decisions.md` §1.1 |
| **模板 = LittleJS 能力插件玩法模板层已废除W-CLEAN玩法/美术/关卡/UI=agent 生成域** | HJ-GEN-001 + `.agents/knowledge/tech-decisions.md` §1.1 |
| **AI 素材/音乐工具链 = mmx-cliMiniMax2026-06-12 创始人亲验拍板默认ComfyUI 退备选** | `.agents/knowledge/tech-decisions.md` §1AI 素材工具链行)|
| **代码命名空间 = com.wanxiang.huijing公司 Wanxiang/项目 Huijing2026-06-15 合 dev/2.0.0);对外品牌 = 绘境AI** | `docs/memorys` brand-rename + `.agents/knowledge/product-and-architecture.md` |
| **RocketMQ / Nacos = future-stateyudao 框架自带依赖+yaml 配置存在MVP 未部署 broker/registry** | 本文 §3.1/§3.3/§5.2/§7.2`.agents/knowledge/tech-decisions.md` |
| LLM 接入D1主 DeepSeek/备 Qwen现行 = new-api 网关多模型deepseek-v4-flash/pro + MiniMax-M2.7/M3 渠道全活) | `docs/agent-specs/2026-06-08-mvp业务决策.md` + `.agents/knowledge/tech-decisions.md` §3 |
| MVP 模板集D2idle/tycoon/merge/clicker —— ⚠️ 玩法模板层已随 W-CLEAN 废除、存量数据已清除;模板=LittleJS 插件) | 同上 + HJ-AUDIT-001 R4 + W-CLEAN |
### 11.3 后续文档规划

View File

@ -28,11 +28,11 @@
| 能力 | 竞品做法 | 造梦做法 | 成本对比 |
|---|---|---|---|
| AI 生成引擎 | 自研6-12 月,投入千万) | Dify 开源编排 + OpenGame 开源生成4-6 周集成 | **节省 80% 时间和成本** |
| AI 生成引擎 | 自研6-12 月,投入千万) | new-api 网关直连通用 LLM + 模板/插件库驱动生成数周集成Dify/OpenGame 列为远期增强) | **节省 80% 时间和成本** |
| 后台管理系统 | 自建3-6 月) | Huijing Cloud 开源二开60%+ 能力开箱即用 | **节省 3 个月** |
| 工作流/审核 | 自建 | Flowable 工作流引擎Huijing 内置) | **零开发成本** |
| 多模型切换 | 绑定单一供应商 | Dify 原生支持多 LLM 热切换 | **零锁定风险** |
| 游戏运行时 | 自研重型引擎 | 自研轻量 Canvas RuntimeTier1+ Cocos Creator + MCPTier2/3远期 | **轻量自研+成熟引擎复用,零许可费** |
| 多模型切换 | 绑定单一供应商 | new-api 网关原生支持多 LLM 热切换 | **零锁定风险** |
| 游戏运行时 | 自研重型引擎 | LittleJS 增强发行版 + Runner v2Tier1+ Cocos Creator + MCPTier2/3远期 | **开源轻引擎+成熟引擎复用,零许可费** |
**结论:同等功能,造梦的技术投入约为极逸 SOON 的 1/5时间约为 1/3。**
@ -79,23 +79,24 @@
### 4.1 架构策略
**不自研大模型,不自研引擎。用开源框架组合 + 通用 LLM API 实现 SOTA 效果。**
**不自研大模型,不自研引擎。用 new-api 网关直连通用 LLM + 开源轻引擎/能力插件库组合实现 SOTA 效果。**
| 组件 | 来源 | 作用 | 成本 |
|---|---|---|---|
| Dify | 开源MIT/Apache自部署 | AI 工作流可视化编排、多模型切换、可观测 | 免费 |
| OpenGame | 开源CUHK MMLab, 2025 | 游戏代码生成 Agent论文验证 SOTA | 免费 |
| 通用 LLM | DeepSeek / 通义千问 / OpenAI API | 底层语言理解和代码生成 | ¥0.05-0.1/次 |
| 自研轻量 Canvas Runtime / Cocos Creator + MCP | 自研 + 开源MIT | 游戏运行时Tier1 轻量自研Tier2/3 用 Cocos远期 | 零许可费 |
| new-api 网关 | 开源,进程外网关 | 多 LLM 统一接入、热切换、计费/配额、可观测 | 免费(仅 LLM 按次计费) |
| SAASpring AI Alibaba裸图编排 | 开源,后端进程内 | AI 生成流程编排StateGraph无需自部署编排服务 | 免费 |
| 通用 LLM | DeepSeek / 通义千问 / MiniMax经 new-api 网关) | 底层语言理解和代码生成 | ¥0.05-0.1/次 |
| LittleJS 增强发行版 + Runner v2 / Cocos Creator + MCP | 开源MIT | 游戏运行时Tier1 开源轻引擎+宿主层Tier2/3 用 Cocos远期 | 零许可费 |
| Dify / OpenGame | 开源 | 可视化编排 / 代码生成 Agent**远期增强方向MVP 不部署** | 远期 |
### 4.2 为什么不自研模型
| 自研模型 | 用开源组合 |
|---|---|
| 需要 1000 万+ 数据标注 | OpenGame 已有训练数据和 benchmark |
| 需要 1000 万+ 数据标注 | 直接调用已训练好的通用 LLM无需自建训练数据 |
| 需要 GPU 集群(月烧百万) | 调用 API按次计费月几千元 |
| 需要 6-12 个月出第一版 | 4-6 周核心链路跑通 |
| 模型能力绑定单一供应商 | Dify 随时切换最新最强模型 |
| 模型能力绑定单一供应商 | new-api 网关随时切换最新最强模型 |
**极逸 SOON 花了 1 亿做自研模型,我们用 1/20 的成本达到同等可用性,剩下的钱花在他们没有的能力上——流量和变现。**
@ -160,7 +161,7 @@ T+1 自动入账创作者钱包80% 分成)
| 项目 | 月费 | 说明 |
|---|---|---|
| 云服务器 | ¥2,400 | 3 台 4C16G业务+AI+中间件 |
| 云服务器 | ¥2,400 | 3 台 4C16G业务[含 SAA 进程内编排]+网关[new-api]+中间件;图片/音乐及生成 LLM 走外部 API 不占自建算力 |
| 数据库 | ¥400 | MySQL RDS |
| 对象存储 + CDN | ¥300 | 游戏包/素材/封面 |
| LLM API | ¥1,000 | ~10,000 次生成/月 |
@ -226,7 +227,7 @@ T+1 自动入账创作者钱包80% 分成)
| 验证项 | 方法 | 预期里程碑 |
|---|---|---|
| AI 生成可行性 | Dify + OpenGame 集成 demo | 第 4 周Prompt→可玩游戏 端到端跑通 |
| AI 生成可行性 | new-api 网关直连 LLM + 模板/插件库生成 demo | 第 4 周Prompt→可玩游戏 端到端跑通 |
| 游戏流体验 | 游戏流 prototype + 10 款种子内容 | 第 8 周:滑动即玩体验可用 |
| 变现链路 | 广告 SDK 集成 + 结算流程 | 第 10 周:创作者看到收益 |
| 多渠道分发 | 微信小游戏导出验证 | 第 12 周:至少 1 个渠道通过审核 |