用分类树和回收站整理侧边栏里的会话
29.8/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/26 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add wsnmm3/dsh-session-keeper该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-brand@deepseek-ai/dsh-api-gateway@deepseek-ai/dsh-client-locale@deepseek-ai/dsh-client-store@deepseek-ai/dsh-client-ui-conversation@deepseek-ai/dsh-client-ui-primitives@deepseek-ai/dsh-client-ui-sidebar@deepseek-ai/dsh-client-ui-slots@deepseek-ai/dsh-invariants@deepseek-ai/dsh-session@deepseek-ai/dsh-storage-domain给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
DeepSeek Harness 的会话管理:按工作区划分的分类树、拖拽排序、置顶、归档区,以及可恢复的删除回收站。
README
由 DeepSeek 最新模型翻译生成会话管理 · dsh-session-keeper
把 dsh 侧边栏变成真正能管得住的地方:分类树、拖拽排序、置顶、归档分区、可撤回的删除回收站。
每个 Workspace 有自己独立的分类,每个会话最多属于一个分类;删掉的会话进回收站而不是蒸发。
| 包名 | dsh-session-keeper |
| 显示名 | 会话管理(设置 → 插件里的 tab 就是这个名字) |
| 版本 | 1.2.1 |
| 许可 | MIT |
| 形态 | 一个包内含 Host 入口 + Web Client bundle + Cordis profile patch,不需要另装 Client / Bundle |
这是谁的代码? 本项目是 ht719/dsh-session-categories(0.1.0,MIT)的维护分支。
上游那份装进当前版本的 dsh 会直接打不开窗口,本仓库在它之上做了移植与扩展。
每一项改动来自哪里(上游基线 / 竞品思路 / 使用者反馈)都记在 CHANGELOG.md;移植的技术细节在 FORK-NOTES.md。
不要与上游包同时安装。
展开完整文档(README 剩余 1 节)
会话管理 · dsh-session-keeper 把 dsh 侧边栏变成真正能管得住的地方:分类树、拖拽排序、置顶、归档分区、可撤回的删除回收站。 每个 Workspace 有自己独立的分类,每个会话最多属于一个分类;删掉的会话进回收站而不是蒸发。 | 包名 | dsh-session-keeper | | 显示名 | 会话管理(设置 → 插件里的 tab 就是这个名字) | | 版本 | 1.2.1 | | 许可 | MIT | | 形态 | 一个包内含 Host 入口 + Web Client bundle + Cordis profile patch,不需要另装 Client / Bundle | 这是谁的代码? 本项目是 ht719/dsh-session-categories(0.1.0,MIT)的维护分支。 上游那份装进当前版本的 dsh 会直接打不开窗口,本仓库在它之上做了移植与扩展。 每一项改动来自哪里(上游基线 / 竞品思路 / 使用者反馈)都记在 CHANGELOG.md;移植的技术细节在 FORK-NOTES.md。 不要与上游包同时安装。 dsh-session-keeper 与 @deepseek-ai/dsh-session-categories 抢的是同一个 sidebar.workspaces 槽位,打开的也是同一个存储域(session_categories,version 0)。两个一起装,侧边栏会互相顶掉,分类文档也会被写进同一份。二选一:这个分支,或者上游。 为什么会有这个分支(源于什么) 上游 dsh-session-categories@0.1.0 发布于 2026-08-19,对着更早的 dsh 预发布版写的。之后 dsh 移除了 @deepseek-ai/dsh-client-runtime 这个包,而上游的 client bundle 仍然 require 它: upstream lib/client.js 需要: "@deepseek-ai/dsh-client-runtime/client" ← 现在解析不到 dsh 的模块加载器会拿插件的 inject 声明去解析 bundle 里的 require。解析不到就在 bundle 物化时抛异常,sidebar.workspaces 这个 slot 条目的挂载随之崩溃;官方侧边栏把 slot 收回去,而崩溃发生在 shell 引导阶段,于是窗口永远开不完 —— 表现出来的样子是「dsh 打不开了」。 本分支从源码重建 bundle(不是打补丁改 lib/),所以重装插件也不会把修复冲掉。 上游还缺两样东西:仓库里没有 Rows.module.css(Rows.tsx 却 import 它),以及重建出来的样式表里 @keyframes row-in 块被截断过(一个坏 at-rule 会让后面所有规则静默失效)。 这两处也在本分支补齐,细节见 FORK-NOTES.md 与 BUILD.md。 功能 1. 分类树 - 分类按 Workspace 隔离:A 工作区的分类不会跑到 B 工作区去。 - 支持多级嵌套:分类下可以再开子分类,缩进随层级增加。 - 新建方式三个入口:Workspace 操作菜单建一级分类、分类 ⋯ 菜单建子分类、会话行的移动到分类。 - 分类的 ⋯ 菜单:新建子分类 / 重命名 / 删除。重命名是就地输入(回车确认、Esc 取消),不弹框。 2. 拖拽 四种拖拽都支持,各有各的落点规则: | 拖什么 | 拖到哪 | 结果 | | 会话行 | 单列表 / 工作区分组里的另一行 | 调整顺序(写进本地存储) | | 会话行 | 分类里的行 | 在该分类内调整顺序 | | 会话行 | 分类容器 | 改派到那个分类 | | 分类行 | 同级分类行 | 在兄弟之间排序 | | 分类行 | 其他分类行的中间带 | 变成它的子分类 | 分类行拖到另一行的上边缘 / 下边缘是排序,落在中间带是改父级 —— 两种手势靠落点高度区分。 跨父级排序会被 Host 拒绝(anchor-not-found),这是设计如此:排序只在同级内有意义。 需要「手动排序」生效,把视图菜单的排序方式切到 手动排序;停在 最近更新 时,新活动会把会话顶回前面。 3. 会话操作 每个会话行右缘有 ⋯,鼠标悬停时时间戳让位、按钮落到最右: | 操作 | 作用 | | 重命名 | 改标题 | | 分叉会话 | 在最后一个完成的回合处分叉 | | 置顶会话 / 取消置顶 | 标记该行醒目:置顶行会被抬进所有分类上方的全局置顶段,或者留在自己所属的分组里 | | 归档会话 / 取消归档 | 归档该行,或把归档行放回原位 | | 移动到分类… | 改派到别的分类,或放回未分类尾部 | | 删除会话 | 把会话记录移进回收站(见第 5 节) | 4. 视图菜单 分组方式(三种,与官方浏览器一致): | 模式 | 说明 | | 按工作区 | 每个 Workspace 一个平铺分区 | | 按工作区树 | 按目录路径嵌套:目录位于另一个 Workspace 目录之内的,作为那个分区里的子分区渲染。按严格路径边界匹配,E:\AI\DSHX 不是 E:\AI\DSH 的子级 | | 单列表 | 一条按时间排的列表,不分组 | 路径比较前会归一化(Windows 分隔符、结尾分隔符、大小写都不计),所以 E:\AI\DSH 与 e:/ai/dsh/ 是同一个父级。 筛选会话(三态,与官方一致): - 隐藏已归档 —— 归档分区和归档行一起消失; - 全部对话(包括已归档) —— 分区出现并展开; - 仅显示已归档 —— 工作区分组全部隐藏,只剩归档分区。 第二项写「包括」而不是官方的「显示」,是有意为之;行为完全一致。 置顶位置(一个开关,管所有置顶行): - 置顶到分类上方 —— 置顶行从各自分类里抽出来,汇成所有分类之上的全局置顶段。置顶说的是「在整个列表里醒目」,不是「在某个分组里靠前」; - 保留在所属分类 —— 置顶行留在自己所属的分组里,只在那个分组内靠前。 开关在同一个视图菜单里,默认是置顶到分类上方。 5. 删除与回收站 「删除会话」把会话记录移到 dsh 数据目录下的批次目录。文件不销毁,删除随时可逆。 移任何文件之前,确认框会先走 /session-recycle/scan 扫一遍并列出: - 会话记录本身占多大; - 选了更大范围时,会跟着一起移动的、该会话写过的文件; - 每一个被拒绝的文件,以及拒绝的理由。 三档范围:只移会话记录 / 连该会话在工作目录里写过的文件一起移 / 预留的「全部」档。 安全规则很严:只有真实路径严格位于会话工作目录内、且不在 dsh 数据目录下的文件才会被动到;符号链接、不存在的文件、其余情况一律拒绝并给出理由。日志会在移动之前读出来,因为一旦离开 sessions 目录,持久化层就读不到它了。 删除同时把该会话从所有工作区名册里摘除、并从归档集合中释放,所以不会留下孤儿行。 撤回会把三面一起还原:恢复日志、重新挂回名册、原本已归档的重新归档。 回收站管理在 设置 → 插件 → 会话管理: - 按批次分组列出,显示删除时间、会话数、占用体积; - 看内容 展开该会话的存档对话,让「再删一次」是个知情决定; - 撤回最近一批 把最新一批放回原处; - 彻底删除(单批)与 清理过期(默认保留最近 20 批 / 30 天)—— 这两项不可逆; - 清空回收站 一次清掉全部批次。 6. 插件日志 设置页的插件日志是个环形记录,按时间倒序记插件自己的动作与失败(归档、取消归档、删除、扫描、撤回)。 被拒绝的动作会留下看得见的理由,而不是一闪而过的 toast。可以一键复制全部日志。 安装 shell 里要能用 dsh 命令,然后装到未修改的 dsh Web profile: dsh plugin --profile web add dsh-session-keeper dsh --profile web 在 dsh 源码仓库里跑的话,用它自己的 launcher: pnpm dsh plugin --profile web add dsh-session-keeper pnpm dsh --profile web 仓库里已含生成好的运行时文件,不需要额外构建插件。 从 tarball 装(离线或想锁定版本时): dsh plugin --profile web add ./dsh-session-keeper-1.2.1.tgz 装完重启 dsh。插件注册三个 slot:sidebar.workspaces、settings.plugins.tab、sidebar.footer.action,不碰任何 dsh 核心包,也不需要改 ui-workspace / ui-slots / api-remotes。 注意事项 1. 预发布版不承诺兼容。 插件对着当前的 dsh 预发布插件 API。dsh 升级时请一起更新本插件——只升一边很容易撞上「包被移除 / 导出改名」这类断裂,症状往往就是侧边栏整块不见或窗口打不开。 2. 「彻底删除」是真的删。 「删除会话」是可逆的(进回收站);「彻底删除」「清理过期」「清空回收站」不可逆。 回收站不是备份,重要会话请另外导出。 3. 视图状态在你自己的浏览器里。 分组方式、排序方式、分类展开状态、归档筛选、各账户的手动顺序,都以 dsh.session-categories.view.v2 存在浏览器 localStorage。换机器、清缓存、换 profile 都会丢。 会话本身和分类数据不在这里,不会因为清缓存丢。 4. 分类删除会连带归档会话。 递归删除一个分类,会把里面的会话归档(不是删除)。日志不会被删掉,随时可以取消归档找回来。 5. 跨 Workspace 的操作会被拒绝。 把会话移到别的 Workspace 的分类、把分类移进自己的后代、对着过期 revision 动手 —— 都会被拒并给出理由。 这是保护,不是 bug。 6. 排序要开「手动排序」。 停在「最近更新」时,新活动会把会话顶回最前面,把用户手排的顺序不断覆盖。 7. 本插件不注入全局 CSS。 所有样式都走 CSS Modules(类名哈希化),作用域限定在自己渲染的 DOM 里。它不会改侧边栏的全局宽度、不会改窗口背景、不会写 document.body。所以它既不会修好、也不会弄坏外壳层的布局问题。 8. 卸载。 dsh plugin --profile web remove dsh-session-keeper。分类与会话数据留在 dsh 存储里,不会跟着插件走。 数据与行为 - 递归删除分类会归档其中的会话,不删持久化日志。 - 归档操作带 operation id 重试,进程重启后可以恢复。 - 变更会拒绝:过期 revision、跨 Workspace 的会话 id、移到自身后代、指向未知分类。 - 删除的批次目录在 dsh 数据目录下,结构 <批次id>/<会话id>/;批次 id 形如 2026-10-17T14-31-25-939Z。 兼容性 面向当前 dsh 预发布版的插件 API,目标是在未修改的 dsh 安装里工作。 dsh 不承诺跨预发布版本兼容,升级时请同时更新 dsh 和本插件。 仓库结构 仓库根目录就是可安装的预构建包。源码保留在 packages/workspace/session-categories/、 packages/client/ui-session-categories/ 与 packages/bundle/session-categories/。 构建说明(含本分支不得不打的上游补丁)见 BUILD.md。 许可与致谢 MIT。上游版权归原作者 ht719;本分支保留同样的许可与署名,改动以同等条款发布。 上游仓库:ht719/dsh-session-categories。
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
wsnmm3/dsh-session-keeper
用分类树和回收站整理侧边栏里的会话
相关插件 · 市场 / 管理
插件精选列表awesome-dsh-plugin/awesome-dsh-plugin
DeepSeek Harness(dsh)插件精选列表
★ 22,399未汉化DSH
73.6
新词雷达zhuyansen/new-term-radar
new-term-radar新词雷达
★ 2,049已汉化MCP
72.8
插件生态导航0xsline/awesome-deepseek-harness
安装 贡献指南 DeepSeek Docs 公开插件目录 Issues
★ 1,188已汉化DSH
72.6
技能注册中心iflytek/skillhub
企业级开源智能体技能注册中心——发布、发现并管理组织内可复用的技能包。
★ 5,384已汉化DSH
71.9
插件市场目录imsai-sh/awesome-deepseek-harness-plugins
面向 DeepSeek Harnessdsh生态的社区插件目录,共收录 13950 个插件含 PR 收录与…
★ 360已汉化DSH
71.9
插件精选清单Anil-matcha/awesome-dsh-plugin
DeepSeek Harnessdsh精选指南——DeepSeek…
★ 1,013已汉化DSH
71.7
这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。