dsh-session-groups:侧栏纯展示会话分组

前言

DeepSeek Harness 的会话按工作区挂在侧栏树里。项目一多、同一工作区里会话一长,靠折叠和搜索只能缓解浏览成本,很难按「客户 / 主题 / 实验批次」这类自定义维度把条目收在一起看。把会话挪到别的工作区会动到 DSH 的归属模型,多数时候并不合适。

下面介绍社区插件 dsh-session-groups(维护者 Yuki-cutesnow,分类:客户端):在侧栏工作区列表底部增加一个可折叠的「分组」分区,用拖拽和管理面板把会话归进多层分组,不改动 Host 的工作区与会话归属,分组关系只写在插件自己的状态文件里。

这是什么

dsh-session-groups 是一个自带 cordis.patch.yml 的 cordis 组合包(bundle),无需构建、没有 npm 依赖;仓库根目录即插件包。它在 DSH 侧栏注入纯 UI 层整理能力:点击分组里的会话仍委托原生会话行打开,导航、右键菜单、快捷键与未装插件时一致。

分组结构、嵌套关系、分区高度持久化在 $DSH_HOME/session-groups.json;插件不会写入 storages/workspace.json、会话日志或附件库。当前 README 与 package.json 记载的版本为 0.7.0,许可证 MIT。

核心功能

侧栏工作区列表末尾出现「分组」分区(底部停靠,可整体折叠),与原生工作区列表并列而非挤占其布局。

分组管理:分区标题栏 + 新建顶级分组,⚙ 打开整理面板;分组行 ⋯ 菜单支持重命名、新建子分组、上移、下移、删除。子分组缩进显示,可多层嵌套。

拖拽:把侧栏工作区里的会话拖到分组标题或分组体上即加入;拖到分组内某会话行上则插到该行前面。拖动时有蓝色插入指示线(左端圆点)标落点,分组高亮;分组内会话可拖到其他分组。拖拽只更新 $DSH_HOME/session-groups.json,不移动会话文件。拖分区顶部灰色分隔线可调高度,双击恢复自动高度。

整理面板:按工作区列出会话,下拉框将会话分到任意分组(含「+新建分组并加入」「不分组」),选项带层级缩进。

打开与归档:点击分组内会话直接打开;已归档会话会提示先取消归档(DSH 自身限制)。分组内会话行悬停显示 ×,可移出分组。

运行时行为:默认零轮询——页面启动加载一次 client.js,之后仅在打开/保存分组等操作时访问本机 API。开发调试可创建 $DSH_HOME/session-groups.dev 标记文件,重启后浏览器半区每 5 秒比对 /api/version;用完删除标记并重启恢复零轮询。

安装与启用

推荐从 GitHub 或 SkillHub 插件页安装。桌面端可在侧栏「插件」页「添加插件」(或标题栏菜单「安装第三方插件」),粘贴仓库地址:

https://github.com/Yuki-cutesnow/dsh-session-groups

CLI 等价命令(资料原文):

dsh plugin --profile desktop add github:Yuki-cutesnow/dsh-session-groups

安装成功后若出现「立即启用」,点击以把组合包追加到 profile 的 dsh.profile.bundles。完全退出并重新打开 DeepSeek Harness 一次——桌面版 index 注入表只在宿主启动时收集,不重启侧栏不会出现「分组」分区。

注意事项(来自 README):

  • 安装前 Host 会用 git ls-remote 探测 GitHub(默认 5 秒超时)。国内直连失败时可改用 npm 包名 dsh plugin --profile desktop add dsh-session-groups(需已发布到 npm)、tarball 地址或本地目录安装。
  • 第三方插件无自动更新;升级需先卸载再重装。
  • 插件在宿主进程内运行,DSH 插件体系无沙箱;安装前请自行审阅源码与许可证。

加载成功时,$DSH_HOME/session-groups.log 中会出现一行 apply v0.7.0。

典型用法

  1. 安装并重启 DSH 后,在工作区树底部展开「分组」分区。
  2. 点 + 建顶级分组,或在某分组 ⋯ 里选「新建子分组」做层级(例如「客户 A → 需求 / Bugfix」)。
  3. 从侧栏工作区把会话拖到目标分组标题或内容上;需要精确顺序时拖到分组内某会话行前面,参照蓝色指示线。
  4. 会话很多时,点 ⚙ 打开整理面板,用下拉框批量归类。
  5. 分区挡视线时,拖顶部分隔线调高/调低;双击分隔线恢复自动高度。

卸载时从 profile 的 dsh.profile.bundles 与 dependencies 移除 dsh-session-groups 并删除 node_modules 中的联接/目录,重启 DSH;可选执行仓库脚本 node tools/uninstall-profile.mjs 或加 --purge 一并删除 $DSH_HOME/session-groups.json 与 .log。

适用场景与注意

适合:同一工作区或跨工作区会话较多、希望用自定义标签式视图浏览,但不能也不打算改动 DSH 会话 cwd 归属的开发者。

必须接受的限制:

  • 表面分组:不能把会话「搬进」别的工作区;DSH 没有移动会话归属的接口。
  • 宿主 DOM 耦合:DSH 升级若改了侧栏结构(如 data-row-key、标题类名),分区可能挂载失败;排查可看 $DSH_HOME/session-groups.log 与浏览器控制台。
  • 改代码或升级插件:修改 lib/ 或 client/ 后需完全重启应用(桌面版 Ctrl+R 无效);与 v0.7.0 默认不轮询一致。
  • 数据上限(宿主清洗):最多 200 个分组、每组最多 500 个会话、高度 0–1200px;正常使用为几十 KB 级 JSON。

DeepSeek Harness 生态强调「一切皆插件」;SkillHub 等社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系。本插件 GitHub 星标数为 0(以目录页线索为准),不代表功能完整性,安装决策仍应基于 README 与源码。

结尾

dsh-session-groups 用侧栏底部的「分组」分区做强迫症友好的会话视图整理,多层嵌套、拖拽与可调高度都落在插件私有状态里,不动 Host 工作区数据。需要安装入口时可打开插件目录页或仓库 README。

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

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

Xiaoye