dispatcher 在生成期间将有序的思考、文本和工具块持久化到所属 assistant 占位消息。会话加载按照已完成轮次相同的方式读取这些块。发生错误时保留这些内容,并另外显示错误提示。
流监听器仅接受所属会话和消息身份。嵌套 runtime 事件保持原有存储方式。文本增量在相邻块内合并;工具结果更新匹配的块。成功时仍以既有最终持久化结果为准。错误元数据与已存进度合并。除已经实时显示的思考事件外,不生成或暴露其他提供商推理内容。
仓库的流式恢复设计、dispatcher 流监听器、会话节点写入器和 assistant 消息组件共同定义合同。复用 extra.blocks 和既有会话加载路径,不增加仅浏览器端存储,也不重放截断的事件缓冲区。此修复不依赖外部框架。
通过 process_user_turn,在提供商循环返回前和提供商失败后重新加载持久化进度。保留文本、思考和工具的顺序,排除子调用事件。以失败状态渲染 AssistantBubble,验证既有进度和失败提示同时显示。现有成功、取消和审批行为保持兼容。
自动续写或服务端重试发送带轮次关联信息的流事件,包含次数、上限、原因以及已知的等待时间。同一轮任务继续运行时,助手消息显示“正在重试”,即使此前已有正文也显示。成功、最终失败或取消时清除该状态。重试事件不新建用户轮次,也不把原轮次标记为完成。
已实现,独立规格与质量审查均通过。相关 Python 测试共 255 项通过、1 项跳过;全部 713 项 Web 测试、513 项仓库合同、Web 静态检查和文档链接检查通过。测试覆盖生成期间从新 store 恢复、提供商失败、继续、取消、子调用身份隔离和错误渲染。