dsh-delete-archived-session:列出并删除 DSH 已归档会话

前言

在 DeepSeek Harness(DSH)里,会话可以「归档」或「取消归档」。归档只是把会话从常用列表里藏起来,聊天记录对应的日志仍留在磁盘上,官方没有提供回收这块空间的路径。长期开发、多 profile 并行时,已归档会话会越积越多,既占目录又不好一眼看清哪些可以清掉。

社区插件 dsh-delete-archived-session(维护者 ocelot-D)针对的就是这件事:在 DSH 里列出已归档会话,并在二次确认与归属校验之后,把指定会话移出会话目录(默认进回收站,可恢复)。

这是什么

dsh-delete-archived-session 是一个标准 DSH 插件包:在 package.json 中声明 dsh.bundle.patch,由 cordis.patch.yml 向 Harness 注入工具/命令描述。它不替代 DSH 自带的归档能力,而是在「已经归档、你确认要删」的前提下,处理会话日志目录。

分类上在 SkillHub 目录中归在「记忆」类;当前 GitHub 仓库约 1 star。许可证为 MIT,包版本在仓库 package.json 中为 0.1.0,要求 DSH >=0.2.0-rc.1 <0.3.0-0、Node >=20。

核心功能与安全设计

插件 README 把删会话当成「销毁聊天记录」,因此行为偏保守,要点如下。

  1. 只删已归档的:未归档会话不在操作范围内。
  2. 必须明确确认:不能静默批量抹掉。
  3. 必须先证明归属:按日志做 per-log 归属校验,避免误删他人或错误路径下的数据。
  4. 不跑出根目录:路径操作限制在配置的会话根目录内。
  5. 默认可以恢复:默认把会话相关日志移到回收站,而不是直接抹盘。
  6. 顺手清掉归档记录:删除流程会处理与归档状态相关的记录。
  7. DSH 不崩:实现上避免拖垮 Harness 进程(README 中的设计目标)。

实现上插件不导入 Node 标准库以外的依赖,只注册朴素的工具/命令对象,也不走 schemastery 的 Config,以便在不同 profile 依赖版本下仍能挂载。

安装与启用

安装方式以仓库 README 为准,没有单独给出 dsh plugin add github:... 一类命令,不要凭插件名拼接。

方法一(推荐):在对话里说明要安装该插件,由 AI 通过 DSH 插件管理器完成安装。

方法二:在 profile 的 package.json 里添加本地依赖并登记 bundle,例如:

{
  "dependencies": { "dsh-delete-archived-session": "file:./dsh-delete-archived-session" },
  "dsh": { "profile": { "bundles": ["dsh-delete-archived-session"] } }
}

装好后需要重启 DSH 才会生效。

配置

配置通过环境变量传入(无 schemastery 配置块):

环境变量 默认值 含义
DSH_DELETE_ARCHIVED_SESSIONS_ROOT $DSH_HOME/sessions 要操作的会话根目录
DSH_DELETE_ARCHIVED_SESSIONS_TRASH <根目录>/../.deleted-sessions 删除时移入的回收站
DSH_DELETE_ARCHIVED_SESSIONS_PERMANENT 不设(允许永久删除) 设为 0、false 或 no 则禁止永久删除,强制走可恢复路径

$DSH_HOME 的解析与 DSH 一致:优先环境变量 DSH_HOME,否则使用 ~/.dsh。

典型用法

安装并重启后,在 Harness 对话中让模型调用插件注册的工具即可:先列出已归档会话,再对选定项发起删除;流程中会要求确认,并做日志归属校验。默认删除会把内容移到 DSH_DELETE_ARCHIVED_SESSIONS_TRASH 所指目录,需要彻底清空时再在明确允许永久删除的前提下处理(若设置了 DSH_DELETE_ARCHIVED_SESSIONS_PERMANENT 为禁止永久删除,则只能走回收站路径)。

具体工具名称与参数以安装后 Harness 暴露的描述为准;仓库提供 node test/self-test.js 与 node test/check-manifest.js 用于自检,可在本地插件目录执行 npm test(见 package.json 的 scripts.test)。

适用场景与注意

适合:本地长期用 DSH、归档很多旧会话、需要定期清点并释放会话目录空间,且希望默认「删了还能从回收站捞回来」的开发者。

注意:

  • 插件以当前 DSH 进程的权限读写磁盘;安装前应阅读源码与 MIT 许可证,确认路径与删除语义符合你的备份策略。
  • 社区目录 SkillHub 插件页 与 GitHub 仓库由社区维护,与 DeepSeek / 幻方无官方从属关系;DSH 生态强调「一切皆插件」,本插件是其中针对会话存储的补充能力,不是内置功能。

结尾

DSH 自带归档不会收回磁盘上的会话日志;dsh-delete-archived-session 在严格确认与归属校验下,补上了「列出并删除已归档会话、默认可恢复」这一条链路。需要安装说明与实现细节时,可看目录页与仓库 README。

  • 目录页:https://www.skillhub.cn/plugins/ocelot-D/dsh-delete-archived-session
  • GitHub:https://github.com/ocelot-D/dsh-delete-archived-session
羽毛球分组比赛记分
小程序二维码

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

Xiaoye