前言¶
在 DSH 的日常使用中,会话经常会被归档,侧边栏里不再直接显示,但记录仍然保留;删除会话之后,也希望有一处地方能查看、恢复或永久清除。imrascal/dsh-archive 就是针对这个场景的 DSH 插件:它把归档会话和回收站管理放进设置面板,先恢复、再删除、再清空的操作都能在同一个入口里完成。
这是什么¶
imrascal/dsh-archive 是一个 DeepSeek Harness(DSH)插件,由 imrascal 维护,许可证为 MIT。
它的一句话定位是:从设置面板恢复/删除归档会话并管理回收站。目标版本是 DSH 0.1.0-rc.5 及以后,支持原生 Web UI 和桌面 GUI。
核心功能¶
下面是已核实的主要能力:
- 管理归档会话和回收站,入口位于设置面板。
- 查看侧边栏隐藏但保留记录的归档会话。
- 单个或一次性恢复归档会话。
- 将归档会话移动到回收站。
- 查看已删除会话的回收站记录。
- 恢复回收站会话、永久清除单个会话或清空整个回收站。
- 删除会话默认可逆,移动到
~/.dsh/trash;仅purge/empty trash为永久删除。 - 运行中的实时会话拒绝删除。
- 提供
native和fallback双路径设计。 - 启动时进行能力检测,并在已具备功能时自动
no-op。 deleteSession在持久层非trash-aware时fail-closed拒绝运行。fallback路径删除后同时刷新workspaces和sessions两个 store。
安装与启用¶
先确认 pnpm 在 PATH 中。原因是 dsh plugin 会转发到 pnpm。
远程安装使用:
dsh plugin --profile web add github:imrascal/dsh-archive
如果本地已有 checkout,可以使用本地路径安装:
dsh plugin --profile web add file:C:/path/to/dsh-archive
经过上面的步骤后,还需要重启应用,然后刷新页面。入口会出现在:
Settings → Archived Sessions
环境要求方面,已核实资料给出:
- 目标 DSH:
0.1.0-rc.5及以后。 - 平台支持:Windows / macOS / Linux。
package.json engines要求node >=22.0.0。package.json devDependencies使用@deepseek-ai/cordis ^4.0.1。
典型用法¶
下面列出可直接对照执行的步骤和示例。
1、安装插件后重启应用,并刷新页面。完成后在设置面板找到 Archived Sessions 入口。
2、查看归档会话。这里可以看到侧边栏隐藏但记录仍保留的会话。
3、恢复归档会话。支持单个恢复,也支持一次性恢复。
4、将归档会话移动到回收站。删除会话后会移动到:
~/.dsh/trash/<sessionId>-<timestamp>/
这类删除默认可逆,可稍后恢复。
5、查看回收站记录。可以查看已删除会话在回收站中的状态。
6、恢复回收站会话。如果误删除,可以按需要恢复。
7、永久清除单个会话或清空整个回收站。purge / empty trash 不可逆,并有确认弹窗保护。
8、如果当前 DSH 安装已经带有 in-box patch,可以先恢复 dsh-client-ui-workspace/lib/client.js 到官方 release,再安装并重启本插件。
设计与安全边界¶
这个插件使用 native 与 fallback 双路径设计。
- 启动时会做能力检测。
- 如果当前环境已经具备相同功能,插件会自动
no-op。 deleteSession在持久层非trash-aware时fail-closed拒绝运行。fallback删除后的dual-store resync会同时刷新workspaces和sessions两个 store,用于避免会话停留在stale sessions list或Ungrouped bucket。- 在 Cordis 4 strict inject 场景下,插件通过
ctx.get(...)和patched methods receiver解析服务,避免未声明inject的属性读取错误。
数据安全方面,已核实资料明确:
- 删除会话会移动到
~/.dsh/trash/<sessionId>-<timestamp>/,可稍后恢复。 - 永久清除或清空回收站不可逆。
- 删除会话不会删除附件;附件按内容寻址且共享。
- 运行中的实时会话拒绝删除。
开发验证¶
本地开发验证可以先安装依赖:
npm install
然后运行以下脚本:
node scripts/host-logic-test.mjs
node scripts/host-robustness-test.mjs
node scripts/cordis4-strict-test.mjs
node scripts/eval-check.mjs
适用场景与注意¶
适合希望在 DSH 设置面板中统一处理归档会话和回收站的用户,尤其是希望“删除默认可逆、永久删除有确认保护”的场景。
使用前需要注意:
- 插件以当前
dsh进程权限运行。 - 安装前应检查源码与许可证。
purge/empty trash不可逆。- 运行中的实时会话不能删除。
- 删除会话不会删除附件。
链接¶
- GitHub:https://github.com/imrascal/dsh-archive
- 目录页:已核实资料未提供 URL。