前言¶
在 DSH(DeepSeek Harness)中管理多个会话时,通过侧边栏标题的颜色即可快速判断会话状态是一种高效的方式。dsh-session-colorful-unread-pin-jobs 插件通过颜色渐变解决了这一需求,将“未读运行中”、“未读已完成”和“官方置顶”三种状态直观地呈现出来。
是什么¶
这是一个由 enterhalf 维护的趣味换装类插件。它不重复实现 DSH 官方已有的置顶与排序功能,而是通过读取官方提供的置顶集合与未读状态,利用 DOM 观察器为会话标题添加行内样式渐变。插件完全基于官方扩展点开发,不修改官方 bundle。
核心功能¶
- 标题状态染色
会话标题会根据状态显示不同颜色的渐变:- 未读 · 运行中:品牌蓝渐变(读取会话列表 store 的
running标志)。 - 未读 · 已完成:绿色渐变(会话回到空闲状态)。
- 置顶:黄色渐变(读取官方置顶集合)。
- 混合状态:合成渐变,置顶色恒在最左,未读色在最右。
- 未读 · 运行中:品牌蓝渐变(读取会话列表 store 的
- 官方置顶集成
插件只读取官方的置顶集合,不写入置顶数据。置顶功能完全依赖 DSH 官方菜单(“置顶会话”),卸载后不影响原有置顶状态。 - 未读管理
在设置中新增“会话未读”分节。这里列出全部未读会话,支持逐条标记为已读,并提供“发送即清”开关(默认关闭)。 - 零 bundle 改写
菜单条目通过官方插槽注册,染色逻辑仅依赖data-row-key和标题 class 后缀_title,不涉及对官方client.js的修改。
安装与启用¶
确保你的 DSH 版本 >= 0.1.7-alpha.2。安装命令如下:
dsh plugin --profile web add dsh-session-colorful-unread-pin-jobs@latest
典型用法¶
安装后,侧边栏会话标题会自动着色。你可以在会话行点击“…”菜单,使用官方提供的“标记为未读/已读”功能,或在设置页面的“会话未读”区域批量管理。
适用场景与注意¶
- 版本要求:必须使用 DSH >= 0.1.7-alpha.2,旧版没有官方插槽与
data-row-key,UI 平面不会生效。 - 折叠分组:折叠的工作区分组内的会话行不会渲染,展开分组时观察器会立即补画颜色。
- 多标签页:当前打开的会话判定以列表 store 中
retainedBy.mainView的持有者为准,多标签页各自独立。 - 主题适配:颜色依赖主题系统的品牌色变量,第三方主题若未通过该机制改色,染色可能不会跟随。
- 未读判定:自动未读仅统计模型白名单事件(如
assistant/chunk),llm/retry等不产生内容的异常事件不计。
短结尾¶
该插件通过颜色编码大幅提升了侧边栏会话管理的视觉效率,且对官方行为零侵入。更多细节与源码可访问 GitHub 仓库。