前言¶
DeepSeek Harness 的侧栏会话列表在会话较多时容易混杂。虽然官方提供了归档、置顶等状态管理,但缺乏直观的视觉区分手段。想要在列表中快速定位某个会话,往往只能依赖会话名称或备注,信息密度有限。
dsh-session-color 针对这一痛点,在侧栏会话行上提供右键标色能力,把“颜色”作为会话的轻量级视觉标签。插件不依赖会话元数据,而是直接在浏览器端维护颜色记忆,刷新、重启后依然保留。
是什么¶
dsh-session-color 是一个面向 DeepSeek Harness(DSH)桌面端的趣味换装类插件,由维护者 yangzhenyu0817 维护。
它通过在侧栏会话行上挂载右键菜单,让用户为单个会话分配颜色。标色后,整行会呈现半透明底色加左侧 3px 实色条的效果,同时保留选中与悬停态的可访问性。颜色按 sessionId 存储在浏览器的 localStorage 中,键名为 dsh-session-colors-v1。
核心功能¶
- 右键标色:在任意会话行上右键,会替换宿主的原生右键菜单,弹出标色菜单。
- 快捷命令:菜单中提供「标为红色(默认)」和「清除颜色」两个快捷项。
- 色板与自定义:提供 10 色色板(红、橙、黄、绿、青、蓝、紫、粉、灰、黑),当前选中色高亮描边;通过「自定义…」可打开系统取色器,输入任意 hex 色。
- 视觉样式:整行半透明底色 + 左侧 3px 实色条;不影响选中态与悬停态。
- 本地持久化:颜色按 sessionId 记录在浏览器 localStorage,页面刷新或 DSH 重启后不丢失。
- 菜单交互:点击菜单外部、按 Esc、窗口失焦或缩放都会自动关闭菜单。
安装与启用¶
在源码目录执行以下命令:
dsh plugin --profile desktop add dsh-session-color
安装完成后,将 "dsh-session-color" 追加到 %USERPROFILE%\.dsh\profiles\desktop\package.json 的 dsh.profile.bundles 数组,与 dsh-settings-drag 并列。保存后重启桌面端即可启用。
本地开发时,可设置环境变量 DSH_SESSION_COLOR_SCRIPT 指向工作区的 assets/session-color.js。插件通过 mtime 缓存路由读取客户端脚本,修改完客户端脚本后,硬刷新页面即可生效,无需重启 DSH。
卸载¶
- 从 profile 的
cordis.patch.yml/dsh.profile.bundles中移除相关条目。 - 执行
dsh plugin --profile desktop remove dsh-session-color。 - 重启桌面端。浏览器侧残留的 localStorage 键
dsh-session-colors-v1可手动清理。
已知边界¶
- 只作用于侧栏会话行;搜索结果行(
SearchResultItem)没有data-row-key,不会接管右键行为,保持宿主原有菜单。 - 颜色存储在浏览器 localStorage,不跨设备,也不进入会话元数据;更换浏览器或清站点数据会丢失。
- 标色仅为视觉标记,与归档、置顶等会话状态互不影响。
适用场景与注意¶
- 适合需要在列表中快速区分会话的开发者,特别是会话数量较多时。
- 插件以当前 DSH 进程的权限运行,安装前建议查看源码与许可证。
- 颜色不进入云端会话元数据,如需跨设备保持,需自行迁移 localStorage 数据。
结语¶
dsh-session-color 通过右键标色的方式,为 DSH 侧栏会话列表提供了一种轻量级的视觉区分手段。颜色按 sessionId 持久化,刷新与重启不丢失,操作路径简单直接。
插件目录页:https://www.skillhub.cn/plugins/yangzhenyu0817/dsh-session-color
GitHub:https://github.com/yangzhenyu0817/dsh-session-color