DSH Tab Status Light:用标签页鲸鱼图标显示会话状态

前言

DeepSeek Harness(DSH)在 Web 里跑会话时,你常会切到别的窗口写代码或查资料。回来时很难一眼判断:模型是否还在生成、是否在等你批准或回答问题、上一轮输出是否已经结束。弹通知会打扰工作流,改页面布局又占空间;浏览器标签页背景色网页也改不了。社区维护者 xyzYaeMiko 的 DSH Tab Status Light(仓库 xyzYaeMiko/dsh_tab_status_light)走另一条路:只改标签页 favicon 里鲸鱼的填充色,把同一份会话状态折成「状态灯」,余光扫到标签即可。

下面介绍插件定位、颜色规则、安装方式,以及使用时需要知道的限制。

这是什么

DSH Tab Status Light 是 DSH Web 插件(v0.1.0,MIT),分类上属于社区目录里的「趣味换装」——实质是把默认白/黑鲸鱼换成与宿主 UI 语义一致的状态色。它不弹窗、不占侧栏,卸载或空闲时会恢复原版 favicon link。

维护者:xyzYaeMiko。目录页:SkillHub - dsh_tab_status_light。源码与说明:GitHub - xyzYaeMiko/dsh_tab_status_light。

核心功能

四种状态与颜色

颜色语义对齐 DSH 主题,而非自造一套;运行色刻意避开 DeepSeek logo 的蓝色,以免和品牌图标混淆。

状态 颜色 何时出现
idle 原版图标(深/浅主题白鲸或黑鲸) 无会话在跑、也无未读完成
running 紫罗兰(如 #886BAE,随主题解析) 任一会话正在生成或等待模型回复
reply 琥珀(如 #F59E0B) 有 ask_user_question 或审批在等你
done 绿色(如 #22C55E) 后台会话跑完或有未读完成

同一回合在等你回答时只计「询问」:宿主里该会话 running 仍为 true,但插件不会同时点亮「运行」,避免一次提问把鲸鱼刷成两色。

多状态并存:鲸鱼分段上色

多个状态同时活跃时,鲸鱼从左到右等分成色带,顺序固定为 询问 → 运行 → 结束(可在 client.js 的 STATE_PRIORITY 修改):

  • 仅一种状态:整只鲸鱼为该色。
  • 询问 + 运行:左琥珀、右紫罗兰。
  • 询问 + 运行 + 结束:左琥珀、中紫罗兰、右绿。
  • 运行 + 结束:左紫罗兰、右绿。

只换鲸鱼 path 的填充色,标签背景仍由浏览器决定。

绿色(done)何时消失

  • 点开对应会话即视为已读,绿色立刻消失。
  • 切回标签页或页面内点击、按键、聚焦,会清掉「离开时结束」的提醒。
  • 其它一级会话的未读完成会保留,直到你点开它们。
  • 只统计可点开的一级会话;subagent / Agent Teams 队友会话被过滤,避免无法打开的会话把标签永久钉在绿色。

工作原理(简要)

  1. 数据:通过 @deepseek-ai/dsh-client-ui-session 的 useSessionStatus(SessionStatusSnapshot)读取各会话的 running / pendingInteraction / completionUnread,不轮询会话日志。
  2. 配色:用 DSH 主题 token 与隐藏探针解析 var() / color-mix();主题变更时重建图标。
  3. 绘制:鲸鱼轮廓来自 @deepseek-ai/dsh-web-frontend 的 favicon 素材(仅改填充);Canvas 输出透明 PNG,不可用时退回 SVG data URI。
  4. 接管 favicon:在 shell.overlay 注册不渲染内容的组件,用 effect 替换 document.head 的 link[rel~="icon"],卸载或空闲时原样恢复。不修改 document.title 与 theme-color。

安装与启用

环境要求:DSH >=0.2.1-rc.2 <0.3.0,Web profile。

方式一:从 GitHub 安装(推荐)

在 DSH 插件管理里执行 bundle 安装,目标为 GitHub 仓库:

plugin_manager → install_bundle → target: github:xyzYaeMiko/dsh-tab-status-light

或使用 DSH CLI:

dsh plugin --profile web add github:xyzYaeMiko/dsh-tab-status-light

装好后若未自动生效,刷新一次 DSH 页面。卸载:在插件列表禁用或移除「标签页状态灯」,图标立即恢复原版。

插件以当前 DSH 进程权限在浏览器侧运行;安装前建议阅读仓库源码、LICENSE 与 NOTICE.md,确认许可与素材归属符合你的要求。

典型用法

本插件无单独配置文件:启用后,侧栏 DSH 图标与标签页 favicon 会随会话状态实时变色。典型场景如下。

  1. 切到其它应用写代码,标签页鲸鱼变紫罗兰表示仍在生成。
  2. 模型发起提问或审批,鲸鱼变琥珀;回到 DSH 回答后该段颜色消失。
  3. 后台会话结束而你在别处,鲸鱼出现绿色段;点开该会话后绿色清除。
  4. 同时有提问、运行、未读完成时,可见左琥珀、中紫罗兰、右绿的三色鲸鱼(与 README 中 docs/colors.png 示意一致)。

同一 DSH 开多个浏览器标签时,各页反映同一份会话状态,会一起变色。

适用场景与注意

适合谁:长时间多窗口使用 DSH Web、希望用标签余光判断会话状态、又不想被通知打断的开发者。

已知限制(来自 README):

  • 不改标签标题文字、不画标签背景色块。
  • 动态 favicon 在 Chromium 系最稳;Firefox / Safari 可能不刷新图标。
  • 主题若删掉相关 token,会退回内置兜底色。
  • 只统计一级会话;subagent / 队友会话不驱动标签颜色。

DSH 生态强调「一切皆插件」;SkillHub 等社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系,本文介绍的是社区插件而非官方应用商店条目。

结尾

DSH Tab Status Light 把浏览器标签上的鲸鱼当成轻量状态灯:生成紫罗兰、等你琥珀、结束绿色,多状态并存时分段显示,配色跟随宿主主题。若你需要这种「切走也能扫一眼标签」的体验,可从目录页了解分类信息,并按上文命令从 GitHub 安装 github:xyzYaeMiko/dsh-tab-status-light。

  • 目录页:https://www.skillhub.cn/plugins/xyzYaeMiko/dsh_tab_status_light
  • GitHub:https://github.com/xyzYaeMiko/dsh_tab_status_light
羽毛球分组比赛记分
小程序二维码

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

Xiaoye