DSH 会话删除插件:可还原回收站,不碰工作目录

前言

DeepSeek Harness 的「归档」功能很温和:把会话从侧边栏隐藏,文件原地不动。但「温柔」也带来一个问题——那些不再打开的会话日志会长期占用 $DSH_HOME/sessions/,几十上百个目录慢慢堆积,磁盘空间被僵尸会话占满。官方没有提供删除会话的入口,只能通过归档把会话藏起来。

插件 dsh-archive-trash 提供了真正的会话删除能力:任意会话都能删,删错了还能从回收站还原。它只动会话日志目录,不碰工作目录,也不会重写持久化后端的目录编码规则。

插件定位

这是一个 DSH 插件,由维护者 hongdougao111 开发,通过 GitHub 仓库托管。它解决的是「已归档会话清理」的需求:把已归档的会话移进可还原的回收站,或彻底删除。

插件提供两种删除模式:
- 移入回收站:会话目录被搬进 $DSH_HOME/.trash/sessions/,还原后可恢复原位置
- 彻底删除:从磁盘彻底移除,配合二次确认防止误操作

核心功能

行上直接删除

侧边栏会话列表每一行的右侧会出现一个垃圾桶图标。点击后出现确认选项,确认后会话立即从侧边栏消失。不需要先归档再删除,普通会话也可以直接删除。

批量操作

在「设置 → 归档清理」页面,可以勾选多个会话,点击「全部移入回收站」一次性批量清空。也可以单独选择会话移入回收站或彻底删除。

回收站机制

被删除的会话不会立即消失,而是进入回收站目录。在回收站中勾选后可以还原,还原时会检查目标位置是否被占用,被占用时会明确拒绝而不是覆盖。

自动清理幽灵条目

归档集合里可能包含指向已删文件的失效会话 ID。插件在列出归档会话时会自动检测并移除这些幽灵条目,不会再显示「日志已不在磁盘上」的僵尸行。

中英双语

插件界面跟随 DSH 的语言设置,提供中英文支持。

安装与启用

在 Web 端安装:

dsh plugin --profile web add dsh-archive-trash

在桌面端安装:

dsh plugin --profile desktop add dsh-archive-trash

也可以下载 Release 里的预构建 tarball 本地安装:

dsh plugin --profile web add ./dsh-archive-trash-0.3.0.tgz

安装完成后需要重启 dsh web(桌面端重开应用),Host 半边才会上线。

典型用法

单个会话删除

在侧边栏把鼠标划到任意会话行上,行尾出现垃圾桶图标,点击确认即可删除。正在运行的会话不会被删除,按钮会变灰并提示原因。

批量移入回收站

  1. 打开「设置 → 归档清理」
  2. 在「已归档」列表中勾选需要清理的会话
  3. 点击「全部移入回收站」

会话还原

  1. 打开「设置 → 归档清理」
  2. 切换到「回收站」标签页
  3. 勾选需要还原的会话
  4. 点击「还原」

彻底删除

  1. 在「已归档」或「回收站」列表中勾选会话
  2. 点击「彻底删除」或「清空回收站」
  3. 确认操作

适用场景与注意

插件适用于需要清理历史会话、释放磁盘空间的 DSH 用户。它不碰工作目录,只操作会话日志,不会影响项目文件。

插件以当前 DSH 进程权限运行,安装前应检查源码与许可证。

短结尾

dsh-archive-trash 提供了 DSH 原生缺失的会话删除能力,支持回收站还原和批量操作,适合需要定期清理会话日志的开发者。项目地址见下方目录页与 GitHub 链接。

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

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

小夜