dsh-session-remover:侧栏会话的删除与批量清理插件

前言

在使用 DeepSeek Harness(DSH)进行智能体开发时,侧栏中的会话与子代理会话会随着调试迭代不断累积。手动删除这些目录或清理配置文件不仅繁琐,还容易误删重要数据。dsh-session-remover 插件通过在 UI 菜单中增加删除入口,利用 Windows 回收站机制提供了一种可还原的清理方式。

是什么

这是一个 DSH 插件(包名 dsh-session-remover),由维护者 sailoumili 开发。它解决了侧栏会话管理的清理痛点,允许用户在菜单中直接删除对话及其子代理会话,并将文件移入 Windows 回收站,而非直接永久删除。

安装

安装需针对 Web 和 Desktop 两个 Profile 分别执行。安装完成后,需在 DSH 插件设置中启用该插件,并重启客户端。

# 网页版
dsh plugin --profile web add dsh-session-remover

# 桌面版
dsh plugin --profile desktop add dsh-session-remover

使用

启用插件后,侧栏会话行的操作菜单将增加两项功能。

  1. 删除单条会话
    将鼠标指针移至侧栏任一会话行,点击行尾的「…」。
    在弹出的菜单中点击「删除对话」。
    在确认弹窗中点击「确定」。
    页面自动刷新,该会话行消失。

  2. 批量删除会话
    点击「批量删除…」。
    在浮层中勾选目标对话(支持全选/全不选)。
    勾选确认项,点击「删除选中的 N 个」。
    批量删除期间不响应关闭操作,需等待执行完毕。

工作原理与清理

该插件执行删除操作时会进行多项清理工作:

  • 回收站机制:将对话及其子代理会话目录移入 Windows 回收站。删除前会检查目标磁盘是否启用了回收站功能,若未启用则拒绝删除。
  • 清理记录:同步清理三处记录——投影缓存、工作区记账、归档集合。
  • 子会话处理:连带删除子代理会话(子会话不显示于侧栏与搜索)。由 fork 产生的独立分叉会话不属于子代理会话,不会被连带删除。

注意事项

  • 平台限制:仅支持 Windows。删除逻辑依赖系统脚本宿主 cscript.exe,在其他系统上会报错并拒绝操作。
  • 还原后的位置:由于插件清除了工作区记账,还原后的对话会出现在侧栏的「未分组」中,而非原工作区。
  • 附件处理:插件不回收附件,因为附件按内容寻址且无引用计数,无法安全判断其归属。
  • 安全限制:删除接口 /api/session.delete 仅接受本机请求(127.0.0.1 等),局域网访问会返回 403。
  • 磁盘要求:会话目录若位于网络盘、U 盘或未启用回收站的磁盘(如 FAT/exFAT),插件会拒绝删除,不会退化为永久删除。

总结

dsh-session-remover 为 DSH 用户提供了可视化的会话清理方案,通过回收站机制降低了误删风险。安装和使用过程简单,但在使用前需确认操作系统环境与磁盘回收站设置。

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

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

小夜