fix: 归零玩法创作初始进度

This commit is contained in:
2026-04-26 17:06:43 +08:00
parent 79048a8c16
commit 31393340e7
3 changed files with 32 additions and 2 deletions

View File

@@ -0,0 +1,28 @@
# 拼图与大鱼吃小鱼初始创作进度归零修复 2026-04-26
## 背景
拼图与大鱼吃小鱼 Agent 新建会话时,后端会先写入欢迎消息和初始锚点草稿。此前这两个模板把欢迎消息和种子推断视为创作推进,导致新会话一进入工作区就显示非 `0%` 的创作进度。
这与创作工作区的统一约束冲突:新会话必须如实展示后端 session 的 `progressPercent`,初始值为 `0` 时前端数字与进度条都保持 `0%`,不能让用户误判已经完成了创作推进。
## 设计约束
1. 拼图与大鱼吃小鱼新建 Agent session 时,`progress_percent` 固定写入 `0`
2. 欢迎消息、种子文本和初始锚点推断只作为对话上下文与占位结构,不计入创作进度。
3. 首次用户消息提交后,进度才允许由模型回包或后续 action 写回推进。
4. 前端不为这两个模板额外兜底抬高初始进度,进度真相继续来自 `server-rs` 的 SpacetimeDB session。
## 落地点
1. `server-rs/crates/spacetime-module/src/big_fish/session.rs`
- `create_big_fish_session_tx` 初始化 `progress_percent = 0`
2. `server-rs/crates/spacetime-module/src/puzzle.rs`
- `create_puzzle_agent_session_tx` 初始化 `progress_percent = 0`
## 验收
1. 新建大鱼吃小鱼创作工作区后,顶部创作进度显示 `0%`
2. 新建拼图创作工作区后,顶部创作进度显示 `0%`
3. 发送第一条用户消息后,进度按模型回包或后续操作正常推进。
4. 生成草稿、生成资产、发布等后续阶段的进度值不受本次调整影响。

View File

@@ -182,7 +182,8 @@ pub(crate) fn create_big_fish_session_tx(
owner_user_id: input.owner_user_id.clone(),
seed_text: input.seed_text.trim().to_string(),
current_turn: 0,
progress_percent: 20,
// 中文注释:欢迎语和种子推断只是初始上下文,不代表创作者已经推进了共创流程。
progress_percent: 0,
stage: BigFishCreationStage::CollectingAnchors,
anchor_pack_json: serialize_anchor_pack(&anchor_pack)
.map_err(|error| error.to_string())?,

View File

@@ -473,7 +473,8 @@ fn create_puzzle_agent_session_tx(
owner_user_id: input.owner_user_id.clone(),
seed_text: input.seed_text.clone(),
current_turn: 1,
progress_percent: 18,
// 中文注释:欢迎语和初始锚点推断不计入创作进度,新会话必须从 0% 开始。
progress_percent: 0,
stage: PuzzleAgentStage::CollectingAnchors,
anchor_pack_json: serialize_json(&anchor_pack),
draft_json: None,