Skip to content

Releases

0.2.0

Choose a tag to compare

@WindFromKadath WindFromKadath released this 13 Oct 02:54

0.2.0 — 2026-10-13

新增

  • 手动归档 / 恢复一个工作区(模型可见工具 workspace_archive):把一个工作区的会话一次收进归档,或恢复此前由它归档的那些。台账为此新增独立的 manualArchivedSessionIds,与"目录消失自动归档"那份完全分开 —— 手动归档是用户的明确意图,不能被"目录消失又回来"的自动恢复顺手放出来;反之亦然。
  • 斜杠命令入口:/archive-workspace <路径或标题> 与 /restore-workspace <路径或标题>。纯宿主侧、零依赖,不需要客户端半边。
  • 删除工作区登记时立即归档:官方注册表说登记没了是权威事件,不再等确认窗口(实测 3125 ms → 33 ms)。而"目录缺失"是一次 stat 的观测、会抖(网络盘、改名中途),仍然走窗口(3120 ms → 3128 ms,不变 —— 符合设计)。
  • 改文件夹名时不再漏唤醒:fs.watch 在改名事件里给的 filename 是新名字,而旧实现按被跟踪的旧名字集合过滤,把事件丢掉了 ⇒ 改名后要等 5 分钟兜底轮询才归档,与"删目录"的行为不一致。现在收到未知 filename 会做一次合并存活探测,确有缺失才唤醒插件;同时修掉了"watcher 闭包捕获建立时名字快照"这个隐患。

仓库内的探索分支(不随本包发布)

本版仓库里另有一条探索分支:一个离线迁移 CLI(只改会话日志第 0 帧的 cwd、把日志搬到新 projectKey 目录,再让插件用官方 attachSession 收尾),用来探索「跨工作区迁移会话 / 工作区改名重绑定」这两类官方没有通道的需求。

它不作为功能交付:要求「完全退出 DSH → 在外部终端跑命令 → 重启 DSH」,而根因在上游(官方把会话 header 缓存在内存里,且没有任何公开入口能重建它)。⇒ 它的代码不在 npm 包里,完整记录(机制、实测证据、为什么做不到)见 docs/plan-session-migration.md。

验证

  • npm test —— 157 项离线断言。
  • npm run rm-test —— 69 项针对真 DSH 运行时的断言(一次性 DSH_HOME,不碰真实 profile、不碰真实工作区目录)。