Agent 历史会话恢复加载反馈¶
Issue:#516
影响面:右侧 Agent 侧边栏的历史会话恢复
问题¶
点击只有 ACP provider id、但本地还没有 transcript 的历史会话时,前端会等待 session/load 完整返回后再激活会话。若 provider 回放历史较慢,侧边栏内容区会停留在旧会话或空白状态,用户无法判断点击是否生效。
修复¶
agent-session-store新增hydratingSessionId,用于表达当前 active tab 正在通过session/load恢复。- 打开需要远端加载的历史项时,先把该历史项以空 transcript upsert 并激活,再发起
session/load。 ChatTranscript在 active tab 处于 hydrating 且暂无线条时展示 Shimmer 文案和消息骨架;加载成功后由hydrateAndActivateSession原子替换为真实内容。- 本地已有 transcript、切换 Vault/Agent、新建会话和跨窗口 handoff 会清理 hydrating 状态,避免占位泄漏到其它会话。
验证点¶
- 点击外部/远端历史会话后,Agent 侧边栏立即显示恢复占位。
session/load完成后,占位替换成真实多轮 transcript。- 本地已有内容的历史项仍然立即显示真实内容。
Roadmap 与 TODO 已检查:这是已实现 Agent 历史恢复能力的体验缺陷修复,不新增未完成产品项。