dsh-session-cleaner:DSH 会话清理插件

前言

在 DeepSeek Harness (DSH) 桌面版中,会话列表会随着使用逐渐膨胀。手动删除会话时,宿主留下的工作区记账、置顶标记、投影缓存行(含备份文件)往往无法同步清理,导致侧栏或归档列表中出现“脏数据”。dsh-session-cleaner 专注于解决这一问题,它将侧栏的“删除”操作升级为“移入回收站”,支持搜索、恢复与彻底删除,确保删除过程可控、可逆。

功能概览

该插件由 jackxiao17 维护,目前开源,采用 MIT 许可证。它安装在 DSH 桌面版客户端,不改变宿主核心逻辑,仅通过插件接口介入会话生命周期管理。

核心能力集中在以下几个方面:
1. 回收站机制:删除会话时,文件被整体 rename 到回收站目录(同盘瞬时操作,不复制),保留了 30 天的回滚窗口。
2. 痕迹清理:删除时同步摘掉工作区记账槽位、置顶与归档标记,清掉投影缓存行(含宿主留下的 .bak 备份文件)。
3. 子会话处理:对于带有子代理的会话,插件会整棵树一起处理,确保父子关系在删除/恢复流程中不断裂。
4. 彻底删除:在回收站中点击彻底删除,会额外清理绑定该会话的定时任务与空掉的工程目录。
5. 查看与搜索:回收站面板支持按标题/正文搜索、工作区筛选、按时间/大小/轮次排序;点击会话可查看完整的对话记录(Markdown 渲染,超长回复中间省略)。

安装与启用

安装过程需要修改 DSH 的桌面版配置目录。请确保当前 DSH 版本为 0.2.1-rc.2(其他版本可能存在兼容性问题)。

  1. 将插件文件夹(dsh-session-cleaner)拷贝到 %DSH_HOME%\profiles\desktop\local\dsh-session-cleaner。
  2. 编辑 %DSH_HOME%\profiles\desktop\package.json:
    • 在 dependencies 中添加:"dsh-session-cleaner": "file:./local/dsh-session-cleaner"
    • 在 dsh.profile.bundles 数组中添加:"dsh-session-cleaner"
  3. 在该目录运行 DSH 自带的 pnpm 安装命令:
    node "%DSH_HOME%\dsh-runtimes\dsh-primary-runtime\dependencies\pnpm\bin\pnpm.cjs" install -C %DSH_HOME%\profiles\desktop
  1. 重启 DSH。在侧栏会话列表的 ··· 菜单中,会出现红色的删除选项;侧栏底部会出现会话回收站入口。

使用方法

操作流程分为“删除”与“回收站管理”两部分。

删除会话

在侧栏点击会话的 ··· 菜单,选择 删除:
* 会话被直接移入回收站,顶部提示“✓ 会话已删除至回收站”。
* 对话中正在进行的回答会被结束(取消当前轮 + 拆掉 agent),然后再移入回收站。
* 如果该会话有子会话,子会话也会一并搬入回收站。

回收站管理

点击侧栏底部的 会话回收站 按钮:
* 搜索与筛选:支持标题实时过滤,勾选“搜正文”可搜索提问与回复内容。支持按工作区筛选、按删除时间/标题/大小/轮次排序。
* 恢复:勾选会话后点击恢复,目录搬回原位、记账挂回原工作区并回到原来的槽位、投影缓存行原样还原。如果删除前是归档状态,恢复后会回到归档列表。
* 彻底删除:勾选会话后点击彻底删除,会清掉绑定该会话的定时任务与空掉的工程目录。
* 查看日志:点击会话可查看逐轮对话记录。

注意事项

  • 宿主契约依赖:插件依赖 DSH v4 会话日志格式、zstd 帧布局、v7 session_projcache 存储域、workspaceRegistry / schedule / storageDomain / webServer 服务以及前端 slot 与 __ModuleLoader__。这些契约已与 0.2.1-rc.2 源码逐一核对。
  • 兼容性承诺:向下兼容未逐一验证,不做承诺。在旧版本上,功能可能会弱化(例如槽位无法还原导致恢复到顶部),但不会导致数据损坏或错误删除。
  • 版本限制:0.1.x 未验证,不建议直接使用。大版本升级后插件可能失灵(表现为菜单项消失),但不会伤及会话数据。
  • 保留期与清理:回收站默认保留 30 天,启动时清一次,之后每 6 小时清一次。定时任务在会话进回收站期间不会被清掉(宿主不支持原样重建任务)。
  • 数据一致性:恢复不保证与删除前逐字节相同的地方;同 id 有两份日志目录时会拒绝操作;插件具备崩溃安全机制(快照先写、文件后搬)。

总结

dsh-session-cleaner 提供了可控的会话生命周期管理。对于需要频繁清理会话、维护整洁侧栏或需要彻底清理宿主痕迹的开发者,这是一个实用的工具。插件源码与文档可参考:GitHub。

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

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

Xiaoye