refactor: consolidate generation workflow helpers

This commit is contained in:
2026-04-18 13:03:23 +08:00
parent e201fa3358
commit ae7bd79267
4 changed files with 361 additions and 248 deletions

View File

@@ -53,7 +53,7 @@
- 已新增数据库迁移:
- `0009_add_story_generation_statuses.py`
- `0010_add_story_audio_cache_path.py`
- 已完成一轮后端回归验证:`backend/``pytest -q` 结果为 `63 passed`
- 已完成一轮后端回归验证:`backend/``pytest -q` 结果为 `64 passed`
- 已完成全量后端 lint 清理:`ruff check app tests` 可通过
- 已修复 admin-frontend 构建阻塞,主前端与管理端前端均可生产构建
- 已落地首版统一资产重试入口:`POST /api/stories/{story_id}/assets/retry`
@@ -62,12 +62,17 @@
- `GET /api/generations/{story_id}`
- `POST /api/generations/{story_id}/retry-assets`
- 用户前端与 admin 前端创建弹窗已切换到统一生成入口
- service 内部已抽取统一工作流公共步骤:
- 档案/宇宙校验与 memory context 构建
- 文本故事主记录保存
- 绘本主记录保存
- 普通故事封面生成/重试
### What Is In Progress
- 统一状态模型与统一外部 API 已落地,内部 service workflow 仍未真正收束成单一路径
- 统一状态模型与统一外部 API 已落地,内部 service workflow 已开始收束公共步骤
- 旧生成 API 仍保留为兼容层,后续需要继续降低重复实现
- 资产补全已经具备统一重试入口首版,但需要继续抽象统一补全过程和 generation job 边界
- 资产补全已经具备统一重试入口首版,但绘本插图与音频还需要继续抽象统一补全过程和 generation job 边界
### What Is Still Pending

View File

@@ -39,12 +39,16 @@ DreamWeaver 当前同时支持普通故事生成、完整故事生成和绘本
- `GET /api/generations/{story_id}`
- `POST /api/generations/{story_id}/retry-assets`
- 用户前端与 admin 前端创建弹窗已切换到 `POST /api/generations`
- service 内部已开始收束统一工作流步骤:
- 上下文准备:档案/宇宙校验 + memory context 构建
- 主记录保存:文本故事与绘本统一持久化入口
- 资产补全:普通故事封面生成/重试统一封装
- 故事详情页封面补全已切换到统一资产重试入口
- 管理端前端构建阻塞已修复,主前端与 admin 前端均可完成生产构建
### Still Missing
- 普通故事、完整生成、绘本生成已有统一外部入口,内部仍通过兼容 service 路径编排
- 普通故事、完整生成、绘本生成已有统一外部入口,内部 workflow 已开始抽取公共步骤,但旧 service 函数仍作为兼容层保留
- 统一资产重试入口仍是首版:已覆盖普通故事封面、绘本缺失插图、故事音频,但尚未抽象成完整 generation job 模型
- `partial_ready``retryable_assets` 等更细粒度状态仍停留在目标态
@@ -60,11 +64,11 @@ DreamWeaver 当前同时支持普通故事生成、完整故事生成和绘本
DreamWeaver 当前存在以下工作流层面问题:
1. **生成入口正在统一中**
当前前端已切到 `/api/generations`,旧的 `/api/stories/generate``/api/stories/generate/full``/api/storybook/generate` 仍作为兼容入口保留。下一步重点是继续收束 service 内部路径
1. **生成入口已建立,内部路径正在收束**
当前前端已切到 `/api/generations`,旧的 `/api/stories/generate``/api/stories/generate/full``/api/storybook/generate` 仍作为兼容入口保留。service 内部已抽取上下文准备、主记录保存和封面资产补全 helper下一步重点是继续统一音频与绘本插图补全过程
2. **保存与资产补全过程统一**
有的流程先存文本再补图,有的流程只返回绘本对象并依赖前端 store有的流程不考虑音频状态
2. **保存与资产补全过程正在统一**
文本故事和绘本已拥有更清晰的主记录保存 helper普通故事封面生成与重试已共用资产补全 helper。剩余差异集中在绘本插图补全和音频补全过程还未统一成 generation job
3. **状态表达不统一**
系统缺少标准的“生成中、部分完成、已完成、失败、可重试”等状态定义,导致前端难以做出成熟体验。