dsh-session-manager:DeepSeek Harness 会话回收站与彻底删除

前言

在 DeepSeek Harness(DSH)中,会话归档往往只是从侧边栏的一个按钮出发,长期不用的会话会留在历史列表里,甚至需要重启 DSH 才能清理干净。这导致会话列表膨胀、磁盘占用增加,且归档操作缺乏统一管理入口。DSH 0.2.0-rc.2 及之后版本引入了会话投影缓存(SessionProjectionCache),为插件提供了零 I/O 的会话元数据访问能力。本文介绍的 dsh-session-manager 便利用这一能力,在 DSH 的会话列表中新增回收站入口,并提供多选还原/彻底删除、子会话保护等能力。

这是什么

dsh-session-manager 是一个 DSH 插件,提供会话回收站与永久删除功能。维护者为 sunshaobei。插件通过在对话头部和会话列表中增加操作入口,将当前会话归档到回收站,并在设置中集中管理已归档会话,支持批量还原、彻底删除、子会话保护与错误容错。界面自动跟随浏览器语言,支持亮/暗主题与 DSH 字体设置。

核心功能

  • 对话头部归档入口:在对话头部提供「移入回收站」按钮,点击后会将会话归档,并弹出撤销提示。归档后的会话是否继续显示在左侧侧边栏,由 DSH 原生的「视图选项 → 过滤会话」决定(隐藏已归档 / 全部对话 / 仅已归档),插件不再额外控制。
  • 回收站管理:在设置页面打开「🗑 会话回收站」,可查看所有已归档会话。每条记录显示会话名称、ID 与工作路径(悬停查看详情)。支持多选后批量还原或永久删除。
  • 彻底删除:永久删除会话时,会从磁盘物理移除会话日志与投影缓存记录;同时清理孤立记录(没有日志的幽灵会话),避免残留。
  • 活跃会话保护:对正在运行的会话及其子会话拒绝删除操作,并在拒绝时提示原因。
  • 子会话感知与保护:每个主会话行可显示其子会话数量(整棵树,任意深度),并内联展开查看子会话的标题、大小、时间与运行状态,每个子会话有独立复选框。永久删除整棵树时,未勾选的子会话会被保留,并作为「已删除主会话 · N 个子会话保留」的行展示,避免变成不可见的残留。
  • 运行中的子会话阻塞行:如果主会话的子会话树中存在正在运行的会话,则该主会话行会被阻塞,并提示具体原因。
  • 批量容错:批量操作时,对每个会话执行删除,并收集错误信息与结果,最后统一报告。
  • 亮/暗自适应 UI:所有颜色通过 client.css 中的 CSS 自定义属性定义,组件跟随 DSH 的主题(data-ds-dark-theme)与系统偏好(prefers-color-scheme),不使用硬编码调色板。UI 与代码文本跟随 DSH 的字体设置(--dsw-font-family / --ds-font-family-code)。

安装与启用

  • 前置要求:DSH 0.2.0-rc.2 或更新版本。插件依赖 SessionProjectionCache 的 cachedSnapshot 与 cachedPredecessorTitle 方法;在未提供这些方法的主机上,归档/还原功能仍可用,但回收站列表仅显示「未命名会话」且不显示轮次计数。
  • 从插件市场安装:当插件在 awesome-dsh-plugin 注册表中上架后,打开设置 → 插件市场,搜索 dsh-session-manager 并安装。
  • 手动安装:
dsh plugin --profile web add dsh-session-manager

安装后重启 Web 应用(停止 dsh web 进程,再运行 dsh web)。
- 本地开发安装:

dsh plugin --profile web add link:/absolute/path/to/harness-session-delete
  • 卸载:
dsh plugin --profile web remove dsh-session-manager

典型用法

  1. 移动到回收站:在对话头部点击「移入回收站」图标,会话归档并弹出撤销提示。归档后,会话是否继续显示在左侧侧边栏由 DSH 的视图选项决定。
  2. 在回收站中管理:打开设置 → 🗑 会话回收站,勾选需要还原的会话后点击「还原」,或勾选需要彻底删除的会话后点击「永久删除」。
  3. 彻底删除会话:永久删除操作会从磁盘物理移除会话日志与投影缓存记录,并清理孤立记录。若子会话中存在正在运行的会话,则主会话行会被阻塞,无法删除。
  4. 撤销还原:还原会话时会显示撤销提示,点击撤销可重新将会话归档。

适用场景与注意

  • 适合需要统一管理已归档会话、定期清理无用会话、避免磁盘占用膨胀的 DSH 用户与开发者。
  • 插件以当前 DSH 进程的权限运行,安装前建议检查仓库与许可证。
  • 插件依赖 DSH 0.2.0-rc.2 及以上版本,且依赖 SessionProjectionCache 的两个方法;在旧版本或未实现这些方法的主机上,回收站列表将降级为仅显示会话名称与 ID。

短结尾

dsh-session-manager 通过会话回收站与彻底删除功能,为 DSH 提供了统一、可控的会话生命周期管理入口。更多细节与源码可访问插件目录页与 GitHub 仓库。

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

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

Xiaoye