# dsh-thought-fold 2.2.0 验证记录 ## 交付范围 在 2.1.0 基础上增加: - 已进入聊天流的 user/steering 插话处分段,保留用户消息。 - 运行中的轮次,仅在前段步骤/工具明确结束、结束序号不晚于插话边界时折叠前段;尾段保持可见。 - 已结束的中断轮次,即使没有最终回答锚点也能折叠过程;保留最后一段已输出正文以及停止、错误、长度限制提示。 - 每段复用底部与唯一浮动入口,标明轮次/段号。 - 单独纯思考消息不再额外包组;最终回答内部的原生 inline 思考入口仍可见、可操作。 没有替换已安装插件、修改宿主源码/组成/通用设置,也没有部署到当前 GUI。v2.2.0 源码与标签已推送至 GitHub;保留 2.0.0 与 2.1.0 安装包用于回退。 ## 实际执行结果 | 验证 | 结果 | | --- | --- | | `npm run build` | 通过 | | `npm test` | 77 个 node:test 用例/子用例全部通过,原有客户端 VM 检查通过 | | 其中分段边界测试 | 63 项通过,包含未知/非法边界、步骤未结束、正文保留与独立思考规则 | | 其中设置生命周期测试 | 原有 10 个用例、69 次断言通过 | | `npm run test:browser` | 本机 Edge headless + React 18,37 项全部通过,0 页面错误 | | `git diff --check` | 通过;只有 Git 的 LF/CRLF 提示 | | `npm run pack:plugin` | 通过;打包前自动构建 | | 解包后 `scripts/build-client.js --check` | 通过 | | 包内客户端及三个源文件与工作区字节比较 | 全部一致 | ## 浏览器覆盖 保留 2.1.0 的全部 18 项回归:历史默认折叠、最终回答保留、长/短过程入口、输入框增高、窄窗口、多组冲突、会话切换、延迟加载、原生/兼容切换、beforematch、焦点保持、开关与卸载清理、空闲不扫描等。 新增 19 项: 1. 单次 steering 插话前后独立分段。 2. 多次插话形成多段,展开状态相互独立。 3. flow 中 user 类型插话也作为边界。 4. 原生整轮入口让位后,展开段无双重隐藏。 5. 运行轮次的已结束前段可收起,尾段可见。 6. 前段步骤/工具未结束时不提前收起。 7. 排队、尚未进入 flow 的插话不切段。 8. 已结束且没有回答的中断轮仍能折叠过程。 9. 没有 finalAnswer 锚点仍保留最后有正文的部分回答;尾部独立思考不额外包组。 10. 错误与 max-tokens 提示保持可见。 11. 插话后中断仍保留插话和部分回答。 12. 历史延迟补载插话/中断轮次不遗漏或重复控件。 13. 分段手动展开在重绘及尺寸变化后保持。 14. 分段浮动入口只收当前段。 15. 总开关停用后原生状态保持原样。 16. compact→normal→compact 往返,原生开合状态不被插件修改;任一模式停用均清理。 17. 模拟宿主 useSearchableHidden 的合法 focus reveal;分段与停用不点击原生整轮按钮。 18. 最终回答内 inline 思考控件可以聚焦、展开与收起;停用恢复原生隐藏。 19. dispose 后解除分段接管,重绘不再介入。 这些测试在独立页面运行真实 React 和 Edge,以本机打包宿主的字段及渲染结构构造数据,并在专项场景中模拟宿主的隐藏布局 effect。**不是当前 GUI 中某个真实会话的安装后验收**。beforematch 用例直接派发该事件,不等同于自动操作浏览器 Ctrl+F 界面。 ## 审查与修复记录 - 明确插话边界缺少有效序号时,不借用轮次结束序号折叠;已结束轮次同样执行严格边界校验。 - 独立思考消息不额外包组,避免重复收起控件。 - 审查发现“强制点击打开原生按钮,再恢复”的策略存在按钮重建/延迟提交状态泄漏,已改为纯显示接管:用自有标记覆盖显示,不修改原生展开状态。 - 记录隐藏属性是否由原生控件拥有,避免切到标准模式后恢复过时的原生隐藏。 - 对最终回答的 data-turn-process-inline 包装也提供可撤销显示接管,保留其原生思考开关。 - 专项测试发现 React 18 布尔 hidden 夹具与真实宿主 hidden="until-found" 行为不同,已改用宿主式布局 effect 验证,没有放宽恢复断言。 ## 安装包 - 文件:`dsh-thought-fold-2.2.0.tgz` - 大小:32,694 字节 - SHA-256:`2534b88f22a4ea951e08ec5112f4413d2fdcb50dc690ded120193a59a8c7d231` - 包内 12 个文件,不含测试依赖、宿主参考提取物或临时缓存。 ## 安装后验收建议 安装新包并重启 DSH 后: 1. 打开包含中途插话的旧会话,检查插话可见、前后段独立收起。 2. 同时展开两段,滚动到第二段并使用浮动入口,检查第一段不受影响。 3. 打开手动停止或报错的会话,检查过程收起,但末尾已有正文及提示可见。 4. 对包含最终回答内联思考的会话,检查原生思考开关仍能操作。 5. 切换紧凑/标准视图,再停用插件,检查内容与原生控件恢复。 未知旧格式或缺少可靠步骤/轮次结束边界的段故意保持可见,不以猜测方式隐藏内容。尚未收到结束确认的重试、审批或网络等待不视为中断。