dsh-session-delete:为 DeepSeek Harness Web 增加带确认的会话删除入口

前言

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 或更高版本。
  • 使用 web profile。
  • 使用默认 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 社区目录实际展示为准。
羽毛球分组比赛记分
小程序二维码

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

小夜