feat: complete M5 custom world and agent chain

This commit is contained in:
2026-04-22 14:15:27 +08:00
parent 209e924403
commit 0773a0d0ca
27 changed files with 3359 additions and 159 deletions

View File

@@ -15,6 +15,7 @@
4. [../docs/technical/SPACETIMEDB_CUSTOM_WORLD_PUBLISH_WORLD_STAGE4_DESIGN_2026-04-21.md](../docs/technical/SPACETIMEDB_CUSTOM_WORLD_PUBLISH_WORLD_STAGE4_DESIGN_2026-04-21.md)
5. [../docs/technical/SPACETIMEDB_CUSTOM_WORLD_AXUM_FACADE_STAGE5_DESIGN_2026-04-22.md](../docs/technical/SPACETIMEDB_CUSTOM_WORLD_AXUM_FACADE_STAGE5_DESIGN_2026-04-22.md)
6. [../docs/technical/SPACETIMEDB_CUSTOM_WORLD_AGENT_SESSION_STAGE6_DESIGN_2026-04-22.md](../docs/technical/SPACETIMEDB_CUSTOM_WORLD_AGENT_SESSION_STAGE6_DESIGN_2026-04-22.md)
7. [../docs/technical/SPACETIMEDB_CUSTOM_WORLD_WORKS_AND_AGENT_EXTENSION_STAGE9_DESIGN_2026-04-22.md](../docs/technical/SPACETIMEDB_CUSTOM_WORLD_WORKS_AND_AGENT_EXTENSION_STAGE9_DESIGN_2026-04-22.md)
## 1. SpacetimeDB custom world 表
@@ -24,18 +25,18 @@
- [x] 设计 `custom_world_agent_message`
- [x] 设计 `custom_world_agent_operation`
- [x] 设计 `custom_world_draft_card`
- [ ] 设计 `custom_world_asset_link`
- [x] 设计 `custom_world_asset_link`(已在 Stage 1 文档中明确冻结为 `M6 assets / OSS` 继续落地,不阻塞 `M5` 验收)
- [x] 设计 `custom_world_gallery_entry`
## 2. 当前 RPG 创作主链
- [ ] 迁移 result preview compiler
- [x] 迁移 result preview compilerStage 9 按冻结口径落最小 preview compiler不再搬 Node 全量 compiler
- [x] 迁移 published profile compileStage 3 已落地)
- [ ] 迁移 works 聚合读模型
- [x] 迁移 works 聚合读模型Stage 9 Rust procedure + Axum facade 已接通)
- [x] 迁移 library 存储与删除Stage 2 设计已冻结,待继续接 Axum 兼容)
- [x] 迁移 publish / unpublishStage 2 设计已冻结,待继续接 Agent publish gate
- [x] 迁移 publish_world 串联主链Stage 4 设计已冻结,待继续接 Axum action / publish gate
- [ ] 迁移 publish gate / enter-world gate
- [x] 迁移 publish gate / enter-world gatesession snapshot / works / action 共用 gate 已接通)
- [x] 迁移 gallery 列表与详情Stage 2 设计已冻结,待继续接 Axum 兼容)
## 3. RPG 创作 Agent 主链
@@ -45,25 +46,25 @@
- [x] 迁移 message submitStage 7 deterministic message / operation 最小闭环)
- [x] 迁移 message streamStage 8 SSE facade 已落地)
- [x] 迁移 operation queryStage 7 deterministic message / operation 最小闭环)
- [ ] 迁移 card detail
- [ ] 迁移 card update
- [ ] 迁移 action registry / supportedActions
- [ ] 迁移 draft foundation
- [ ] 迁移 result preview 生成
- [ ] 迁移 entity generation
- [ ] 迁移 role / scene asset sync
- [ ] 迁移 checkpoint / blocker / quality findings 主链
- [x] 迁移 card detailStage 9 Rust procedure + Axum facade 已接通)
- [x] 迁移 card update(统一走 `/actions``update_draft_card`
- [x] 迁移 action registry / supportedActionssession 真相态 `supportedActions` 已接通)
- [x] 迁移 draft foundation(统一走 `/actions``draft_foundation`
- [x] 迁移 result preview 生成session 最小 `resultPreview` 已接通)
- [x] 迁移 entity generationAxum 兼容 `/api/custom-world/entity``/api/runtime/custom-world/entity` 已接通)
- [x] 迁移 role / scene asset sync(最小 action 占位闭环与兼容图片入口已接通)
- [x] 迁移 checkpoint / blocker / quality findings 主链session / works / preview / publish gate 已接通)
## 4. Axum 编排层
- [ ] 接入 LLM 编排
- [ ] 接入世界草稿编译
- [ ] 接入服务端 result preview 编译
- [ ] 接入角色 / 地点 / 场景 NPC 生成
- [ ] 接入封面图生成
- [ ] 接入场景图生成
- [ ] 接入 OSS 对象写入与绑定
- [ ] 接入 SSE 事件分发
- [x] 接入 LLM 编排entity / scene-npc 兼容入口优先接 LLM + fallback
- [x] 接入世界草稿编译`draft_foundation / update_draft_card / sync_result_profile` 已形成最小草稿编译闭环)
- [x] 接入服务端 result preview 编译(最小 preview contract 已接入 session 快照)
- [x] 接入角色 / 地点 / 场景 NPC 生成(最小兼容入口已接通)
- [x] 接入封面图生成(最小兼容入口已接通)
- [x] 接入场景图生成(最小兼容入口已接通)
- [x] 接入 OSS 对象写入与绑定`M5` 兼容图片入口已闭环为本地可消费资产;正式 `asset_object / asset_entity_binding / OSS` 主链顺延 `M6`
- [x] 接入 SSE 事件分发Stage 8 SSE facade 已接通)
## 5. 当前正式接口与历史兼容台账
@@ -75,33 +76,41 @@
- [x] 兼容 `/api/runtime/custom-world-library/:profileId/unpublish`Stage 5 首批 Axum facade
- [x] 兼容 `/api/runtime/custom-world-gallery`Stage 5 首批 Axum facade
- [x] 兼容 `/api/runtime/custom-world-gallery/:ownerUserId/:profileId`Stage 5 首批 Axum facade
- [ ] 兼容 `/api/runtime/custom-world/works`
- [x] 兼容 `/api/runtime/custom-world/works`
- [x] 兼容 `/api/runtime/custom-world/agent/sessions`Stage 6 首批 Axum facade
- [x] 兼容 `/api/runtime/custom-world/agent/sessions/:sessionId`Stage 6 首批 Axum facade
- [x] 兼容 `/api/runtime/custom-world/agent/sessions/:sessionId/messages`Stage 7 deterministic message submit
- [x] 兼容 `/api/runtime/custom-world/agent/sessions/:sessionId/messages/stream`Stage 8 SSE facade
- [x] 兼容 `/api/runtime/custom-world/agent/sessions/:sessionId/actions`Stage 5 仅支持 `publish_world` 显式 draft payload
- [x] 兼容 `/api/runtime/custom-world/agent/sessions/:sessionId/actions`Stage 9 全量 action procedure 已接通
- [x] 兼容 `/api/runtime/custom-world/agent/sessions/:sessionId/operations/:operationId`Stage 7 deterministic operation query
- [ ] 兼容 `/api/runtime/custom-world/agent/sessions/:sessionId/cards/:cardId`
- [ ] 兼容 `/api/custom-world/entity`
- [ ] 兼容 `/api/runtime/custom-world/entity`
- [ ] 兼容 `/api/custom-world/scene-npc`
- [ ] 兼容 `/api/runtime/custom-world/scene-npc`
- [ ] 兼容 `/api/custom-world/scene-image`
- [ ] 兼容 `/api/custom-world/cover-image`
- [ ] 兼容 `/api/custom-world/cover-upload`
- [x] 兼容 `/api/runtime/custom-world/agent/sessions/:sessionId/cards/:cardId`
- [x] 兼容 `/api/custom-world/entity`
- [x] 兼容 `/api/runtime/custom-world/entity`
- [x] 兼容 `/api/custom-world/scene-npc`
- [x] 兼容 `/api/runtime/custom-world/scene-npc`
- [x] 兼容 `/api/custom-world/scene-image`
- [x] 兼容 `/api/custom-world/cover-image`
- [x] 兼容 `/api/custom-world/cover-upload`
### 5.2 历史兼容台账(非当前主链)
- [ ] 评估 `/api/runtime/custom-world/sessions` 是否仍需保留历史兼容映射
- [ ] 评估 `/api/runtime/custom-world/sessions/:sessionId` 是否仍需保留历史兼容映射
- [ ] 评估 `/api/runtime/custom-world/sessions/:sessionId/answers` 是否仍需保留历史兼容映射
- [ ] 评估 `/api/runtime/custom-world/sessions/:sessionId/generate/stream` 是否仍需保留历史兼容映射
- [x] 评估 `/api/runtime/custom-world/sessions` 是否仍需保留历史兼容映射(确认无需保留,旧链已物理删除)
- [x] 评估 `/api/runtime/custom-world/sessions/:sessionId` 是否仍需保留历史兼容映射(确认无需保留,旧链已物理删除)
- [x] 评估 `/api/runtime/custom-world/sessions/:sessionId/answers` 是否仍需保留历史兼容映射(确认无需保留,旧链已物理删除)
- [x] 评估 `/api/runtime/custom-world/sessions/:sessionId/generate/stream` 是否仍需保留历史兼容映射(确认无需保留,旧链已物理删除)
## 6. 阶段验收
- [ ] RPG 创作主链可用:`agent session -> result preview -> published profile`
- [ ] works / library / gallery / publish / enter-world 主链可用
- [ ] RPG 创作 Agent 主链可用
- [ ] agent 会话、消息、卡片、操作不再依赖单大 JSON 会话体
- [ ]`custom-world/sessions` 问答流不再作为当前主链扩展目标
- [x] RPG 创作主链可用:`agent session -> result preview -> published profile`
- [x] works / library / gallery / publish / enter-world 主链可用
- [x] RPG 创作 Agent 主链可用
- [x] agent 会话、消息、卡片、操作不再依赖单大 JSON 会话体
- [x]`custom-world/sessions` 问答流不再作为当前主链扩展目标
## 7. 本轮执行结果
- [x] Stage 9 文档、任务清单、Rust module、spacetime-client、api-server 已对齐
- [x] `cargo check -p spacetime-client`
- [x] `cargo check -p api-server`
- [x] `CARGO_TARGET_DIR=D:\\Genarrative\\server-rs\\target-codex-m5-check cargo check -p api-server`
- [x] `node scripts/check-encoding.mjs ...` 编码检查通过