Skip to content

v0.2.3 — 修复:自动交接每个会话只做一次

Choose a tag to compare

@easerlee easerlee released this 16 Oct 18:22
· 6 commits to main since this release

Bug 修复(行为变更)

自动交接此前只靠 cooldownMs 拦重复,而交接不会清空老会话的上下文 —— 条件一旦满足就永远满足(「已压缩 N 次」只会越数越多),于是老会话每 5 分钟再交接一次,每次都新开一个会话,最后几个会话同时在干同一件事。(实测:02:04 与 02:09 同一会话连续两次;10/1 也有一次同会话连交 3 次。)

现在:每个会话只自动交接一次。终态取两个来源 —— 内存 + 标题里的 [已交接],所以 DSH 重启后依然有效。

  • 修 lib/index.js 触发门:加终态判定;交接成功才落终态(失败仍会重试)
  • 状态接口 /api/handoff/status 新增 doneSessions / doneSkips —— 一个 curl 就能看出是不是在重复触发
  • 自检新增 2 个用例:同一会话 3 次 pre-step 只允许交接 1 次;标题带 [已交接] 的会话跨重启不触发
  • README(中英)补新语义与 cooldownMs 的定位

更新(先完全退出桌面端):
"<DSH 安装目录>\resources\runtime\cli\bin\dsh.cmd" plugin --profile desktop add dsh-session-shift