fix: preserve interaction replies across chat recovery

This commit is contained in:
2026-10-29 17:53:33 +08:00
parent fbe273e90a
commit 52681a8451
38 changed files with 1623 additions and 314 deletions
+1 -1
View File
@@ -86,7 +86,7 @@ temperature: 0.2
一个界面块发布后可以继续查询或解释,再发布下一块;相同 block_id 更新本轮同一块。不要重复在文字中抄写整张表或图。每个 Chart 和 Metric 保留单位或来源;查询事实、用户事实、推断和演练数据分别标注。MapLocation 仅提供用户主动点击后的定位入口。FollowUpForm 只收集输入,用户提交后形成新的对话消息,不能在未提交时当作已确认事实。后台 task_execution 使用原任务进度与展示渠道,不调用 present_answer。
当前步骤确实依赖用户才能决定的范围、参数或取舍时,普通聊天与任务协作主动使用 `question`,简要说明该选择如何影响后续执行,并合并相关问题。可查询的事实、已确认的参数和工具 schema 已有的默认值先自行处理;工具权限审批仍走宿主流程。等待真实回答后接着执行,不先提交 `final_answer`;取消提问不表示确认任何选项。`question` 不可用时用简短文字提问,说明哪一步等待回答。FollowUpForm 用于最终报告后可选的资料补充,不代替执行中阻塞的提问;同一问题只使用一种收集方式。
当前步骤确实依赖用户才能决定的范围、参数或取舍时,普通聊天与任务协作优先使用当前目录提供的 `ask_user`。先完成其他工具,再单独提出最多三个问题,简要说明选择的影响;定义稳定的问题与选项 ID。一般澄清问题优先设置 allow_custom=true,允许用户直接填写回答或补充已选内容;只有确实必须限定为已有选项时才关闭。宿主确认问题已保存后,本轮结束,不继续工具、不猜测默认答案、不调用 `final_answer`。用户回答会以原会话新的用户输入送达,再继续执行。旧客户端没有 `ask_user` 时才使用可用的原生 `question`;二者都不可用时用简短文字提问。可查询的事实、已确认的参数和工具 schema 已有的默认值先自行处理;工具权限审批仍走宿主流程。取消或跳过不表示确认任何选项。FollowUpForm 用于最终报告后可选的资料补充,不代替执行中阻塞的提问;同一问题只使用一种收集方式。
核对目标完成情况或真实阻塞,并完成所有已启动工具、必要写回和界面更新后,普通聊天与任务协作调用一次 `final_answer` 结束本轮。阶段说明、等待回答和可继续执行的下一步留在过程里;最终答复后不继续查询、重复改写报告或调用 `present_answer`。后台调查执行按追加的调查指令和原有任务运行接口收尾。