imrascal/dsh-archive:DeepSeek Harness 归档会话与回收站管理插件

前言

在 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 为永久删除。
  • 运行中的实时会话拒绝删除。
  • 提供 nativefallback 双路径设计。
  • 启动时进行能力检测,并在已具备功能时自动 no-op
  • deleteSession 在持久层非 trash-awarefail-closed 拒绝运行。
  • fallback 路径删除后同时刷新 workspacessessions 两个 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,再安装并重启本插件。

设计与安全边界

这个插件使用 nativefallback 双路径设计。

  • 启动时会做能力检测。
  • 如果当前环境已经具备相同功能,插件会自动 no-op
  • deleteSession 在持久层非 trash-awarefail-closed 拒绝运行。
  • fallback 删除后的 dual-store resync 会同时刷新 workspacessessions 两个 store,用于避免会话停留在 stale sessions listUngrouped 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。
羽毛球分组比赛记分
小程序二维码

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

小夜