前言¶
DeepSeek Harness (DSH) 原生侧边栏仅支持单层工作区列表。当工作区数量增多或需要按项目结构(如 web/前端、backend/api)归类时,原生视图容易显得杂乱。dsh-workspace-plus 是一个 DSH Web 插件,它在侧边栏引入了层级树视图、时间桶排序以及会话全局置顶功能。它作为 dsh-better-workspace 的分支,主要解决工作区多层级管理与会话跨项目聚合查看的需求。
核心功能¶
层级树与虚拟分组¶
插件通过解析工作区名称中的 / 字符构建虚拟分组树。例如,工作区名称 github/dsh-plan-plus 会自动归入 github 虚拟分组。这种分组是纯逻辑投影,不依赖文件系统目录结构。层级支持多级,单层工作区(如根目录下的普通工作区)照常显示。
添加工作区与分区交互¶
在添加工作区时,插件提供交互式对话框,允许直接点选分区与分组,而非仅输入文本。对话框支持即时预览最终标题,并在空间不足时自动调整下拉框方向。新增时支持直接创建空分区或空分组。
分组管理¶
所有分组操作均通过右键菜单完成。在分组行右键可执行:新增子分组(自动带上父级前缀)、新增子工作区(自动预填分组路径)、重命名分组、删除空分组。分组状态与工作区数据分离,由名称自然派生。
独立分区¶
除了层级分组,插件支持独立分区。右键工作区或会话可选择“分区”,将其移动到独立分区或“未分区(项目)”。会话可选择“跟随所属工作区”来撤销独立分区。分区为单层结构,支持拖拽放置与折叠。
视图切换与时间桶¶
侧边栏提供多种视图模式:
* 层级树:默认视图,显示虚拟分组。
* 工作区:平铺独立分组与项目区域。
* 单列表:跨工作区平铺会话。
* 时间桶:聚合所有会话,按“今天/昨天/近7天/近30天/更早”分桶显示。
视图切换支持排序(手动/最近更新)与筛选(归档/全部)。
会话置顶与拖拽¶
任意会话可右键置顶,置顶内容固定在列表顶部,显示所属工作区角标。置顶会话在原工作区隐藏,取消置顶后回归。支持拖拽调整顺序,工作区可拖入分组,会话可在工作区内重排。
外观自定义¶
右键任意层级(工作区、分组、会话)可自定义外观,包括颜色(预设色板+取色器)、发光强度、字体粗细、阴影与图标。设置实时生效并持久化在浏览器本地。
安装与启用¶
安装前请确保已安装 DSH。插件支持桌面端与 Web 端。安装命令如下:
# DSH 桌面端
dsh plugin --profile desktop add https://github.com/lsdt45/dsh-workspace-plus.git
# DSH Web
dsh plugin --profile web add https://github.com/lsdt45/dsh-workspace-plus.git
安装完成后需重启 DSH 使插件生效。
典型用法¶
- 整理工作区:创建工作区时,在“所属分组”中输入
web或backend,即可自动归入虚拟分组。 - 管理分区:右键工作区选择“分区”,将其移入独立的“开发”分区,以便与“学习”分区区分。
- 时间视图:点击侧边栏视图按钮切换至“按时间”,查看所有项目在过去 7 天的会话活动。
- 外观定制:右键“前端”分组,选择“自定义外观”,设置品牌色以便快速识别。
注意事项¶
- 数据存储:插件偏好设置与数据存储在浏览器本地,切换浏览器会丢失配置。
- 删除机制:DSH 宿主仅提供归档接口,本插件通过
POST /dsh-workspace-plus/delete-session实现永久删除,宿主需支持该接口。 - 标题解析:插件遵循“URL/斜杠标题不拆层”原则,除非是新会话且命名稳定,否则不会因标题中的
/强行拆分层级。引号内的斜杠视为普通字符。 - 许可证:资料未明确说明具体协议,使用前请查阅源码。
生态背景¶
DSH 插件生态通过 Git 仓库分发。本插件可在 SkillHub 插件目录 查看详情,源码托管在 GitHub。