Skip to content

ADR turn-process-and-thinking-display:回合过程与思考展示 ​

英文源 ADR 是状态与决策内容的最终依据。

  • 状态:已接受
  • 日期:2026-09-17
  • 修订:2026-09-20
  • Issues:#510、#461
  • 修订对象:D071、ADR 0242

背景 ​

模型在回答一次用户请求之前,可能多次交替输出推理、工具调用和进度文字。仅使用分散 的活动组,会让进度文字与最终回答处于同一视觉层级;仅使用一个扁平的过程容器,又会 让较长的工具或搜索序列难以浏览。部分用户还需要稳定的思考状态提示,而不是快速变化 的推理正文。

决策 ​

两种显示模式都把每个已加载的助手回合条目投影为一个“回合过程”披露区和其后的最终 回答。思考、工具和中间进度文字按原顺序保留在过程中。流式输出时,暂定为回答的末尾 助手文字保持可见;如果随后出现工具或思考活动,该文字会移入过程,但不会改写已存 消息。UiMessage 没有语义化的最终回答标记,因此渲染器不根据措辞猜测。用户消息、 系统消息和压缩分隔线继续保留原有回合边界。

过程包含三个相互独立的披露层级:整个回合过程、普通活动组和单项详情。普通活动组 包含两个进度段落之间的一段连续工具、搜索或思考活动,并且仅在当前模式下至少有两个 可见项时出现。单个工具、搜索或思考直接使用自身披露;紧凑模式隐藏的思考不会制造 多余的组层级。现有 Task 拓扑仍是其片段的容器,不会在普通活动组中重复渲染。

详细模式下,活动中和已完成的整个过程默认展开。拥有当前执行片段的普通活动组在运行 时默认展开;完成时仅在用户未操作的情况下自动收起。其他已完成的普通活动组默认 收起。紧凑模式下,过程和普通活动组默认收起;但活动回合中只要记录过失败或被拒工具, 尚未被用户接管的外层过程会在后续恢复期间保持展开,并在回合完成后自动收起。紧凑 模式下所有工具和搜索载荷默认收起,不渲染推理正文或摘要,仅保留活动思考指示器,且 不会留下空的已完成纯思考容器。

详细模式仅为最后一个活动组的字面最后一项保留叶子默认值。如果该项是符合条件的工具 调用或托管搜索,其载荷默认展开;失败和被拒项仍受保护并保持收起。若最后一项是思考, 渲染器不会向前寻找并打开更早的工具。打开一个已收起的祖先只会恢复已保留的叶子状态, 不会展开所有后代。

每个标题只切换自己的层级。父子状态彼此独立:收起父级会保留后代选择,重新展开会恢复 这些选择,同级组不是互斥手风琴。用户操作某个条目时,会把所属组和过程标记为用户接管, 但不会切换祖先;完成事件不得收起包含用户已展开、聚焦或选择内容的容器。只要所属的 保留会话窗格仍存在,手动选择就跨流式更新、完成、模式切换、单项变组和行重新挂载保留。 窗格淘汰、会话删除或渲染器重启会释放这些展示状态;它们不写入消息或宿主设置。

搜索和导航只展开目标所需的祖先路径:过程,以及拥有该消息的活动组。条目级精确定位不在本次范围内,各行详情仍由各自的折叠控制。同一请求重新渲染时,不会反复覆盖用户之后的手动收起。紧凑模式中的推理仍保持隐藏, 同一请求重新渲染时,不会反复覆盖用户之后的手动收起。紧凑模式中的推理仍保持隐藏, 直到用户选择详细模式。助手错误、中止后的末尾部分回答、权限/提问/计划/目标决策及 其他待处理操作面必须位于隐藏过程之外,无需展开过程即可操作。

“设置 -> AI -> 默认项”继续使用可选的 thinkingDisplayMode 设置,取值为 detailed | compact;缺失或未知值按详细模式处理。该字段只改变展示,不改变提供商 思考级别、运行时或模型上下文、已存推理、导出、权限、执行或复制载荷。过程标题使用已 记录的计时、直接工具/搜索计数、运行状态和问题计数;不会重复计算委派子任务,也不会 把单个失败工具误报为整个助手回合失败。

结果 ​

  • 两种模式都提供一个整个过程的披露,同时把最终回答和待处理操作保留在过程之外。
  • 详细模式默认保留进度叙述可见,收起未操作的已完成活动组,并保留字面最后一项的叶子 默认值。
  • 紧凑模式仍是低细节选项:过程收起、载荷关闭、推理内容隐藏。
  • 披露记忆是以稳定回合、组和条目标识为键的窗格展示状态,不是持久化转录契约,也不 属于中央工作流 store。
  • 只对已加载的转录条目分组;不会重建未加载历史,也不会跨压缩边界合并回合。

验证 ​

2026-09-20 的修订按本次请求仅进行静态检查和编译。关联的 E2E 场景用于描述源码与设计 审查中的预期行为;本次修订不新增或运行单元、组件、集成、浏览器、Electron 或 E2E 测试。同步后的场景文本见 E2E-CHAT-turn-process-and-thinking-display。

本地优先 · 模型可替换 · 插件可扩展。 AIUO.NET