dsh-session-groups

DSH PLUGIN工具与能力

仓库 Yuki-cutesnow/dsh-session-groups · npm dsh-session-groups

工具与能力 L5 · 运行验证通过 安全审查:低风险 可信度:金 可安装插件
安装这个插件

为 DeepSeek Harness 侧栏新增纯展示的会话分组分区,支持拖拽分组、多层嵌套与高度调节,不改动宿主会话归属。

一句话选型结论

按资料字段整理

dsh-session-groups 是工具与能力类的 DSH 可安装插件,验证等级 L5 · 运行验证通过,安全审查为低风险,列出 5 项功能,有可直接复制的安装命令。验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么;涉及密钥或系统权限的,建议先在隔离环境试装。

分类工具与能力 收录类型可安装插件 验证等级L5 · 运行验证通过 安全审查低风险
验证等级 L5 L5 · 运行验证通过
GitHub 星标 0 复刻 0 · 未关闭 issue 0
最近更新 2026-11-01 创建于 2026-11-01
README 12.4 KB 正文体量,越大说明说明书写得越细

安装

可安装插件
在 DSH 里执行,装完用 dsh plugin list 确认已挂上;标了 L4 / L5 的命令已在沙盒里真实跑通
dsh plugin --profile web add github:Yuki-cutesnow/dsh-session-groups#v0.7.0
  1. 1
    确认版本与运行环境

    兼容的 DSH 版本为 0.2.2-rc.1 等 2 个;版本不匹配时安装会报错。

  2. 2
    执行安装命令

    在 DSH 里执行上面的命令;多包仓库要注意区分具体子包名,别装错包。

  3. 3
    确认已挂载

    用 dsh plugin list 查看列表里是否出现这个插件,出现即挂载成功。

  4. 4
    试跑并检查权限

    加载后跑一个最小用例,确认它能正常工作;同时看它申请了哪些文件、命令或网络权限。

兼容 DSH 版本0.2.2-rc.1、0.2.1-rc.5版本不匹配时安装会报错
Node.js 要求未标注来自仓库 package.json 的 engines 字段
前置依赖无需要同时安装的同级依赖
npm 包名dsh-session-groups可用 npm view 查看包信息

能做什么

5 项功能
字段来自项目仓库与公开索引,中文说明由本站标注

dsh-session-groups:给 DeepSeek Harness 侧栏加会话分组分区

  • 侧栏分组分区,可折叠
  • 会话拖拽进组,带插入指示线
  • 分组多层嵌套
  • 拖分隔线调节高度
  • 分组数据持久化保存

适用场景

存储

上游标签

dshdsh-pluginsessionsession-groupssession-management

验证等级与安全审查

L5 · 运行验证通过
自动化流程结论,不是人工审核
验证等级L5 · 运行验证通过在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来
安全审查低风险静态分析结论,未标注不代表已通过审查
仓库健康度活跃按仓库活跃度与最近更新时间给出
可信度金综合仓库活跃度与验证结果

上面的结论来自上游最近一次自动化验证(2026-11-06): 同一套检查会在插件发新版后重跑,页面显示的是最新一次的逐项结果。

逐项检查结果

L1 · 已找到 ✓ 通过
  • L1.0_DEFAULTED_FROM_L3 由 L3 推定 默认通过——L3 安装规范已通过(全库 L3 扫描策略)
L2 · 结构化 ✓ 通过
  • L2.0_DEFAULTED_FROM_L3 由 L3 推定 默认通过——L3 安装规范已通过(全库 L3 扫描策略)
L3 · 安装规范 ✓ 通过
  • L3.1_INSTALL_COMMAND_PARSED 安装命令已解析 方式:安装规范解析
  • L3.2_DSH_VERSION_DECLARED DSH 版本已声明 方式:DSH 版本声明
L4 · 安装已测 ✓ 通过
  • L4.1_INSTALL_EXECUTED_CONFINED 受限沙盒内执行安装 方式:沙盒安装执行
  • L4.2_INSTALL_SUCCESS 沙盒安装成功 方式:沙盒安装执行
  • L4.3_ARTIFACT_CONFIRMED 安装产物已确认 方式:沙盒安装执行
L5 · 运行已测 ✓ 通过
  • L5.1_INSTALL_PASSED_SANDBOXED 沙盒安装通过 方式:沙盒安装执行
  • L5.2_WEB_BOOT_READY Web 启动就绪 方式:Web 启动
  • L5.3_HTTP_SERVED HTTP 服务响应 方式:HTTP 请求
  • L5.4_PLUGIN_INVENTORY_ACTIVE 插件清单中已激活 方式:插件清单查询

风险详情

  • 结论说明 静态扫描 低;动态审计无结论(以下以静态为准)→ 总评级 低。
  • 风险计数 严重 0 / 高 0

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 验证等级 L5:安装和运行都在沙盒里跑通过,装完能直接用的概率高。
  • 静态安全审查为低风险,没有发现明显可疑行为。
  • 有可直接复制的安装命令,不用自己翻文档找入口。
  • 标注了兼容的 DSH 版本(0.2.2-rc.1 等 2 个),按版本装不容易报错。
  • 列出了 5 项功能,能直接看出它解决什么问题。

先想清楚的地方

  • 没有声明 Node.js 版本要求,版本不匹配可能装不上。
  • 验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么。

更适合

  • 需要在工具与能力场景里给 DSH 补能力的人。
  • 想装完就能用、不想自己排依赖的人。
  • 能接受在本地装依赖、愿意自己确认权限的人。

不太适合

  • 只使用 DSH 官方内置能力、不接受第三方插件的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
插件验证等级安全审查星标兼容版本安装命令
dsh-session-groups当前 L5 · 运行验证通过 低风险 0 0.2.2-rc.1 等 2 个 有
huashu-design 未做沙盒验证 未标注 3.0 万 未标注 有
loopx 未做沙盒验证 未标注 6,233 未标注 无
agy-staff 未做沙盒验证 未标注 870 未标注 有
dsh-startup-screen 未做沙盒验证 未标注 633 未标注 有
minara-skills L4 · 沙盒安装通过 中风险 360 未标注 有

仓库档案

工具与能力
字段来自项目仓库与公开索引,中文说明由本站标注
作者 / 维护方Yuki-cutesnow仓库 dsh-session-groups · 默认分支 main
分类工具与能力storage
收录类型可安装插件声明了 dsh.bundle、可用 dsh plugin add 安装的条目
开发语言JavaScript仓库主语言
许可证MIT商用或二次分发前请确认条款原文
星标 / 复刻 / issue0 / 0 / 0收录时的数值,非实时
创建 / 更新2026-11-01 · 2026-11-01最后推送 2026-11-01
本站收录2026-11-02首次进入本站目录的时间

README 全文

12.4 KB
作者原文,中文版优先;只做安全转义,不改内容

dsh-session-groups

给 DeepSeek Harness 侧边栏工作区区域加一个 纯展示用的「分组」分区:把散落在不同工作区里的会话,
按你自己的分类收进一组组里,强迫症友好。不改动会话归属、不移动会话文件、不动工作区数据——只是表面整理。

> 插件只在自己保存的 $DSH_HOME/session-groups.json 里记录「哪个会话属于哪个分组」,
> 点击分组里的会话时,仍然是委托 DSH 原生会话行打开,所以原生导航、右键菜单、快捷键全部照旧。

功能

  • 侧栏工作区列表末尾多出「分组」分区(底部停靠,不挤占工作区列表),可整体折叠
  • 新建/重命名/排序/删除分组(上一版里「重命名」「下移」失效的问题都已修复)
  • 分组可多层嵌套:⋯ 菜单里「新建子分组」,子分组缩进显示,可一层层套下去
  • 可以直接把侧栏里的会话拖进分组:拖到分组标题或分组体上即加入;拖到某个会话行上则插到它前面。
    拖动时会显示一条蓝色插入指示线,标出会话将落到哪个位置;分组里的会话也能拖到别的分组
    (拖拽只改本插件的分组文件,不碰宿主归属)
  • 拖分区顶部那条灰色分隔线可任意调节分区高度;双击分隔线恢复自动高度
  • 管理面板:按工作区列出所有会话,用下拉框把会话分到任意分组(含「+新建分组并加入」「不分组」,
    下拉选项带层级缩进)
  • 点击分组里的会话直接打开;已归档会话会提示先取消归档
  • 分区状态(分组结构、嵌套、面板高度)持久化在宿主侧($DSH_HOME/session-groups.json),
    换浏览器/清缓存不丢
  • 默认零轮询:页面启动时只加载一次脚本,之后不会定时请求任何接口(只有打开/保存分组时才调用本机 API)。
    开发调试时可创建 $DSH_HOME/session-groups.dev 标记文件临时启用热更新(见「手动安装」一节)

使用

  • 分区标题栏右侧:+ 新建顶级分组,⚙ 打开整理面板
  • 分组行右侧 ⋯ 菜单:重命名 / 新建子分组 / 上移 / 下移 / 删除分组
  • 拖拽:把侧栏工作区里的会话直接拖到分组标题或分组内容上即加入;拖到某个会话行上则插到它前面;
    拖动过程中会显示蓝色插入指示线(带左端圆点)提示落点,分组本身同时高亮;从分组里拖到另一个分组可换组
  • 拖分区顶部灰色分隔线调整高度,双击恢复自动高度
  • 分组内会话行右侧 ×(悬停显示)把会话移出分组;点击会话本身打开原生会话

从 GitHub / 插件页安装(推荐)

本插件是一个自带 cordis.patch.yml 的 cordis「组合包(bundle)」,无需构建、没有 npm 依赖,
仓库根目录本身就是插件包(package.json、cordis.patch.yml、lib/、client/ 都在根目录),
所以可以直接从 Git 仓库安装:

  1. 打开 DeepSeek Harness 桌面端 → 侧栏「插件」页 → 「添加插件」(或标题栏箭头菜单里的「安装第三方插件」),
    粘贴仓库地址 https://github.com/Yuki-cutesnow/dsh-session-groups,然后按提示安装。
    - 也可以用 CLI:dsh plugin --profile desktop add github:Yuki-cutesnow/dsh-session-groups
  2. 安装成功后如果出现「立即启用」,点它(组合包会被追加到 profile 的 dsh.profile.bundles)。
  3. 完全退出并重新打开 DeepSeek Harness 一次——桌面版的 index 注入表只在宿主启动时收集,
    不重启的话侧栏不会出现「分组」分区。

注意事项:

  • 安装前 Host 会用 git ls-remote 探测 GitHub(默认 5 秒超时)。国内网络直连 GitHub 失败时,
    对话框会提示「无法访问 GitHub」;「改用国内镜像」只覆盖注册表里的包,不会代替 GitHub 下载。
    这时可以改用:发布到 npm 后按包名安装(dsh plugin --profile desktop add dsh-session-groups)、
    把仓库打包成 tarball 地址、或直接用本地目录安装。
  • 第三方插件没有自动更新:升级 = 先卸载再重新安装(从 GitHub 安装会重新拉取仓库内容)。
  • 从 GitHub 安装时 node_modules 由 pnpm 放在 profile 里,源码是复制的快照,改本地副本不会影响已安装版本。
  • 插件在宿主进程里运行(DSH 插件体系本身没有沙箱),装第三方插件前请自己检查代码——包括本插件。

手动安装(本地目录 / 开发)

插件是标准的 cordis「组合包(bundle)」:

  1. 把本目录链接进 profile 的 node_modules(目录联接即可):
$plugin = "D:\src\dsh-session-groups"   # ← 改成你 clone 下来的目录
New-Item -ItemType Junction `
-Path "$env:USERPROFILE\.dsh\profiles\desktop\node_modules\dsh-session-groups" `
-Target $plugin
  1. 在 %USERPROFILE%\.dsh\profiles\desktop\package.json 中登记:
{
"dsh": { "profile": { "bundles": [ "…原有条目…", "dsh-session-groups" ] } },
"dependencies": { "dsh-session-groups": "link:D:\\src\\dsh-session-groups" }
}
  1. 完全退出并重新启动 DeepSeek Harness(桌面端的 index 注入表只在宿主启动时收集一次,
    profile 里也没有启用 HMR 热重载)。

启动后侧栏工作区列表底部会出现「分组」分区;$DSH_HOME/session-groups.log 里出现一行 apply v0.7.0 即代表宿主半区加载成功。

> 改代码之后:只改 client/ 或只改 lib/,都需要完全退出并重开应用才生效
> (桌面版窗口没有刷新快捷键,Ctrl+R 无效)。v0.7.0 起默认不再轮询,只有开发调试时才会临时开启热更新:

# 开发调试:创建标记文件后重启应用,浏览器半区开始每 5 秒比对一次 /api/version
New-Item -ItemType File -Force "$env:USERPROFILE\.dsh\session-groups.dev"
# 调试结束:删掉标记文件并重启,恢复零轮询
Remove-Item "$env:USERPROFILE\.dsh\session-groups.dev"

卸载

  1. 从 profile package.json 的 dsh.profile.bundles 和 dependencies 中删掉 dsh-session-groups
  2. 删除 node_modules\dsh-session-groups 联接
  3. 重启 DeepSeek Harness;可选删除 $DSH_HOME/session-groups.json 与 .log

也可以直接用仓库里的脚本:

node tools/uninstall-profile.mjs            # 移除注册与联接,保留分组数据
node tools/uninstall-profile.mjs --purge    # 连同 $DSH_HOME/session-groups.json 与 .log 一起删除

(package.json.bak-dsg-session-groups 是 install 脚本首次安装时的备份,如有需要请手动删除。)

数据、残留与清理(会不会留垃圾)

正常使用下不会无限累积。插件产生的全部文件如下,且都有上限:

路径 内容 上限 / 清理
$DSH_HOME/session-groups.json 分组结构(哪个会话属于哪个分组、嵌套、面板高度) 由宿主清洗:最多 200 个分组、每组最多 500 个会话、高度 0–1200px,正常几十 KB;卸载时用 --purge 删除
$DSH_HOME/session-groups.log 诊断日志(apply、路由、状态读写、浏览器回传) 超过 512 KB 时清空重写,不会无限增长
$DSH_HOME/session-groups.json.tmp-* 原子写临时文件 写入后立刻改名消失;只有进程恰好在写入瞬间崩溃才会残留几 KB,下次宿主启动时自动清理
profile 里的安装痕迹 node_modules/dsh-session-groups(联接或目录)、package.json 的 dsh.profile.bundles + dependencies 各一条 卸载脚本会删除;package.json.bak-dsg-session-groups 备份需手动删
浏览器端 一个注入的 、一个、分区/弹窗/toast DOM 随页面生命周期存在;不使用 localStorage/cookie,也没有定时器/轮询

插件不会写入:工作区数据 storages/workspace.json、会话日志、附件库、模型/凭据数据。
默认没有任何轮询请求:页面启动时加载一次 client.js,分组状态只在打开 / 拖动 / 保存时读写一次本机 API。
只有创建了 session-groups.dev 开发标记时,页面才会每 5 秒请求一次 /api/version(仅回环、不写盘)。

从「插件」页安装时,DSH 自己会在 profile 的 .plugin-manager/logs 下保留 pnpm 的诊断日志,
那是 DSH 的行为,不属于本插件。

工作原理

  • 宿主半区 lib/index.js:cordis 插件。apply() 里第一件事监听 webserver/index-inject,
    推入一条 {kind:'style'}(内联 CSS)和一条 {kind:'script', placement:'body'}(内联加载器,只加载一次
    /dsh-session-groups/client.js,无轮询;存在 session-groups.dev 标记时才换成轮询版);随后
    root.inject(['webServer'], …) 注册五条 exact 路由:
  • GET /dsh-session-groups/client.js / client.css:静态资源
  • GET /dsh-session-groups/api/version:浏览器半区的构建版本(文件 mtime+size),仅开发模式热更新比对用
  • GET|POST /dsh-session-groups/api/state:读写分组状态。GET 现读
    $DSH_HOME/storages/workspace.json 返回工作区/会话/归档快照;POST 校验、清洗、去重后原子写入
    $DSH_HOME/session-groups.json
  • POST /dsh-session-groups/api/log:浏览器半区的诊断日志通道(分区是注入的 DOM,出问题只能靠它回传)
  • 浏览器半区 client/client.js:不用构建的普通 IIFE。找到侧栏工作区列表的 [role="tree"] 容器,
    在其父节点里插入分区节点;用 MutationObserver 在 DSH 重渲染后重新挂载。
    会话标题直接读原生行里的标题元素;点击条目时对 [data-row-key="session:"] 调 .click(),
    需要时先展开折叠的工作区分组。
  • 安全栅栏:所有路由只接受回环地址、回环 Host、同源 Origin,拒绝 Sec-Fetch-Site: cross-site;
    只监听 GET/HEAD/POST,POST 仅接受 application/json 且 ≤ 256 KB。
  • 诊断:$DSH_HOME/session-groups.log 记录宿主 apply、路由注册、状态读写,以及浏览器半区回传的
    boot / state / section mounted / 打开会话失败等信息。排查 UI 问题时先看这个文件。

已知限制

  • 是表面分组:不会把会话移进别的工作区(DSH 的会话归属由会话创建时的不可变 cwd 决定,没有移动接口)
  • 改 lib/ 或改 client/ 都需要完全重启应用才生效(v0.7.0 起默认不轮询;
    开发调试可建 $DSH_HOME/session-groups.dev 标记临时启用热更新,用完删掉并重启)
  • 首次安装必须重启应用一次(注入表只在宿主启动时收集)
  • DSH 升级若改了侧栏 DOM 结构(会话行的 data-row-key、标题类名等),分区可能挂载失败或标题读不到;
    宿主日志 $DSH_HOME/session-groups.log 和浏览器控制台是排查入口
  • 已归档会话无法直接打开(这是 DSH 的限制,不是插件行为)

版本记录

版本 内容
0.1.0 侧栏「分组」分区、新建/重命名/折叠、管理面板、点击打开会话
0.2.0 诊断回传通道 /api/log,修复 dsh-app 下 sendBeacon 不生效
0.3.0 修复重命名、底部停靠 + 拖动调高、嵌套分组、宿主清洗 schema v2
0.4.0 修复「下移」、支持从侧栏直接拖会话进分组
0.5.0 浏览器半区自动热更新(/api/version + 轮询加载器 + dispose 重载),不再依赖重启/刷新
0.6.0 发布准备:.gitignore/LICENSE;宿主启动时清理原子写残留的 .tmp-*;README 增加插件页/GitHub 安装与数据清理说明
0.7.0 默认取消每 5 秒轮询:页面只加载一次 client.js,不再有后台请求;热更新改为 $DSH_HOME/session-groups.dev 标记文件启用的开发模式

目录

dsh-session-groups/
package.json          # dsh.bundle.patch 指向 cordis.patch.yml
cordis.patch.yml      # 组合包 patch:insert 本插件
lib/index.js          # 宿主半区(注入行 + HTTP 路由 + 状态持久化)
client/client.js      # 浏览器半区(侧栏分区 DOM)
client/client.css     # 样式(沿用 DSH 主题变量)
tools/                # install-profile.mjs / uninstall-profile.mjs / extract-asar.mjs
test/mock-test.mjs    # 无 GUI 的离线冒烟测试:node test/mock-test.mjs
LICENSE               # MIT
.gitignore

常见问题

8 问
答案由本站依据条目字段整理,不引用上游原文
dsh-session-groups 怎么安装?

在 DSH 里执行 `dsh plugin --profile web add github:Yuki-cutesnow/dsh-session-groups#v0.7.0` 即可。对应的 npm 包名是 `dsh-session-groups`。

dsh-session-groups 的验证等级是什么意思?

L5 · 运行验证通过。在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来

dsh-session-groups 安全吗?

低风险。静态扫描 低;动态审计无结论(以下以静态为准)→ 总评级 低。

dsh-session-groups 装之前要先确认什么?

先看它会读写哪些文件、执行哪些命令、连接哪些网络地址;验证等级只说明装得上、跑得起来,不等于安全。涉及密钥或系统权限的,建议先在隔离环境试装。

dsh-session-groups 支持哪些 DSH 版本?

上游记录的兼容版本包括 0.2.2-rc.1、0.2.1-rc.5。

dsh-session-groups 用的是什么许可证?

上游标注为 MIT。商用或二次分发前请到仓库确认许可证原文。

dsh-session-groups 有哪些功能?

侧栏分组分区,可折叠、会话拖拽进组,带插入指示线、分组多层嵌套、拖分隔线调节高度、分组数据持久化保存。

这条记录的数据可靠吗?

本站按仓库名去重后合并整理,字段以作者仓库与 npm 元数据为准;安装命令、仓库地址与 README 保持原文,带 L4 / L5 标记的安装命令已在隔离沙盒里真实跑通。

同名或近似条目

5 条
不同作者的仓库分开列,请确认你要装的是哪一个
工具与能力
按星标排序,可作替代方案

huashu-design

huashu-design

在 DeepSeek Harness 里说一句话,就能拿回可交付的设计:网页、App 原型、可编辑 PPTX、动画与信息图,自带 84 种风

未标注验证等级 3.0 万 星

loopx

loopx

LoopX 是面向长周期 Agent 的本地优先控制平面,作为 DSH plugin 为 DeepSeek Harness 提供持久目标、证

未标注验证等级 6,233 星

agy-staff

agy-staff

把 Google Antigravity CLI 作为快速 Gemini 员工接入 DSH,提供子代理侧边栏、编排模式与多种角色技能。

未标注验证等级 870 星

dsh-startup-screen

dsh-startup-screen

DeepSeek Harness 的启动界面与启动动画插件。

未标注验证等级 633 星

dsh-blender-plugin

dsh-blender-plugin

让 AI 模型通过直连 TCP 通道实时驱动 Blender 的 DSH plugin:15 个工具覆盖视口取帧、任意角度渲染、内循环搜索、

未标注验证等级 211 星

Yuki-cutesnow 的其它插件

1 个

插件的元信息来自作者仓库;分类、验证等级与安全结论的中文说明为中文整理,最近核验 2026-11-06。