dsh-plugin-session-purge:通过回收站机制实现两步安全删除

前言

DeepSeek Harness (DSH) 的核心设计理念是“一切皆插件”。然而,原生 dsh-client-ui-workspace 的 README 明确指出“不删除会话——会话可以归档但永远不能删除”。dsh-plugin-session-purge 这一插件通过引入回收站机制,补上了这一空白,提供了真正的删除能力。

核心功能

  1. 两步删除:先放入回收站(移动目录,不删字节),下次启动时真正删除。
  2. 回收站管理:支持恢复、立刻删除、清空以及查看待删数量。
  3. 智能保护:不删除附件字节(寻址共享)和搜索索引(派生数据)。
  4. 子会话处理:可处理子代理会话,支持勾选取消连带删除。
  5. API 支持:宿主侧提供精确路由 API (plan, move, list, restore, empty)。

安装与启用

使用命令行安装:

dsh plugin --profile web add github:OliYogSothoth/dsh-plugin-session-purge

或在界面插件页添加,粘贴 GitHub 仓库地址。

使用方法

  1. 在侧栏任意会话的菜单中点击“放入回收站”。
  2. 在确认框中查看将要移出的目录和子代理会话数,勾选确认。
  3. 在侧栏底部的“回收站”入口中,点击“恢复”或“立刻删除”。

实现与安全细节

  • 两段式删除:点菜单时只移动目录;真正删除发生在下次启动 DSH 时。此阶段会清理工作区登记、投影缓存和会话目录。
  • 数据保护:插件不会删除附件字节(避免破坏寻址共享)和搜索索引(派生数据)。
  • 进程安全:如果会话在进程内活着,插件会先停掉工作、驱逐内存条目,再进行文件操作。
  • 权限限制:调用方声明自己的会话身份时无法删除该会话。

卸载与清理

卸载前必须在回收站面板点击“清空回收站”。卸载后,回收站目录仍保留在 <DSH_HOME>\session-purge-trash\ 下,需手动处理:删除目录即真删,移回即恢复。

结尾

此插件通过回收站机制解决了 DSH 原生无法删除会话的痛点,适合需要彻底清理历史会话、释放存储空间的用户。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye