DeepSeek Harness 会话管理插件

前言

DeepSeek Harness(DSH)的原生侧边栏以会话列表为主,缺乏对会话的结构化组织能力。在多工作区场景下,会话容易散落在列表中,查找与复用不便。该插件将侧边栏改造为可管理的会话分类体系,支持工作区隔离的分类树、拖拽排序、置顶、归档分区以及可撤回的删除回收站。

插件定位

  • 名称:dsh-session-keeper(显示名称:会话管理)
  • 维护者:wsnmm3
  • 分类:记忆
  • 版本:1.2.1
  • 许可证:MIT

插件形态为 Host 入口 + Web 客户端 bundle + Cordis 配置补丁的集成包,无需单独安装 Client 或 Bundle 包。

核心功能

1. 工作区隔离的分类树

  • 每个工作区拥有独立的分类树,分类不会跨工作区泄漏。
  • 支持多级嵌套,层级深度通过缩进体现。
  • 创建分类的三种方式:工作区操作菜单(顶级分类)、分类 ⋯ 菜单(子分类)、会话行的“移动到分类”操作。
  • 分类 ⋯ 菜单支持新建子分类、重命名、删除。重命名为行内输入,按 Enter 提交,Esc 取消,无需弹窗。

2. 拖拽排序与重排

支持五种拖拽手势,根据放置目标决定结果:

拖拽对象 放置目标 结果
会话行 另一会话行(扁平列表或工作区组内) 重新排序(本地持久化)
会话行 分类内的会话行 在该分类内重新排序
会话行 分类容器 将会话分配到该分类
分类行 同级分类行 在同级间重新排序
分类行 另一分类行的中间带 将其设为后者的子分类

跨父级的排序会被 Host 拒绝(anchor-not-found),排序仅对同层 sibling 有效。

  • 若要手动排序保持稳定,请在视图菜单中将“按”设置为 Manual;默认为 Last updated 时,新活动会持续将会话推至列表前端。

3. 会话操作

每个会话行右侧有 ⋯ 按钮,悬停时时间戳上移,按钮占据该位置。可用操作包括:

  • 重命名 / Rename
  • 分叉会话 / Fork(在最后一次完成轮次处分叉)
  • 置顶会话 / 取消置顶:标记为置顶,置顶项可全局提升至所有分类上方,或保留在所属分类内(见视图菜单)
  • 归档会话 / 取消归档:将会话移至归档分区,或从归档中恢复
  • 移动到分类… / Move to category:将会话转移到另一分类,或移回未分类尾部
  • 删除会话 / Delete:将存储的日志移入回收站,不会立即消失

4. 视图菜单

  • 按分组(与官方浏览器一致):
  • 按工作区:每个工作区一个扁平分区
  • 按工作区树:按目录路径嵌套分组(严格路径边界,如 E:\AI\DSHX 不是 E:\AI\DSH 的子级)
  • 单列表:不分组,仅按时间展示
    路径在比较前标准化(忽略 Windows 分隔符、尾随分隔符与大小写)。

  • 过滤会话:

  • 隐藏已归档:归档分区与所有归档行消失
  • 包括已归档(包括 archived):归档分区显示并展开
  • 仅归档:仅显示归档分区,隐藏工作区分组

  • 置顶会话行为:

  • 提升到分类上方:置顶行被抽离所属分类,统一提升至所有分类上方的全局区域
  • 保留在分类内:置顶行留在其所属分类内并作为该分类的头部
    默认为“提升到分类上方”。

5. 删除与回收站

  • 删除操作将会话的存储日志移至数据目录下的回收站批次目录,不会销毁数据,支持撤回。
  • 确认对话框会调用 /session-recycle/scan,列出:
  • 会话记录本身的大小
  • 若选择更大作用域,会列出会话在其工作目录内写入的文件
  • 每个被拒绝的文件及其拒绝原因
  • 作用域分为:仅记录 / 记录+工作目录内文件 / 保留的“全部”作用域。
  • 安全规则严格:仅允许操作路径的 realpath 严格位于会话工作目录且不在 DSH 数据目录内的文件;符号链接、缺失文件等均被拒绝。
  • 删除同时解绑会话在工作区清单与归档集合中的引用,避免孤儿行残留。
  • 撤回操作会还原日志、重新挂载清单引用,并将会话重新归档(若之前已归档)。

回收站管理入口位于 设置 → 插件 → 会话管理:

  • 按批次分组,显示删除时间、会话数与大小
  • 看内容 / View content:打开对应会话的存储记录,便于二次确认
  • 撤回最近一批 / Undo newest batch:将最新一批移回
  • 彻底删除(单批)与清理过期(默认保留最近 20 批或 30 天):均为不可逆操作
  • 清空回收站 / Empty bin:批量移除所有批次

安装与启用

  • 通过 SkillHub 插件目录安装(推荐):在插件页面找到 dsh-session-keeper 并按指引安装。
  • 通过 GitHub 手动安装:克隆仓库并按照官方说明将插件文件部署到 DSH 插件目录。
  • 安装前请确保当前 DSH 版本与插件兼容(当前版本为 1.2.1)。
  • 注意互斥:不要同时安装本插件与上游包 @deepseek-ai/dsh-session-categories,两者均声明 sidebar.workspaces 插槽且共享同一存储域,会导致侧边栏冲突与数据写入混乱。请二选一。

典型用法

  1. 在工作区操作菜单中创建顶级分类(如“学习笔记”、“项目草稿”)。
  2. 在分类 ⋯ 菜单中创建子分类,用于进一步细分(如“AI 练习”、“代码草稿”)。
  3. 将会话拖拽到分类容器中完成分配,或通过会话行的“移动到分类…”操作。
  4. 对不再需要频繁访问的会话,使用“归档会话 / 取消归档”将其移至归档分区。
  5. 对需要长期置顶的会话,使用“置顶会话 / 取消置顶”并在视图菜单中选择“提升到分类上方”。
  6. 删除不再需要的会话时,先在回收站中查看内容,确认无误后再执行“撤回最近一批”或“彻底删除”。

适用场景与注意

  • 适合需要在多工作区下对会话进行分类、归档与快速定位的开发者与研究者。
  • 插件以当前 DSH 进程权限运行,涉及文件访问与回收站写入,请确保对插件来源与许可证有信任。
  • 使用前请检查源码与许可证,避免引入不可控变更。

结尾

该插件将 DSH 侧边栏从简单的会话列表扩展为可管理的会话分类体系,通过工作区隔离、拖拽排序、置顶、归档与可撤回回收站,提升会话组织与检索效率。

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

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

Xiaoye