Overview
dsh-archived-sessions
README / EN
Package documentation
Registry summary
dsh.pub verifies the pinned bundle contract, runtime facts, and distribution semantics. The complete README remains in the source repository.
Read the full README on GitHubLIMITATIONS
Known limitations
- **仍在内存中的会话走「待删除队列」,绝不当场删日志**:归档只把会话从列表隐藏、**不会停止它**,所以刚归档的那个会话一定还在内存里。运行中的会话会继续写日志 —— 如果当场把日志删掉,而验证只是「删完立刻重新列举」,它的写入链会在验证之后把日志重建出来;那时工作区归属与归档记录**已经移除**,它就以「未分类 + 数据缺失」的孤儿形态回到左侧工作区(v1.4.0 的回归,v1.4.1 修掉)。现在的做法是:先请 DSH 官方的 `archiveSession(id, { stopActivity: true })` 停止它的运行中工作(turn、子代理后代、它拥有的后台任务与计划),然后**直接加入待删除队列**,等它退出内存时自动完成(最迟下次重启 DSH —— 刚启动时没有会话在内存里)。队列状态显示在列表上方,界面标记是「仍在内存 · 将加入待删除」。 - **待删除队列的落盘位置**:`$DSH_HOME/archived-sessions-pending-delete.json`(插件自有的一个小 JSON 文件,原子写入)。除队列外还记录 24 小时内**已清除的会话 id**,用于自愈:万一某个已清除的日志又被写回来,下一次清扫会把它重新入队、等它退出内存后再删,不会再留下孤儿。这是本插件唯一会写的数据文件。 - **删除要输入标题或会话 ID**:每张卡片上都会显示该会话的 ID,确认框里还会再给一次。标题、工作区目录名、会话 ID、以及界面上显示的那串标题,输入任意一个都算通过。 - **有子会话时会先问一次**:子会话的日志是独立的,删父会话不会损坏它们。确认框给两个选择——「仅删父会话」(子会话保留,只失去父会话关联)或「连同 N 个子会话一起删除」(整棵子会话树一起永久删除;仍在运行的子会话及其下级会被跳过)。批量删除用的是上面的分级默认值。
