前言¶
在 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 把删会话当成「销毁聊天记录」,因此行为偏保守,要点如下。
- 只删已归档的:未归档会话不在操作范围内。
- 必须明确确认:不能静默批量抹掉。
- 必须先证明归属:按日志做 per-log 归属校验,避免误删他人或错误路径下的数据。
- 不跑出根目录:路径操作限制在配置的会话根目录内。
- 默认可以恢复:默认把会话相关日志移到回收站,而不是直接抹盘。
- 顺手清掉归档记录:删除流程会处理与归档状态相关的记录。
- 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