dsh-session-delete:为 DeepSeek Harness 补上永久删除会话的动作
mcf171/dsh-session-delete
为 DeepSeek Harness 的 Web GUI 补上永久删除会话能力:在会话行菜单与 Delete 快捷键中归档会话、清除日志目录并即时从侧边栏移除。
dsh-session-delete 是一个 DSH plugin,专门为 DeepSeek Harness 的 Web GUI 补上官方 0.2.x 缺失的永久删除会话能力。官方会话行菜单只有 rename、fork、pin、archive,删不掉的会话只能一直堆在侧边栏里,这个插件在菜单中加一项「删除会话」,确认后先归档、再移除日志目录、最后广播移除事件,让那一行立刻消失且刷新也不会回来。它还提供作用于当前选中会话的 Delete 快捷键,并在会话正在跑回合时拒绝删除,整份实现零编译、零新增依赖。
如何安装
dsh plugin --profile <your-profile> add github:mcf171/dsh-session-delete--profile 换成你本机实际使用的 profile 名(ls ~/.dsh/profiles/ 可查看目录名):浏览器版通常是 web,桌面版通常是 desktop 或 desktop-NNN。
- 分类
- 会话与消息
- 平台
- DSH Plugin
- 作者
- mcf171
- 分发方式
- 插件
dsh-session-delete 核心特性
dsh-session-delete 仓库简介
它是做什么的?
它是 DeepSeek Harness(DSH)的会话删除插件,为 DSH Web GUI 补上官方 0.2.x 缺失的「永久删除会话」动作。官方会话行菜单只有 rename / fork / pin / archive,没有删除,这个插件在菜单里加一项「删除会话」,确认后归档该会话、移除它的日志目录,并让那一行立刻从侧边栏消失。它由 mcf171 维护,采用 MIT 协议,用 JavaScript 手写实现,零编译。
核心功能
- 会话行菜单新增「删除会话」项:注册到官方插槽
sidebar.workspaces.session.menu.item,带垃圾桶图标与危险色标注,不监听也不改写侧边栏 DOM。 - 固定顺序的三步删除:先调官方
workspaceRegistry.archiveSession持久隐藏会话,再删除日志目录,最后广播api-session/removed让 UI 立刻移除该行。 - 运行中守卫:读取官方会话列表的同一运行状态信号,只拦截真正在跑回合的会话,空闲会话仍可删除。
Delete快捷键:作用于当前选中的会话,走与鼠标点击完全相同的流程;焦点在输入框、带修饰键或未选中会话时不触发。- 幂等且零新增依赖:日志目录不存在时跳过,重复删除不报错;client 端只依赖 React,图标为内联 SVG。
怎么使用这个插件?
在 DSH 中挂载并重启后,把鼠标移到侧边栏任意会话行的 ⋯ 菜单,点击新增的「删除会话」,在确认框里确认即可;也可以选中会话后直接按 Delete 键。删除会先归档、再删日志目录、最后广播移除事件,因此后续列表刷新不会把该行带回来。若会话正在运行回合,会提示先停止再删除。注意不要手动调用会话列表刷新,清理依赖归档与广播完成。
报错怎么排查?
重启后菜单项消失,通常是 profile 里的这份拷贝被依赖安装或插件市场重装清掉了,按 README 的挂载步骤重新登记依赖与 bundle 即可。升级 DSH 后若怀疑删除目标目录的路径规则变化,先运行仓库自带的自测脚本核对路径算法与本机真实会话目录是否吻合。
本页是基于该插件官方 README 独立重写的导读——权威文档和最新变更请以源头为准:mcf171/dsh-session-delete。插件是安装时就在你机器上运行的第三方代码;收录不代表背书——安装前请自行审阅源码。
DSH Plugin 常见问题
