dsh-better-workspace:给 DeepSeek Harness 侧边栏加上两层文件夹系统

前言

DeepSeek Harness (DSH) 默认的侧边栏工作区列表是平铺的。当工作区数量增多,或者需要按项目类型、技术栈进行区分时,这种结构显得不够直观。dsh-better-workspace 插件为这个列表增加了一套两层文件夹系统,通过“磁盘层”和“名称层”两个维度进行嵌套,让工作区的组织结构更加清晰。

插件介绍

名称:dsh-better-workspace
维护者:KannaKuron
协议:MIT

该插件通过 DSH 的标准插槽机制,将侧边栏的浏览区替换为层级树视图。树的结构由两部分正交组成:
1. 磁盘层:按目录路径自动嵌套。
2. 名称层:吃工作区名字里的 /,作为虚拟分组。

核心功能

插件接管了侧边栏工作区列表,提供了以下能力:

  1. 双层文件夹系统

    • 磁盘层:按照目录路径自动嵌套(官方 workspace-tree 语义)。
    • 名称层:利用工作区名称中的 / 进行虚拟分组(默认关闭,可在设置开启)。例如,工作区名称为 web/前端,会自动归入 web 分组。
  2. 即时分组与归组

    • 重命名即归组:新建工作区后,直接重命名名称,加入 / 即可归入对应分组;也可以直接拖拽工作区行进分组。
    • 右键菜单:右键任意一行(工作区、分组、会话、会话分组),可执行重命名、删除、分叉、归档或“自定义外观”操作。
  3. 外观自定义

    • 支持对任意层级自定义颜色、发光强度、字体粗细、阴影、字体描边(默认开启)以及图标(工作区与工作区分组专属)。
  4. 会话层级的支持

    • 工作区内的会话名称同样支持使用 / 分层(如 测试1/两个插件维护)。
    • 会话分组采用次级配色且无文件夹图标,与工作区分组区分开。
  5. 视图交互

    • 折叠/展开:点击工作区行或会话分组行即可收起/展开其下的内容。
    • 拖拽还原:支持调整顺序、移动进分组。拖拽期间会有高亮和提示线。
    • 状态呼吸灯:当状态灯被折叠隐藏时,发光效果会向外冒泡,在层级行上显示。
  6. 原生能力兼容

    • 支持 DSH 官方快捷键:⌥⌘K(搜索)、⌥⌘O(添加工作区)、⌥⌘N(新会话)。
    • 新会话页的工作区选择器,与侧边栏使用同一棵树,视图选项即时同步。
  7. 新增项自动配置(v0.25.0)

    • 在设置卡片开启“自动配色 + 图标”后,新创建的工作区和会话会自动分配内置色板和图标,避免逐个设置。

安装与启用

这是一个纯 JS 插件,不依赖构建工具。安装后需要重启 DSH 才能生效。

dsh plugin --profile web add dsh-better-workspace

典型用法

  1. 归组工作区:将工作区重命名为 web/前端,该工作区会立即归入 web 分组。
  2. 批量改名:右键点击分组行,选择“重命名分组”,可以批量修改组内所有工作区名称的前缀。
  3. 自定义外观:右键点击任意一行,选择“自定义外观”,在弹出的卡片中调整颜色、发光强度等。
  4. 跨端同步:在设置 → 插件 → 插件配置 → “更好的工作区”卡片中,可开启“跨端同步”,手动在 Web 和桌面客户端之间交换外观与设置数据。

注意事项与限制

  • 会话跨工作区拖拽:目前仍被拒绝,会话必须保留在所属工作区内。
  • 搜索过滤:搜索仅针对本地标题过滤(两层扁平化后逐工作区匹配),尚未接管宿主内容搜索。
  • Flat 视图:平铺视图未被接管,层级树即视图。当侧栏切到“单列表/按工作区”时,新会话页选择器会退化为完整标题列表。
  • URL 处理:URL 或斜杠标题不拆层的规则,仅对本次启动后新建的会话生效。存量会话或手动命名的 / 分组标题不会被改动。
  • 重启生效:安装或配置更改后必须重启 DSH。

总结

dsh-better-workspace 通过引入两层文件夹系统,解决了 DSH 工作区管理混乱的问题。它通过重命名和拖拽提供灵活的分组方式,同时保留了外观自定义、原生快捷键等核心体验。如果你需要更精细地管理多个项目或会话,这是一个可以直接安装使用的工具。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜