本次内容(自 0.1.4)
稳定性收尾(用户无感的内部修复)
governorBusy 改为 active-session 派生状态:修跨会话 race(A 加载中途切到 B,A 的旧回调曾污染 B 的 busy 状态)。状态枚举化为 idle/loading/settling/paused/done,isGovernorBusy() 从当前会话派生,删除全局布尔。
- DOM 查询系统收口:applySurgery 主查询 / jumpTo / countAnchors / findLoadOlderButton 全部收口到会话滚动容器(未挂载时回退 document);按钮匹配移除泛化的「加载更多 / Load more」,只保留会话专属文案。
- async cleanup 收口:disposers 登记表统一清理 timer/requestIdleCallback/subscribe;
generation 守卫保留作第二道防线。
- 避免无效扫描:5 秒兜底加 dirty 门(无变化时跳过全量扫描);scan 记录耗时、清 dirty;长会话下减少无用 DOM 查询。
可观测性 + 一键报告问题(核心新功能)
- 调试性能报告:debug 开启时每 10s 输出
[tidychat perf](轮次 / 扫描耗时 / 定位条 / 自动加载状态),window.__tidychatReport() 手动触发。
- 📤 一键「生成诊断报告并提交」(设置面板):
- 自动生成完整报告:时间 / DSH 版本占位 / 插件版本(构建时注入)/ 浏览器 / 会话规模 / 性能(最近+峰值+扫描次数)/ 自动加载 / 定位条 / 开关配置
- 异常自动检测:扫描峰值超预算、autoLoad 暂停、autoLoad 关闭、autoLoad 未触发等自动写入「系统检测」段
- 现象快捷标签:6 个可多选标签(滚动卡顿/输入卡顿/界面卡顿/定位条异常/自动加载异常/折叠异常)
- 标题+正文全预填:打开 GitHub issue 新建页即已填好,用户检查后提交即可——全程零手写
其它
- README 兼容性更新:适配 DSH ≥ 0.1.0-rc.7(含 0.1.1-rc.x 实测 rc.1/rc.2)
安装 / 更新
dsh plugin --profile web add git+https://github.com/BananaSoldier01/dsh-tidychat.git#v0.1.5
# 或从 main 更新
dsh plugin --profile web update @bananasoldier01/dsh-tidychat
下一步(0.1.6)
- 左缘定位条超长优化(窗口化 / 随内容滚动,方案未定)
- Turn Index 层(fold/navigator/autoload 共享索引)