dsh-session-delete:为 DSH 侧边栏补上真正的删除会话

前言

DeepSeek Harness(DSH)侧栏里,每个会话的「…」菜单长期只有归档、置顶、重命名、分叉等操作,没有与 ChatGPT、Claude 等主流 agent 客户端对齐的「删除会话」。会话只会堆在列表里,或靠归档隐藏;磁盘上的日志、投影缓存与注册表记账也不会因「不用了」而一并清掉。历史版本里还可能出现已丢日志却仍占一行的「幽灵行」,手动收拾成本高。

dsh-session-delete 是社区维护的客户端插件,在会话菜单中增加带确认与可选强制删除的入口,按会话 id 清理 ~/.dsh 内相关数据,并尽量即时从各已连接界面移除该行。下面介绍它的定位、能力与安装用法。

这是什么

  • 名称:@funny_diodio/dsh-session-delete(GitHub:FunnyDiodio/dsh-session-delete)
  • 维护者:FunnyDiodio
  • 分类:客户端(注入 DSH Web GUI 侧栏与会话菜单)
  • 许可:MIT

插件只做一件事:补齐 DSH 官方客户端缺失的 durable delete 能力;不修改工作区内的项目文件。

核心功能

菜单与确认

侧边栏每个会话行「…」菜单中,在「归档会话」之下新增红色「删除会话」项(垃圾桶图标、危险配色)。点击后弹出确认框,说明删除不可撤销;框内提供 强制删除 复选框,默认不勾选。

普通删除与强制删除

  1. 普通删除:若会话正在生成回复、仍有后台工作或存在未落盘内容,宿主会拒绝并提示;此时复选框保持可见,勾选后当场重试,无需关窗重开。
  2. 强制删除:先通过该会话 Agent 的公开退场链从内存释放(停止回复、释放日志句柄,并触发原生 session/disposed,桌面与手机端侧栏行可即时消失);再按与官方「停止并归档」相同机制停掉子代理、后台任务、定时提醒;最后删除磁盘日志目录、投影缓存,并清理注册表中的归档、置顶、工作区归属等记账,避免留下「未分组」幽灵行。
  3. 极端兜底:仅当标签页持锁导致无法自动释放时,才提示关闭该标签页后重试。

删除成功后,已连接客户端界面即时移除该行;历史遗留的幽灵行再次点删除时,会按会话 id 清扫各项目目录。

删除范围与安全

会永久消失:该会话的对话日志(每轮消息、工具调用、模型输出)与投影缓存;对其他会话、模型与搜索工具均不可见。

不会被动:工作区里该会话生成或修改的文件全部保留;插件不触碰 ~/.dsh 以外路径。删会话不能用来撤销 agent 改过的文件,文件回滚需用 Git 等版本控制。

护栏:只删除由会话 id 精确计算出的 ~/.dsh 内路径(与官方 JSONL 存储后端同一套编码);磁盘删除失败则中止且不修改注册表;删除 API 经宿主信任栅栏(回环 + 同源),无网络外发,不上传对话内容。

安装与启用

要求 DSH ≥ 0.2.1-rc.1(dsh.bundle 协议与会话菜单插槽自该版本线可用)。适用 DSH NEXT、官方桌面端及内置 dsh Web GUI 的第三方客户端;纯 CLI / headless 宿主无侧栏 UI,安装后不会出现菜单项。

在设置 → 插件 → 市场(Discover)搜索 dsh-session-delete(收录合并后),或命令行安装:

dsh plugin add @funny_diodio/dsh-session-delete          # npm 源
dsh plugin add github:FunnyDiodio/dsh-session-delete      # GitHub 源

桌面端在对应 profile 上执行;安装后重启或按提示重载生效。npm 源为预构建产物,安装免 allowBuilds 授权。

卸载:设置 → 插件中卸载即可,菜单与对话框随之消失;已执行过的删除为永久操作,不受卸载影响。

典型用法

  1. 在侧栏目标会话的「…」菜单中选择「删除会话」。
  2. 阅读确认框中的后果说明;若会话空闲且无后台工作,直接确认即可普通删除。
  3. 若提示需强制删除,勾选 强制删除 后再次确认;若当前页正显示该会话主视图,客户端会先静默释放主视图再删,一般无需手动关标签。
  4. 删除前若对话里有需保留的结论:让 agent 将要点写入工作区 .md 摘要,或使用 DSH 自带的会话日志导出/下载留副本。

适用场景与注意

适合需要在 DSH 客户端里真正移除会话、清理 ~/.dsh 内日志与记账、并处理历史幽灵行的用户。不适合指望「删会话 = 撤销工作区改动」的场景。

插件以当前 dsh 进程权限运行,安装前建议查看 GitHub 仓库 源码与 MIT 许可证,确认与本地 DSH 版本(>=0.2.1-rc.1)及使用习惯一致。社区目录 SkillHub 插件页 与 DeepSeek / 幻方无官方从属关系,属 DSH「一切皆插件」生态中的独立收录。

结尾

dsh-session-delete 把缺失的删除语义补进侧栏,用可选强制删除覆盖生成中与会话占用等边界情况,并在磁盘与注册表层面尽量一次清净。需要安装或 issue 时,可访问 SkillHub 目录页 与 GitHub README。

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

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

Xiaoye