前言¶
DeepSeek Harness (DSH) 默认的侧边栏工作区列表是平铺的。当工作区数量增多,或者需要按项目类型、技术栈进行区分时,这种结构显得不够直观。dsh-better-workspace 插件为这个列表增加了一套两层文件夹系统,通过“磁盘层”和“名称层”两个维度进行嵌套,让工作区的组织结构更加清晰。
插件介绍¶
名称:dsh-better-workspace
维护者:KannaKuron
协议:MIT
该插件通过 DSH 的标准插槽机制,将侧边栏的浏览区替换为层级树视图。树的结构由两部分正交组成:
1. 磁盘层:按目录路径自动嵌套。
2. 名称层:吃工作区名字里的 /,作为虚拟分组。
核心功能¶
插件接管了侧边栏工作区列表,提供了以下能力:
-
双层文件夹系统
- 磁盘层:按照目录路径自动嵌套(官方 workspace-tree 语义)。
- 名称层:利用工作区名称中的
/进行虚拟分组(默认关闭,可在设置开启)。例如,工作区名称为web/前端,会自动归入web分组。
-
即时分组与归组
- 重命名即归组:新建工作区后,直接重命名名称,加入
/即可归入对应分组;也可以直接拖拽工作区行进分组。 - 右键菜单:右键任意一行(工作区、分组、会话、会话分组),可执行重命名、删除、分叉、归档或“自定义外观”操作。
- 重命名即归组:新建工作区后,直接重命名名称,加入
-
外观自定义
- 支持对任意层级自定义颜色、发光强度、字体粗细、阴影、字体描边(默认开启)以及图标(工作区与工作区分组专属)。
-
会话层级的支持
- 工作区内的会话名称同样支持使用
/分层(如测试1/两个插件维护)。 - 会话分组采用次级配色且无文件夹图标,与工作区分组区分开。
- 工作区内的会话名称同样支持使用
-
视图交互
- 折叠/展开:点击工作区行或会话分组行即可收起/展开其下的内容。
- 拖拽还原:支持调整顺序、移动进分组。拖拽期间会有高亮和提示线。
- 状态呼吸灯:当状态灯被折叠隐藏时,发光效果会向外冒泡,在层级行上显示。
-
原生能力兼容
- 支持 DSH 官方快捷键:⌥⌘K(搜索)、⌥⌘O(添加工作区)、⌥⌘N(新会话)。
- 新会话页的工作区选择器,与侧边栏使用同一棵树,视图选项即时同步。
-
新增项自动配置(v0.25.0)
- 在设置卡片开启“自动配色 + 图标”后,新创建的工作区和会话会自动分配内置色板和图标,避免逐个设置。
安装与启用¶
这是一个纯 JS 插件,不依赖构建工具。安装后需要重启 DSH 才能生效。
dsh plugin --profile web add dsh-better-workspace
典型用法¶
- 归组工作区:将工作区重命名为
web/前端,该工作区会立即归入web分组。 - 批量改名:右键点击分组行,选择“重命名分组”,可以批量修改组内所有工作区名称的前缀。
- 自定义外观:右键点击任意一行,选择“自定义外观”,在弹出的卡片中调整颜色、发光强度等。
- 跨端同步:在设置 → 插件 → 插件配置 → “更好的工作区”卡片中,可开启“跨端同步”,手动在 Web 和桌面客户端之间交换外观与设置数据。
注意事项与限制¶
- 会话跨工作区拖拽:目前仍被拒绝,会话必须保留在所属工作区内。
- 搜索过滤:搜索仅针对本地标题过滤(两层扁平化后逐工作区匹配),尚未接管宿主内容搜索。
- Flat 视图:平铺视图未被接管,层级树即视图。当侧栏切到“单列表/按工作区”时,新会话页选择器会退化为完整标题列表。
- URL 处理:URL 或斜杠标题不拆层的规则,仅对本次启动后新建的会话生效。存量会话或手动命名的
/分组标题不会被改动。 - 重启生效:安装或配置更改后必须重启 DSH。
总结¶
dsh-better-workspace 通过引入两层文件夹系统,解决了 DSH 工作区管理混乱的问题。它通过重命名和拖拽提供灵活的分组方式,同时保留了外观自定义、原生快捷键等核心体验。如果你需要更精细地管理多个项目或会话,这是一个可以直接安装使用的工具。