dsh-workspace-labels:给 DSH 侧栏工作区与会话加颜色和标签

前言

用 DeepSeek Harness(DSH)跑多了项目之后,左侧工作区和会话列表会越积越多。名称相似的工作区靠肉眼区分,效率不高;常见的土办法是改命名前缀,但改名字会影响路径解析,代价不小。

下面介绍一个更轻的做法:l-s-c/dsh-workspace-labels,一个非官方的 DSH 社区插件,直接在侧栏原有的三点菜单里给工作区和会话打颜色、挂文字标签,不改名、不动会话内容。

这是什么

一句话定位:用颜色和文字标签整理左侧工作区与会话的客户端插件。

  • 作者:l-s-c
  • 版本:0.6.3
  • 许可证:MIT
  • 性质:非官方社区插件

它只整理侧栏的元数据(颜色、标签定义、分配关系),不读取会话正文,不修改项目文件,不访问第三方网络。

核心功能

已实现的能力如下:

  • 在工作区和会话原有的三点菜单内直接选择 8 种颜色,或清除颜色。
  • 在同一菜单内勾选、新建、删除标签,不使用独立弹窗。
  • 标签显示在名称右侧、时间与操作按钮左侧。
  • 工作区三点菜单保留两个原有操作:打开工作区、复制工作区路径。
  • 中英文界面随 DSH 语言切换。

边界也明确:不读取会话正文,不修改项目文件,不访问第三方网络。

安装与启用

用官方插件命令安装 0.6.3 的发布包:

dsh plugin --profile web add \
  https://github.com/l-s-c/dsh-workspace-labels/releases/download/v0.6.3/dsh-workspace-labels-0.6.3.tgz

安装后需要重启当前 dsh web 进程并刷新页面。注意不要额外启动第二个 Web 实例,以免监听地址冲突。

运行环境要求:Node ^22.19.0 || >=24.0.0

数据存到哪里

本地 GUI 的元数据持久化到:

~/.dsh/workspace-labels.json

存储内容包括工作区/会话颜色、标签定义和标签分配关系。

为什么不用 settings.yaml?DSH 0.1.0-rc.6 的 Web Settings API 使用内置命名空间白名单,第三方插件无法自行暴露新 namespace,所以插件改用自己的同源 Host 路由做持久化。

几个值得注意的细节:

1、从旧版本升级时,插件会把浏览器 localStoragedsh.workspaceLabels.v1 的旧数据迁移到 Host;只有 Host 成功落盘并回传确认后才删除浏览器副本。
2、Host 路由不可用时,继续保留浏览器 localStorage 副本,数据不丢。
3、「打开工作区」只在 Loopback Host 声明 canOpenPath 时显示;「复制工作区路径」使用浏览器 Clipboard API。
4、插件调用 DSH 同源 Client→Host API,不向第三方服务发送请求。

典型用法

点击工作区或会话名称后的 ,菜单下方会直接出现:

  • 一行颜色圆点,点击立即保存。
  • 「清除」按钮,用于移除颜色。
  • 标签勾选列表。
  • 新标签名称输入框与添加按钮。
  • 每个标签右侧的删除按钮。

整套操作都在同一个菜单里完成,不需要跳转或弹窗。

兼容性与注意事项

这一节建议安装前看完。

1、插件针对 DSH 0.1.0-rc.6 开发和测试。该版本没有公开工作区/会话三点菜单的扩展 Slot,因此菜单和行内装饰使用 rc.6 的语义化 DOM 与 CSS 类片段实现。DSH Developer Preview 后续更新侧栏结构后,插件可能需要适配。
2、标题重复且无法唯一解析时,插件会拒绝注入对应菜单,避免操作到错误的对象。这是一个防御性设计。
3、插件以当前 dsh 进程的权限运行,安装前应检查源码与许可证。项目采用 MIT 许可,仓库地址见文末。

本地开发与卸载

想改代码自己跑,步骤如下:

pnpm install
pnpm run check
pnpm run test:pack
dsh plugin --profile web add "link:$PWD"

卸载:

dsh plugin --profile web remove dsh-workspace-labels

同样需要重启当前 dsh web 进程并刷新页面。

结尾

经过上面的步骤,你可以不改动任何项目文件,就给 DSH 侧栏的工作区和会话加上一套本地化的颜色与标签体系,适合多项目并行、会话量大的人。需要提醒的是,DSH 的理念是「一切皆插件」,社区生态还在早期,这类依赖当前 DOM 结构的插件要留意版本适配。

  • 插件目录页:https://www.skillhub.cn/plugins/l-s-c/dsh-workspace-labels
  • GitHub 仓库:https://github.com/l-s-c/dsh-workspace-labels
羽毛球分组比赛记分
小程序二维码

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

Xiaoye