dsh-session-delete: Adding "Delete Conversation + Recycle Bin" to DeepSeek Harness

前言

DeepSeek Harness(DSH)桌面版里,会话侧栏默认更偏向「归档」:不想看的对话可以归档,但缺少一条明确的「删掉这条对话」路径。若你习惯像其它工具一样清理列表、又希望误删还能找回,原生能力就不够用了。

下面介绍社区插件 dsh-session-delete(npm 包名 dsh-plugin-session-delete)。它在对话菜单里增加红色 删除,并把删除做成可恢复的回收站,而不是立刻销毁磁盘上的会话日志。

这是什么

维护者 GitHub 用户 3542967095 维护的开源客户端插件,分类为 客户端,当前版本 1.1.1(见仓库 package.json),许可证 MIT。

定位一句话:给 DeepSeek Harness 增加「删除对话 + 回收站」——菜单删除、侧边栏预览、恢复与彻底删除。插件代码与对话数据分离;删除对话不会影响已安装的其它插件。

实现上按 DSH 0.2.1-rc.3 的 Slot 与 /api 契约编写,纯 JavaScript,无构建步骤。

核心功能

能力 说明
删除对话 对话行「…」→ 红色 删除,确认后移入回收站
回收站预览 侧边栏底部 回收站 (n),显示已删除条数
恢复 将会话日志与投影缓存移回原路径,并尽量恢复 Workspace 归属、置顶/归档状态
彻底删除 单条永久删除,需二次确认
清空回收站 一次清空全部,需二次确认
安全判断 有进行中回合的对话拒绝删除;空闲但已打开的对话可删;文件占用时重试;失败尽量回滚
独立存储 插件在插件目录,删除数据在 ~/.dsh/trash/,互不影响

DSH 原生只支持归档,不支持删除会话;本插件补上删除,并把删除做成可恢复流程。

安装与启用

前置条件

  • DeepSeek Harness 桌面版(按 0.2.1-rc.3 的 Slot 与 /api 契约);
  • 插件目录可写;
  • 默认 profile:%USERPROFILE%\.dsh\profiles\desktop。

不要把插件放在 S:\Deepseek Harness\ 安装目录内——Harness 更新会整体替换该目录。推荐例如 S:\DSH-Plugins\session-delete。

方式 B:独立安装(README 推荐)

  1. 将仓库文件夹放到插件目录,例如:
S:\DSH-Plugins\session-delete
  1. 双击 install.cmd,或在 PowerShell 中执行:
powershell -ExecutionPolicy Bypass -File .\install.ps1
  1. 若 Harness 未自动加载,刷新页面(Ctrl+R)或重启 Harness。

卸载:

powershell -ExecutionPolicy Bypass -File .\uninstall.ps1

方式 A:统一插件管理器(可选)

若插件根目录有 install-plugin.cmd:

cd "S:\DSH-Plugins"
.\install-plugin.cmd session-delete

安装器会校验 package.json、lib/index.js、lib/client.js,在 profile 的 node_modules 建立指向插件目录的 junction,写入 cordis.patch.yml 中的 # >>> dsh-plugin:session-delete 块,并更新 plugins.json。只建立 junction,不把代码复制到 C 盘。

方式 C:手动安装

在 profile 的 node_modules 建立 junction,并在 cordis.patch.yml 末尾加入 README 中的 session-delete 配置块,然后刷新或重启。具体命令与 YAML 片段见 GitHub README。

典型用法

删除一个对话

  1. 打开对话行右侧 「…」;
  2. 点击红色 删除;
  3. 确认 移入回收站。

对话从侧边栏消失并进入回收站,页面会自动刷新。只有正在运行(有进行中回合)的对话不能删除;其它对话在生成时,删除空闲对话不受影响。

查看、恢复与清空

  1. 点击侧边栏底部 回收站 (n);
  2. 对单条选择 恢复 或 彻底删除(彻底删除需再点一次确认);
  3. 清空回收站 同样需二次确认,清空后不可恢复。

恢复成功后页面刷新,对话回到列表。回收站不会自动清理,需手动彻底删除或清空。

数据存放与安全

回收站目录:

%USERPROFILE%\.dsh\trash\session-delete\
└─ 20261026-223927-xxxxxxxx\
   ├─ meta.json
   ├─ session\
   └─ projcache\

删除使用同卷 rename,不复制大文件。会移动会话 JSONL 目录、投影缓存及 Workspace/置顶/归档引用;不会动其它对话、plugins/ 下插件代码、子智能体会话(目前不递归)或已导出文件。

Host 路由走 DSH 自带 /api 浏览器会话通道,例如 POST /api/session-delete 移入回收站、GET /api/session-delete/trash 列表等。插件以 Harness 当前进程权限读写文件,安装第三方插件前请先审查源码与许可证。

适用场景与注意

适合:需要在 DSH 侧栏主动清理会话、又希望保留「误删可恢复」缓冲期的桌面用户。

务必注意:

  • 回收站不自动过期;彻底删除或清空后无法恢复。
  • 若删除后又创建了同 id 的新会话,恢复可能提示原目录已存在,需先处理现有目录。
  • 子智能体会话不会随主对话递归删除;搜索里「已归档恢复行」没有「…」菜单(README 已知限制)。
  • 大版本升级 DSH 后可能需要插件适配;原 Workspace 目录不存在时,恢复后可能无法自动挂回。

菜单或回收站入口未出现时:先 Ctrl+R,检查 junction 与 cordis.patch.yml 中的 dsh-plugin:session-delete 块,必要时重启 Harness。

结尾

dsh-session-delete 在不动 Harness 核心的前提下,用 Slot 菜单 + 侧边栏回收站补上了「可恢复删除」这一环,数据落在 ~/.dsh/trash/session-delete/,与插件目录分离。

SkillHub 等为社区插件目录,与 DeepSeek / 幻方无官方从属关系;安装与使用以仓库 README 为准。

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

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

Xiaoye