feat(voice): add async selectable summaries
This commit is contained in:
@@ -98,7 +98,7 @@ API 当前只有通用 HTTP 请求日志。重试请求未到达服务端时,
|
||||
|
||||
## 实施结果
|
||||
|
||||
- 主操作按 `failed -> processing -> generate -> save` 排序;存在失败片段时显示“重试转录(数量)”,不会调用生成接口。
|
||||
- 主操作按 `failed -> processing -> save` 排序;总结生成改为语音记录区内的独立操作,存在失败片段时仍优先显示“重试转录(数量)”。
|
||||
- 原生弹窗确认文案缩短为“重试转录”,符合最多 4 个字符的约束。
|
||||
- 重试开始后立即锁定操作并显示处理中状态;请求结束后无论成功或失败都刷新活动会话并恢复轮询。
|
||||
- 生成请求结束后始终刷新活动会话;API 错误消息和 `X-Request-Id` 保存在页面错误区域,可复制查询。
|
||||
@@ -108,13 +108,19 @@ API 当前只有通用 HTTP 请求日志。重试请求未到达服务端时,
|
||||
- 反馈输入框支持确认后清空,语音记录仍保留;单节内容加入后若超过 2000 字会整体拒绝并提示,不再截断后写入。
|
||||
- API 增加 `transcription_retry_requested`、`feedback_generation_rejected` 和 `failed_transcription_discarded` 业务日志;转录 worker 将无清晰语音分类为 `no_clear_speech`。
|
||||
- 前端自动化测试覆盖失败优先级、重试状态流转、无清晰语音提示和 API 失败后的会话刷新;后端测试覆盖错误分类和 OpenAPI 路由完整性。
|
||||
- 已就绪录音默认全部参与总结,同时支持全选、取消全选和逐节选择;失败或处理中的录音不会进入可选集合,也不会阻止其他已就绪录音生成总结。
|
||||
- 总结改为持久化异步任务,页面轮询展示 `queued`、`processing`、`ready`、`failed` 和 `applied` 状态;生成完成先预览,确认后才替换输入框。
|
||||
- AI 模式内部按片段、单次录音、最终正文分层压缩,最终输出是一份不按录音次数或固定栏目分栏的连贯反馈;未配置 AI 时使用本地抽取式兜底。
|
||||
- 原始转录可远超 2000 字并持续保留;仅最终总结和反馈输入框限制为 2000 字。折叠箭头已由字体字符改为 CSS 矢量形状。
|
||||
|
||||
## 验收标准
|
||||
|
||||
- 存在失败片段时,主按钮不再显示“生成反馈”。
|
||||
- 点击“重试转录”后,API 日志中能查询到对应 `/retry` 请求和业务事件。
|
||||
- 页面在重试期间显示明确的处理中状态,且不会重复提交生成请求。
|
||||
- 重试成功后自动恢复“生成反馈”;再次失败时显示可理解的失败原因。
|
||||
- 重试成功后,该节录音自动进入可选总结集合;再次失败时显示可理解的失败原因。
|
||||
- 所有已就绪录音默认被选中,可逐节取消或一键全选;总结完成后必须先显示预览,不能自动覆盖输入框。
|
||||
- 两万字级原始转录不写入输入框;配置 AI 后由分层总结压缩为不超过 2000 字的一份正文。
|
||||
- 所有 API 错误都能在页面上获得可复制的请求编号。
|
||||
- 自动化测试覆盖失败片段优先级、重试状态流转和生成失败后的会话刷新。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user