dsh-plugin-session-trash:DeepSeek Harness 会话回收站插件

DeepSeek Harness (DSH) 目前仅提供“归档”功能,会话移入归档后仅变灰,无法彻底清理。对于需要整理会话列表的用户来说,缺乏真正的删除入口是一个痛点。dsh-plugin-session-trash 插件解决了这个问题,它为 DSH 增加了回收站机制,允许用户将会话移动到回收站进行管理,并在需要时恢复或永久删除。

插件介绍

  • 名称:dsh-plugin-session-trash
  • 描述:DSH 会话回收站插件
  • 所有者:DelayNooMore
  • 类别:记忆
  • 许可证:MIT

核心功能

该插件在 DSH 原有的归档功能之外,增加了完整的会话生命周期管理能力:
- 移入回收站:在会话行菜单新增“移入回收站”选项(位于“归档”之后),操作后侧栏条目就地消失。
- 恢复会话:在“设置 → 回收站”中恢复,若原工作区不存在会自动重建挂接。
- 永久删除:在“设置 → 回收站”中永久删除,或清空回收站。
- 设置页管理:提供垃圾桶图标分区,支持打开回收站文件夹。
- 删除保护:拒绝删除进行中的会话,仅在回合间隙的空闲会话可被删除。
- 自动清理:删除时会自动解档、取消置顶、分离会话。

安装与启用

在 DSH 的 desktop profile 里安装(DSH 自带 pnpm,无需全局安装):

cd ~/.dsh/profiles/desktop
node ~/.dsh/dsh-runtimes/dsh-primary-runtime/dependencies/pnpm/bin/pnpm.cjs add github:<你的用户名>/dsh-plugin-session-trash

安装后,将 "dsh-plugin-session-trash" 加入 profile package.json 的 dsh.profile.bundles 数组,重启 DSH 即可。

也可以通过 DSH 设置里的插件管理器安装(指向本仓库的 git 地址)。

卸载时执行 pnpm remove dsh-plugin-session-trash + 从 dsh.profile.bundles 移除 + 重启。~/.dsh/trash 与 ~/.dsh/sessions 均不受卸载影响,回收站里的数据保持原样。

典型用法

  1. 在会话行菜单中选择“移入回收站”。
  2. 在“设置 → 回收站”中恢复或永久删除。
  3. 在“设置 → 回收站”中打开回收站文件夹。
  4. 回合间隙的空闲会话可被删除。

工作原理与注意事项

  • 数据存储:被删除的会话目录整体移动到 ~/.dsh/trash/sessions/<sessionId>/,登记信息写入 ~/.dsh/trash/manifest.json。
  • 即时更新:删除后侧栏条目就地消失,无需重启。
  • 挂接逻辑:恢复时若原工作区不存在,会自动重建挂接;若工作区目录没了,会话文件恢复但保持未挂接。
  • 标题处理:无标题会话会尝试从 session_projcache 读取标题。

兼容性

在 DSH 0.2.0-rc.2(Electron 44,darwin arm64)上开发并实测。用到的主要接口:cordis 插件体系、workspaceRegistry 服务、sessions 服务(含内部 live 表的 best-effort 驱逐,特性检测 + 降级)、Typert remote、sidebar.workspaces.session.menu.item / settings.section / shell.overlay 槽位、primitives 的 Toast/Modal/MenuItemButton。其他版本未测试,接口变动时以降级行为兜底。

结语

该插件提供了真正的会话删除能力,适合需要管理大量会话的开发者。安装前请检查源码与许可证。

  • 目录页:https://www.skillhub.cn/plugins/DelayNooMore/dsh-plugin-session-trash
  • GitHub:https://github.com/DelayNooMore/dsh-plugin-session-trash
羽毛球分组比赛记分
小程序二维码

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

小夜