前言¶
在管理多个工作区时,工作区列表往往是一排排相似的标题。任务完成后,刚才所在的 Session 很难再次找到——状态点显示为空闲,而标题混杂其中。通过给 Session 添加自定义颜色,是让列表中的某一行快速被识别的最直接方式。
插件定位¶
idoall/dsh-session-colors 是 DeepSeek Harness 的一个社区插件,遵循 MIT 许可证。它不修改 DSH 核心代码,也不重写任何 Session 或 Workspace 数据,仅维护一个简单的映射关系:“Session ID → 一种颜色”。
核心能力¶
该插件在 Session 列表的侧边栏行中显示颜色标记。以下是它的主要特性:
- 侧边栏标记:颜色条位于行首左侧,刻意避开状态点,确保“哪个任务已完成”的信息不会被遮挡。
- 系统级取色器:内置完整的颜色选择器,支持饱和度/亮度场、色相和透明度滑块、HEX 和 RGBA 输入、以及浏览器支持的屏幕取色功能。
- 多端同步:颜色标记存储在 Host 端,而非浏览器端。因此,在一台设备上选择的颜色会自动同步到其他设备(包括通过 LAN 或隧道访问的设备)。
- 移动端适配:在手机端,侧边栏会变为抽屉,颜色标记会跟随抽屉一起显示。
- 自动更新:页面在重新可见时以及每 20 秒会重新读取颜色标记,无需手动刷新。
- 非阻塞设计:颜色层是可点击穿透的,且被限制在侧边栏滚动容器内,不会阻塞界面操作。如果无法连接存储,控制区会显示警告图标和原因。
安装与配置¶
安装前请确保环境满足要求:使用带有 Web profile 的 DeepSeek Harness,以及 Node.js 20 或更高版本。
执行以下命令安装插件:
dsh plugin --profile <profile> add @idoall/dsh-session-colors@latest
如果需要在配置中持久化存储(重启后不丢失),需要在 profile 的 cordis.patch.yml 中指定 dataDir。若未指定 dataDir,标记仅在 Host 进程存活期间有效。
安装完成后,必须重启 dsh web(因为 Host 端仅在启动时加载),随后刷新 Web 界面即可生效。
使用步骤¶
- 打开需要标记的 Session。
- 点击 Session 头部工具栏中的颜色控制按钮(未标记时显示调色盘图标,已标记时显示当前颜色)。
- 在弹出的取色器中选择颜色,或直接粘贴 HEX 值。颜色条会立即出现在该 Session 的侧边栏行中。
- 如需清除标记,再次打开取色器,点击“Clear mark”按钮,或选择透明色块。
注意事项¶
- 插件以当前 dsh 进程的权限运行,请确保信任插件来源。
- 由于标记存储在 Host 端,修改颜色后通常无需刷新页面即可看到变化(若未生效,可等待 20 秒或切换页面再切回)。
相关链接¶
- GitHub: https://github.com/idoall/dsh-session-colors
- 插件目录: https://www.skillhub.cn/plugins/idoall/dsh-session-colors