前言¶
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插槽且共享同一存储域,会导致侧边栏冲突与数据写入混乱。请二选一。
典型用法¶
- 在工作区操作菜单中创建顶级分类(如“学习笔记”、“项目草稿”)。
- 在分类
⋯菜单中创建子分类,用于进一步细分(如“AI 练习”、“代码草稿”)。 - 将会话拖拽到分类容器中完成分配,或通过会话行的“移动到分类…”操作。
- 对不再需要频繁访问的会话,使用“归档会话 / 取消归档”将其移至归档分区。
- 对需要长期置顶的会话,使用“置顶会话 / 取消置顶”并在视图菜单中选择“提升到分类上方”。
- 删除不再需要的会话时,先在回收站中查看内容,确认无误后再执行“撤回最近一批”或“彻底删除”。
适用场景与注意¶
- 适合需要在多工作区下对会话进行分类、归档与快速定位的开发者与研究者。
- 插件以当前 DSH 进程权限运行,涉及文件访问与回收站写入,请确保对插件来源与许可证有信任。
- 使用前请检查源码与许可证,避免引入不可控变更。
结尾¶
该插件将 DSH 侧边栏从简单的会话列表扩展为可管理的会话分类体系,通过工作区隔离、拖拽排序、置顶、归档与可撤回回收站,提升会话组织与检索效率。
- 目录页:https://www.skillhub.cn/plugins/wsnmm3/dsh-session-keeper
- GitHub:https://github.com/wsnmm3/dsh-session-keeper