前言¶
在 DSH Web 里长期跑多个工作区、几十条会话时,内置侧栏按工作区平铺,找一条会话往往要靠滚动或全局搜索。若你习惯按业务线、客户或实验批次归类会话,内置列表不会替你记住「这一组是什么」。社区插件 dsh-workspace-groups(维护者 llklkl)在浏览器端替换工作区侧栏,提供「分组 / 项目」双页签、本地搜索、置顶与拖拽排序,分组数据保存在本机 localStorage,不依赖额外 Node 构建。
下面介绍插件定位、能力与安装方式;事实以 GitHub 仓库 README 为准。插件目录页:skillhub.cn/plugins/llklkl/dsh-workspace-groups。DeepSeek Harness 社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系。
这是什么¶
dsh-workspace-groups 是 DSH 客户端(Web) 插件:package.json 中 dsh.client.platform 为 "web",通过 Cordis patch 注入 @deepseek-ai/dsh-client-ui-workspace,只改浏览器侧栏 UI。启用后侧栏变为分组视图;禁用或卸载后恢复内置工作区列表,分组配置仍留在 localStorage,再次启用可恢复。
npm 包名为 @local/dsh-workspace-groups(README 中当前版本示例 tag 为 v3.2.0;仓库 package.json 显示 3.3.3)。许可证 MIT © 2026 llklkl。
核心功能¶
视图与搜索¶
侧栏提供 分组、项目 两个页签:
- 分组:自定义归类;组头可折叠,显示会话数;空组以虚线落点呈现;组头可拖拽调整顺序。
- 项目:按宿主 Workspaces 分节展示,每个工作区一节;空项目只显示「新建会话」。
右上角可在「最近更新 / 手动排序」间切换(仅本浏览器生效)。搜索图标展开输入框,按会话标题或工作区名过滤(不区分大小写);过滤时自动展开相关节点、隐藏无匹配组;Esc 或 ✕ 清空。
折叠侧栏 行为与内置一致:折叠后仅保留「添加工作区」「搜索」图标;点搜索会展开侧栏并进入搜索态。
会话行与状态¶
左键打开会话。行首状态槽显示进行中、等待交互、未读;置顶会话排在最前。hover 时行尾时间原位变为归档按钮(不占位、标题不位移)。标题溢出时 hover 可横向滚动,两侧渐隐,移开复位。
分组徽章与未分组¶
分组支持彩色图标徽章(8 色 × 31 图标,可搜索;默认 #)。组头提供 ⊕ 新建会话。
未分组:没有可见会话时整节隐藏;拖拽会话时临时出现,作为「移出分组」的落点。
新建会话¶
- 在分组内新建:先弹出工作区选择(按最近会话倒序),再创建。
- 在项目页签内:直接在该工作区创建。
右键菜单¶
| 对象 | 操作 |
|---|---|
| 会话行 | 移动到分组(二级:分组列表 + 新建分组并移入)、移出分组、重命名、分叉、归档 |
| 组头 | 重命名、更换徽章、上移、下移、删除 |
| 项目头 | 新建会话、重命名工作区、删除工作区 |
拖拽¶
- 跨组归组并按落点插入;同组内排序;拖到「未分组」移出分组;拖到空组归组。
- 组头可拖拽调序。
- 项目页签内仅支持同项目(同工作区)内排序。
归档¶
已归档会话在侧栏始终不显示。取消归档需走 DSH 内置归档入口(命令面板或会话内操作)。
安装与启用¶
环境:仅 DSH Web(dsh.client.platform = "web")。不需要 Node 依赖,也没有构建步骤。
方式一:Web「插件」页(推荐)¶
- 侧栏打开「插件」(Plugins)页,点「添加插件」(Add plugin)。
- 在包名输入框填入 Git 地址(也支持 npm 包名、tarball、本地目录绝对路径):
https://github.com/llklkl/dsh-workspace-groups
若本地改代码并希望即时生效,可先 clone 仓库,再把该仓库的绝对路径填入(等价于 link: 安装)。
3. 安装完成后点「立即启用」(Enable now),侧栏应立刻变为分组视图;若 profile 未启用 HMR,需重启 dsh web 后生效。
方式二:CLI¶
git clone https://github.com/llklkl/dsh-workspace-groups.git ~/src/dsh-workspace-groups
dsh plugin --profile web add link:$HOME/src/dsh-workspace-groups
锁定版本(tag)示例:
dsh plugin --profile web add "github:llklkl/dsh-workspace-groups#v3.2.0"
dsh plugin 只装依赖、不选层;装完后仍需在「插件」页启用,或往 profile 的 package.json 的 dsh.profile.bundles 数组追加 @local/dsh-workspace-groups 并重启。profile 名默认 web,请按实际 profile 替换。
方式三:会话内 plugin_manager(可选)¶
在能调用 plugin_manager 的会话中:
plugin_manager install_bundle target: "link:/abs/path/dsh-workspace-groups"
Git 地址同理;install_bundle 会顺带启用 bundle。
生效、升级与卸载¶
| 场景 | 做法 |
|---|---|
本地 link: 安装 |
改仓库代码 → 刷新页面即生效,不用重装 |
| Git 安装升级 | 卸载后重装,或在 clone 目录 git pull 后刷新 |
| 禁用 / 卸载 | 「插件」页关开关或移除 → 侧栏恢复内置列表;分组数据留在 localStorage,重新启用即恢复 |
典型用法¶
- 按主题建组:在分组页签右键组头或使用徽章菜单,为不同任务线建组;会话行右键「移动到分组」归入对应组。
- 快速定位:展开搜索,输入会话标题或工作区名片段;无匹配的分组会自动隐藏。
- 整理顺序:在「手动排序」下拖拽会话或组头;项目页签内在同一工作区内拖拽调整会话顺序。
- 临时移出分组:拖拽会话到出现的「未分组」落点,或右键「移出分组」。
- 多工作区并行:项目页签按工作区分节,适合对照内置 Workspaces 结构;分组页签适合跨工作区的逻辑归类。
适用场景与注意¶
适合:主要在 DSH Web 使用、会话数量多、需要自定义分组与侧栏搜索/排序的智能体或自动化开发者。
注意:
- 插件在当前 DSH 进程、当前浏览器中运行,分组与排序偏好存于
localStorage,换浏览器或清站点数据会丢失本地分组配置(工作区与会话本身仍由 DSH 管理)。 - 安装前建议阅读 源码与 LICENSE,确认与团队安全策略一致;插件以你启用 DSH 时的权限访问 UI 与会话数据。
- 归档仅隐藏侧栏展示,数据仍由 DSH 归档机制管理。
结尾¶
dsh-workspace-groups 把 DSH Web 侧栏从「按工作区平铺」扩展为可自定义分组、可搜索、可拖拽排序的视图,并与内置折叠侧栏、归档流程兼容。需要安装或反馈问题时,可访问社区目录页 skillhub.cn/plugins/llklkl/dsh-workspace-groups 与 GitHub 仓库 github.com/llklkl/dsh-workspace-groups。