概览
dsh-archived-sessions
README / ZH
插件文档
目录摘要
dsh.pub 核对固定版本的组合包契约、运行时事实与分发语义;完整 README 请查看源仓库。
在 GitHub 阅读完整 READMELIMITATIONS
已知限制
- **仍在内存中的会话走「待删除队列」,绝不当场删日志**:归档只把会话从列表隐藏、**不会停止它**,所以刚归档的那个会话一定还在内存里。运行中的会话会继续写日志 —— 如果当场把日志删掉,而验证只是「删完立刻重新列举」,它的写入链会在验证之后把日志重建出来;那时工作区归属与归档记录**已经移除**,它就以「未分类 + 数据缺失」的孤儿形态回到左侧工作区(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 个子会话一起删除」(整棵子会话树一起永久删除;仍在运行的子会话及其下级会被跳过)。批量删除用的是上面的分级默认值。
