前言¶
用 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、从旧版本升级时,插件会把浏览器 localStorage 键 dsh.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