Files
yingqing/docs/bug_todo/视频项目-脚本时间持续增长-bug-todo.md
T

47 lines
3.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 视频项目|脚本时间持续增长 Bug TODO
> 状态:代码修复完成,待页面确认(2026-07-16)
> 范围:仅视频项目 Pipeline Stage 1「脚本助手」内的历史生成进度卡;不影响其他页面、任务或计时展示。
> 协作约定:本待办建立时不修改任何业务代码;待确认现象与预期后,再逐步定位与实施。
## 1. 当前问题描述
视频项目的脚本助手中,已完成的生成进度卡展示“已完成思考 · 用时 xxxs”。
同一条已完成记录在重新进入项目页面后,展示用时会持续变大。例如先显示 `455s`,再次进入后变为 `721s`;任务实际并未重新执行。
## 2. 已确认根因
- 前端在发起脚本生成时记录了开始时间。
- 生成完成后,该开始时间随脚本助手对话历史保存到浏览器本地。
- 再次进入页面时,已完成卡片仍使用“当前时间 − 原开始时间”重新计算用时,因此经过的自然时间被误算进任务时长。
- 当前计时还会覆盖脚本生成之后的实体提取、自检、保存等步骤;这与“已完成思考”的文案语义不一致。
## 3. 确认的目标效果
- “已完成思考 · 用时 xxxs”必须是一次脚本生成的固定历史结果,刷新、离开或重新进入项目后数值不变。
- 当“按黄金结构生成分镜”完成、流程进入“提取实体”时,思考用时立即冻结。
- 后续的提取实体、自检、落库与页面刷新不计入“思考用时”。
- 修复仅作用于视频项目 Pipeline Stage 1 脚本助手的这类进度卡;不改动其他功能、页面或任务的计时逻辑。
## 4. 待实施方案(最小范围)
1. 在脚本助手的单条进度记录中,增加独立的“思考结束时间”或已冻结的思考时长。
2. 收到“生成分镜完成”事件时立即写入该固定值,并随该条历史对话保存。
3. 已完成卡片优先展示固定值,禁止用重新打开页面时的当前时间重算。
4. 验证首次生成、刷新页面、离开后重新进入、历史多条记录四种情况,确认数值均不会继续增长。
## 5. 非目标
- 不调整脚本生成、实体提取、自检、落库等业务执行顺序。
- 不修改后端任务计费、任务状态或数据库历史数据。
- 不改动其他页面、其他 Pipeline 阶段和其他 AI 任务的计时展示。
## 6. 实施结果(2026-07-16
1. 已仅在 Pipeline Stage 1 脚本助手的进度消息数据中新增冻结的思考时长字段。
2. 后端流返回“生成分镜完成”时,前端立即记录并保存该秒数;后续实体提取、自检、保存不再改变它。
3. 已完成的历史进度卡优先使用该固定秒数,不再以重新进入页面时的当前时间计算。
4. 对修复前已保存在浏览器本地的历史记录,由于旧数据未保存真正的完成时刻,无法反推出其最初的准确耗时;这类卡片仅显示“已完成思考”,不再展示误导性的秒数。
5. 前端生产构建已通过。待在页面新生成一次脚本后确认:进入“提取实体”时数字停止,刷新或重新进入项目后数字保持不变。