前言¶
在 DeepSeek Harness(DSH)Web 端长期使用后,侧边栏里的会话会越来越多。DSH 自带的工作区视图只能按「目录」分组,组内只能排序,会话一多就容易堆在一起,难以按项目阶段或主题快速筛选。归档会话分散在原生流程里,也不便于集中浏览。
下面介绍社区插件 dsh-workspace-organizer(仓库 Wang993/DSH_OrganizeFilesInTheSameWorkspace)。它在不改动 DSH 工作区归属规则的前提下,为会话区增加自定义标签维度和归档管理面板,并与 DSH 原生归档体系同源联动。
这是什么¶
dsh-workspace-organizer 是 DSH Web 端的会话整理插件:标签分类、归档 / 恢复、已归档浏览。维护者为 Wang993;npm 包名 dsh-workspace-organizer,当前资料中版本为 1.0.4,许可证 MIT。在 SkillHub 等社区目录中归类为「记忆」类插件。
插件解决的是「会话多、只能按目录看、归档不好管」的问题,而不是替换 DSH 的工作区模型。
核心功能¶
入口与面板¶
- 悬浮按钮:菱形图标,自动吸附在侧边栏底部「设置」区旁边;侧边栏伸缩或窗口变化时会跟随。
- 整理面板:
- 按标签分组展示全部会话,未打标签的会话单独成组;
- 底部有独立的「已归档」区域;
- 顶部筛选 chips:
全部/未分类/已归档/ 各标签。
每个会话行¶
- 标签:增删标签,每会话最多 8 个;可用按钮复用已有标签。
- 归档:从原生侧边栏列表隐藏,不删除会话数据。
- 恢复:将已归档会话放回侧边栏原位置。
与 DSH 的衔接¶
- 实时联动:归档 / 恢复走 DSH 内置的
workspaceRegistry,原生侧边栏会同步更新。 - 主题:面板与图标使用 DSH 主题变量(
--dsw-*),明暗主题下与界面一致。
安装与启用¶
插件需运行在包含 dsh-base 与 dsh-web-app 的 Web profile 上(DSH 默认 web 模板即可)。安装后需重启 dsh web 并刷新页面,才能在侧边栏看到菱形按钮。
方式一:npm(资料推荐,已发布后最省事)¶
dsh plugin --profile web add dsh-workspace-organizer
方式二:从 GitHub 安装¶
dsh plugin --profile web add github:Wang993/DSH_OrganizeFilesInTheSameWorkspace
方式三:本地 link(开发用)¶
git clone git@github.com:Wang993/DSH_OrganizeFilesInTheSameWorkspace.git
dsh plugin --profile web add link:<克隆下来的目录绝对路径>
方式四:手动编辑 profile¶
编辑 $DSH_HOME/profiles/web/package.json,在 dsh.profile.bundles 与 dependencies 中加入 dsh-workspace-organizer,将插件目录放到 $DSH_HOME/profiles/web/dsh-workspace-organizer 并在该目录执行 pnpm install。具体 JSON 结构见仓库 README。
典型用法¶
经过上面的安装与重启,可按下面步骤使用:
- 点击侧边栏设置区右侧的菱形按钮,打开「会话整理」面板。
- 在会话行点「标签」完成分类,再用顶部标签 chip 筛选。
- 点「归档」收起暂不用的会话;在「已归档」区域点「恢复」可放回侧边栏。
- 面板每 5 秒自动刷新(正在输入标签时不会打断);也可点「刷新」手动更新。
标签数据保存在 $DSH_HOME/.dsh-organizer-tags.json(纯 JSON,可备份、手工编辑或纳入版本管理)。
实现要点(便于评估与排查)¶
| 部分 | 说明 |
|---|---|
宿主 lib/index.js |
注入 webServer / workspaceRegistry / sessionQuery,注册 /dsh-organizer/* 路由,并向页面注入客户端脚本 |
客户端 lib/organizer.js |
纯 DOM,无框架、无构建;负责按钮吸附、面板与交互 |
| 归档 | ctx.workspaceRegistry.archiveSession(id) |
| 恢复 | 读写内置 archivedSessionIds 状态集 |
插件无打包步骤,仅为若干 ESM / 浏览器脚本文件。改 lib/organizer.js 后刷新页面即可生效;改 lib/index.js 需重启 dsh web。
适用场景与注意¶
适合谁:经常在 DSH Web 端开多会话、希望按自定义标签(而非仅工作目录)分组,并需要集中查看与恢复归档会话的开发者。
架构限制(README 明确说明):
- 会话的工作区归属仍由工作目录决定,本插件不改变归属,只增加标签与归档管理 UI。
- 按钮吸附依赖侧边栏类名
.hHd-Xa_settingsArea;DSH 升级若改动该类名,按钮会回退到左下角固定位置,功能仍可用。 - 归档沿用 DSH 全局归档集合:仅隐藏列表,日志仍在
$DSH_HOME/sessions下。
安全与信任:插件以当前 dsh 进程权限运行,可访问会话列表与归档状态。安装前应阅读 GitHub 源码 与 MIT 许可证,再决定是否加入 Web profile。
卸载时从 profiles/web/package.json 的 bundles 与 dependencies 移除本包,执行 pnpm install 并重启 dsh web;可选删除 $DSH_HOME/.dsh-organizer-tags.json。
结尾¶
DSH 生态强调「一切皆插件」;社区目录(如 SkillHub)是独立站点,与 DeepSeek / 幻方无官方从属关系。dsh-workspace-organizer 在原生工作区视图之上补一层标签与归档面板,并与 workspaceRegistry 同源,适合需要长期整理 Web 会话的场景。