前言¶
DeepSeek Harness(DSH)通过插件机制扩展 Web 端能力,第三方插件由社区或个人开发者维护。对于使用 DSH Web 的开发者来说,旧会话通常需要手动清理。dsh-session-delete 提供的不是替换官方侧边栏的新列表,而是在现有会话菜单中增加一个带二次确认的“删除会话”入口。
下面介绍它解决什么问题、如何安装,以及使用时需要注意的边界。
插件定位¶
dsh-session-delete 是一个面向 DeepSeek Harness Web 的个人开源插件,由 StarsTom 维护,当前版本为 0.1.3,许可证为 MIT。
它的目标很具体:在 DSH Web 的会话三点菜单中增加“删除会话”,并在删除前要求用户确认,降低误删风险。它不替代 DSH 自带的“归档会话”。
核心功能¶
dsh-session-delete 的能力集中在会话删除入口和删除前的安全校验上。
- 在现有“归档会话”下方增加“删除会话”,不替换官方侧边栏。
- 删除前显示会话名称、不可恢复提示和强制确认复选框。
- 只支持官方 JSONL 会话持久化后端;其他后端会拒绝操作并保留数据。
- 递归删除前校验目标位于 JSONL 持久化根目录之下。
- 删除活动会话前停止 agent、等待写入完成并清理运行时注册项。
- 不发起网络请求,不收集或上传会话内容。
环境要求¶
安装前确认当前环境满足以下条件:
- DeepSeek Harness
0.1.0-rc.6或兼容版本。 - Node.js 20 或更高版本。
- 使用
webprofile。 - 使用默认 JSONL 会话持久化后端。
安装与启用¶
从 GitHub 安装标准 DSH bundle,执行下面命令:
dsh plugin --profile web add github:StarsTom/dsh-session-delete
安装后完整重启 DSH Web 服务,再刷新页面。
注意不要向 profile 的 cordis.patch.yml 手工插入同一个插件,否则会产生重复 loader id,导致 DSH 启动失败。
开发时也可以从本地目录安装:
cd /path/to/dsh-session-delete
dsh plugin --profile web add .
典型用法¶
启用后,删除会话的步骤如下:
1、在左侧会话列表中找到目标会话。
2、点击会话右侧三点按钮。
3、选择“删除会话”。
4、核对会话名称,勾选确认项后点击“永久删除”。
经过上面的步骤后,目标会话会被永久删除。如果需要保留会话记录,请使用 DSH 自带的“归档会话”。
卸载¶
卸载插件时执行:
dsh plugin --profile web remove dsh-session-delete
重启 DSH Web 服务后生效。卸载插件不会删除任何会话。
工作方式与兼容性¶
当前 DSH 公共 slot 尚未暴露会话菜单扩展点,因此浏览器端只在检测到官方“归档会话”菜单项时追加入口。如果 DSH 后续调整侧边栏 DOM 或菜单文案,插件会停止注入,而不会替换或破坏原菜单。
服务端 RPC 仅接受 loopback 权限。插件声明不发起网络请求、不读取凭据、不收集或上传会话内容。
适用场景与注意¶
这个插件适合在 DSH Web 中需要快速清理旧会话、并且使用默认 JSONL 持久化后端的用户。
使用前需要注意:
- 永久删除不可恢复。
- 只支持官方 JSONL 会话持久化后端。
- 删除操作由 DSH 插件流程执行,安装前应检查源码与许可证。
- 本项目是个人开源插件,不代表 DeepSeek 官方。
- 请先在 disposable profile 中验证,再处理重要会话。
结尾¶
dsh-session-delete 的价值在于把“永久删除”做成一个有确认、有后端限制、有 loopback 权限边界的菜单入口。它不会改变 DSH 的会话管理主流程,只是给 Web 端增加了一个更明确的删除操作。
- GitHub 仓库:https://github.com/StarsTom/dsh-session-delete
- 社区目录:以 DSH 社区目录实际展示为准。