Implement unified story generation flow
This commit is contained in:
@@ -13,7 +13,7 @@ DreamWeaver 当前已经具备“输入主题 -> 生成故事/绘本 -> 补全
|
||||
|
||||
这个方向的价值不在于再加一个输入方式,而在于把 DreamWeaver 从“生成结果”推进到“陪伴式创作过程”。孩子不是先写清楚需求再等待结果,而是可以像和讲故事的人对话一样,说出自己想要的角色、情节和变化,系统实时或准实时地接住这些表达,再继续讲下去。
|
||||
|
||||
本增量 PRD 最初用于把语音共创定义为一条独立、可评估、可拆阶段落地的产品路线。2026-04-24 更新后,远端 `main` 已经提前跑通 Phase A Alpha:独立 Voice Studio、语音/文本回合、低置信度确认、安全改写、TTS 回复、会话恢复、finalize 保存为 Story,以及接回统一 generation job 的资产补全与 trace。下一步不应继续扩大到 Phase B 实时化,而应先完成 Alpha 验收、真实 ASR Provider 接入、成本/观测补齐,并回到原主线的跨环境 Provider 汇聚、监控告警和断点续跑。
|
||||
本增量 PRD 最初用于把语音共创定义为一条独立、可评估、可拆阶段落地的产品路线。2026-05-06 更新后,远端 `main` 已经跑通 Phase A Alpha:独立 Voice Studio、语音/文本回合、低置信度确认、安全改写、TTS 回复、会话恢复、finalize 保存为 Story,以及接回统一 generation job 的资产补全与 trace。ASR 已纳入 Provider 能力与管理端运营摘要,当前代码镜像重建后的 Docker voice smoke 已通过;真实 Key 环境仍需补验。下一步不应继续扩大到 Phase B 实时化,而应先完成真实 ASR 环境验收,再回到原主线的跨环境 Provider 汇聚、监控告警和断点续跑。
|
||||
|
||||
---
|
||||
|
||||
@@ -31,8 +31,8 @@ DreamWeaver 当前已经具备“输入主题 -> 生成故事/绘本 -> 补全
|
||||
|
||||
### Proposed Sequencing
|
||||
|
||||
1. 先完成 Phase A Alpha 收束:回归验证、演示清单、验收矩阵和已知限制记录。
|
||||
2. 补齐真实 ASR Provider、turn 级成本/指标归因、Voice Studio smoke 路径和失败降级验收。
|
||||
1. 先完成 Phase A Alpha 收束:回归验证、演示清单、验收矩阵、服务复杂度自审和已知限制记录。
|
||||
2. 补齐真实 ASR Key 环境验收,以及 turn 级对话/TTS 成本归因。
|
||||
3. 回到生产化主线:跨环境 Provider 汇聚、监控告警、断点续跑与更细粒度任务控制。
|
||||
4. Phase A 稳定并验证产品价值后,再评估 Phase B 准实时共创。
|
||||
|
||||
@@ -386,7 +386,7 @@ DreamWeaver 的语音共创模式应当成为一种“孩子可以开口参与
|
||||
|
||||
#### 3. 新增 ASR / Dialogue Orchestrator 能力
|
||||
|
||||
当前系统已有 `text` / `image` / `tts` / `storybook` capability,但 **没有输入侧语音识别能力**。未来至少需要新增:
|
||||
初始系统已有 `text` / `image` / `tts` / `storybook` capability,但当时 **没有输入侧语音识别能力**。Phase A Alpha 已新增 `asr` capability、demo fallback 和 `openai_asr` 适配器;真实 Key 环境仍需验收。能力层仍至少包含:
|
||||
|
||||
- `asr` 或 `speech_input` capability
|
||||
- 会话级 story planner / dialogue orchestrator
|
||||
@@ -434,15 +434,16 @@ DreamWeaver 的语音共创模式应当成为一种“孩子可以开口参与
|
||||
|
||||
## Key Gaps vs Current Architecture
|
||||
|
||||
当前架构 **可以支撑语音共创方向**,但还不能直接无痛实现,主要差距有:
|
||||
初始架构 **可以支撑语音共创方向**,但不能直接无痛实现;以下差距中,Phase A Alpha 已补齐主链路,剩余重点是生产化验收:
|
||||
|
||||
1. **没有语音输入能力层**
|
||||
现在只有 TTS,没有 ASR / STT。
|
||||
1. **语音输入能力层**
|
||||
已新增 `asr` Provider capability、demo fallback 和 `openai_asr`;仍需真实 Key 环境、延迟样本和更多失败原因验收。
|
||||
|
||||
2. **没有会话态故事模型**
|
||||
现在更像“提交任务 -> 等结果”,缺少持续共创 session。
|
||||
2. **会话态故事模型**
|
||||
已新增 Voice Session/Turn/Event;后续要继续拆分服务边界,降低 turn 编排复杂度。
|
||||
|
||||
3. **没有剧情修正语义**
|
||||
3. **剧情修正语义**
|
||||
已支持基础 start / continue / correct;后续要用更多真实儿童表达样本提高覆盖。
|
||||
当前重试和取消针对 job,不针对“故事中途被改写”。
|
||||
|
||||
4. **没有低延迟链路设计**
|
||||
@@ -513,7 +514,7 @@ DreamWeaver 的语音共创模式应当成为一种“孩子可以开口参与
|
||||
| FR-008 分支剧情 | Deferred | 当前状态模型不阻断未来扩展,但未实现分叉体验 | 保持 P2,Phase A 不做 |
|
||||
| NFR-001 响应可接受 | Needs Measurement | 回合式体验已实现,但尚无 p95 指标采集 | 加入 ASR/TTS/turn 编排耗时埋点 |
|
||||
| NFR-002 儿童内容安全 | Alpha Done | 已新增用户转写安全检查、assistant 柔性改写和 `safety_flags` 事件 | 扩充安全样本和误伤回归 |
|
||||
| NFR-003 成本可观测 | Partial | generation job/provider analytics 已覆盖资产补全;voice turn 级 ASR/TTS 成本仍需细化 | 把 ASR/Dialogue/TTS 成本写入 turn/event metadata |
|
||||
| NFR-003 成本可观测 | Partial | generation job/provider analytics 已覆盖资产补全;ASR 已进入管理端 Provider 摘要;voice turn 级 Dialogue/TTS 成本仍需细化 | 把 Dialogue/TTS 成本写入 turn/event metadata |
|
||||
| NFR-004 会话可恢复 | Alpha Done | Voice Studio 支持最近会话恢复和 active session 查询 | 补刷新/切页手动验收记录 |
|
||||
| NFR-005 架构可插拔 | Alpha Done | ASR 已纳入 `asr` Provider capability,默认 demo fallback,可配置 `openai_asr` | 后续补更多 ASR provider 与管理端体验 |
|
||||
|
||||
@@ -699,4 +700,27 @@ DreamWeaver 的语音共创模式应当成为一种“孩子可以开口参与
|
||||
- 已扩展 Voice Studio 观测卡:支持转写来源和会话状态筛选,便于演示时解释 demo/fallback/真实 ASR 差异。
|
||||
- 已扩展 `SMOKE_VOICE=1`:增加 provider/status 过滤断言,避免 analytics 只验证全量路径。
|
||||
|
||||
后续仍未完成:#47 ASR Provider 管理端摘要、#48 Docker voice smoke 回归、#49 服务复杂度拆分、#50 演示口径最终复核。
|
||||
当时后续仍未完成:#47 ASR Provider 管理端摘要、#48 Docker voice smoke 回归、#49 服务复杂度拆分、#50 演示口径最终复核。2026-05-06 已补 #47/#48/#49/#50。
|
||||
|
||||
## Phase A Alpha Execution Update(2026-05-06)
|
||||
|
||||
本轮拉取远端 `main` 到 `0ccfd00 chore: update frontend tooling and Chinese copy` 后继续收束 Alpha 运营可解释性:
|
||||
|
||||
- 已完成 #47:管理端 Provider 运营摘要现在会把 Voice Session 上传转写的 ASR 成功/失败纳入 `capability=asr` 聚合。
|
||||
- 管理端摘要新增 `voice_session_count` 与 `voice_turn_count`,语音识别筛选下可直接看到语音会话数和上传回合数。
|
||||
- ASR 摘要会按转写来源聚合成功调用,按失败事件聚合错误原因,并把 ASR 成本记录计入供应商和用户维度。
|
||||
- 已补后端测试覆盖 ASR 成功、失败、成本、跨用户聚合和管理端接口响应。
|
||||
- 已完成 #48:外部 Registry 阻塞已通过可配置基础镜像与 npm registry 修复;当前代码 `docker compose up -d --build` 通过,重建后 `SMOKE_VOICE=1 ./scripts/demo_smoke.sh` 也通过。
|
||||
- 已完成 #49:技术方案新增服务复杂度自审,列出 `voice_session_service.py`、`generation_jobs.py`、ASR service 和 Voice Studio 的拆分候选、风险信号和建议顺序;并已先把管理端跨用户 Provider/ASR 摘要拆到 `admin_provider_analytics.py`。
|
||||
- 已完成 #50:演示 checklist、demo package、3 分钟 pitch、PRD 和技术方案已统一口径:Voice Studio 是 Phase A Alpha,ASR 摘要已进入管理端,当前代码 Docker 重建和 voice smoke 已完成。
|
||||
|
||||
后续仍未完成:真实 ASR Key 环境验收、turn 级 Dialogue/TTS 成本归因、跨环境 Provider 汇聚、断点续跑和更完整监控。
|
||||
|
||||
## Phase A Alpha ASR Key Validation Prep(2026-06-01)
|
||||
|
||||
- 已检查 `openai_asr` 接线:适配器通过 ASR Provider Router 被 Voice Session 上传回合调用,Provider 默认配置读取 `OPENAI_API_KEY`、可选 `OPENAI_API_BASE`、`VOICE_TRANSCRIPTION_MODEL` 和 `VOICE_TRANSCRIPTION_LANGUAGE`。
|
||||
- 已补 `SMOKE_REAL_ASR=1 ./scripts/demo_smoke.sh`,该路径会自动包含 Voice Studio smoke,上传真实音频并断言 `transcription_provider=openai_asr`、转写文本非空、用户侧 analytics 可按 `provider=openai_asr` 筛选、Admin ASR analytics 能看到 `openai_asr`。
|
||||
- 默认演示路径仍保留 demo fallback;真实 ASR 路径必须显式打开,避免没有 key 时影响普通 smoke。
|
||||
- 文档已补真实 ASR `.env`、运行命令和失败排查口径。
|
||||
|
||||
真实 Key 环境验收仍需在有可用 key 的机器执行;执行通过后再把“真实 ASR Key 环境验收”从后续项里移除。
|
||||
|
||||
Reference in New Issue
Block a user