dsh-session-purge:彻底清理 DeepSeek Harness 会话

前言

DeepSeek Harness (DSH) 的核心设计理念是“一切皆插件”。在默认行为中,DSH 客户端仅提供“归档”功能。归档会将会话从主视图隐藏,但不会从磁盘上删除日志文件(如 session.vN.jsonl.zstd)或投影缓存。官方也明确在 dsh-client-ui-workspace 中标注了“无会话删除”的限制。

dsh-session-purge 插件填补了这一空白。它允许用户彻底删除会话数据,释放磁盘空间,并清理持久化状态。

核心功能

该插件提供两条删除路径,覆盖单条与批量场景:

  • 彻底删除单条会话:每条会话行右侧的「…」菜单中提供入口。无论会话是否归档,该选项均可见。
  • 一键删除全部已归档:在侧边栏顶部菜单将筛选切换为「仅显示已归档」后,底部操作区会出现批量按钮。此设计确保删除范围与当前视图一致,不会误删未归档会话。

删除操作会依次执行以下步骤,确保状态一致性:
1. 工作区记账:从所属 Workspace 的 sessionIds 中移除会话 ID。
2. 归档标记:从全局归档集合 archivedSessionIds 中移除。
3. 磁盘日志:删除会话日志目录及对应的 session.vN.jsonl.zstd 文件。
4. 投影缓存:删除 session_projcache 中的缓存文件,并清理其他持久化状态。

安装

使用官方命令安装:

dsh plugin --profile desktop add @lxchapu/dsh-session-purge

安装后需重启应用以使改动生效。

典型用法

  1. 单条删除:在会话列表中找到目标会话,点击右侧的「…」,选择「彻底删除」。系统会弹出二次确认,提示将从磁盘永久删除且不可撤销。
  2. 批量删除:点击侧边栏顶部的筛选按钮,选择「仅显示已归档」。此时列表底部会出现批量操作按钮,点击后可删除当前列表中的所有会话。

注意事项

  • 运行中的会话会被拒绝:若会话状态为 running(包括等待审批、工具阻塞等),删除请求会被拒绝,系统会提示先结束当前轮次再删除。
  • 操作不可逆:删除后无回收站机制,磁盘日志与缓存将被物理移除。
  • 依赖项:插件依赖 dsh.client.inject,确保宿主注入了必要的会话与工作区控制器接口。
  • 版本更新:版本 0.1.2 修复了单条会话无法删除的问题,建议使用最新版本。

总结

dsh-session-purge 是解决 DSH 会话数据堆积的有效工具。它在不改变 DSH 官方架构的前提下,提供了安全的会话清理能力。

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

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

小夜