dsh-web-icon-indicator:浏览器标签页状态指示器

前言

在使用 DeepSeek Harness (DSH) 时,会话往往在后台运行。当标签页处于非激活状态时,很难通过肉眼判断当前的会话状态:是处于待机、运行中,还是正在等待用户确认。dsh-web-icon-indicator 旨在解决这一信息不对称问题,通过修改浏览器标签页的图标(Favicon),将 DSH 的会话状态实时映射到视觉反馈中。

插件简介

该插件由 waknow 维护,基于 MIT 许可证开源。它利用单个 SVG 模板,在浏览器端动态生成不同颜色和动画效果的图标,从而无需依赖后端频繁渲染,直接反映 DSH 会话的四种核心状态:待机、运行中、提问和完成。

核心功能

  1. 状态实时反映
    插件会根据会话状态更新浏览器标签页图标。状态优先级为:提问 > 运行中 > 完成 > 待机。这意味着当出现需要用户交互的情况(如提问或审批驻留)时,图标会优先显示为“提问”状态。

  2. 动态视觉反馈
    通过单个 SVG 文件,插件在浏览器中动态重色与动画。内置了六种效果,包括静态、闪烁、呼吸、彩虹、心跳和弹跳。这些效果通过 JavaScript 驱动,因为浏览器 Favicon 本身不支持 SVG CSS 动画。

  3. 多代理计数显示
    当活跃代理数量超过 1 个时,图标会从鲸鱼图案切换为数字方块,实时显示活跃代理的数量(最高显示 99+)。数字方块会继承当前状态的颜色和动画效果。

  4. 完全可配置
    插件提供内置的设置 UI,用户无需手动编辑 YAML 配置文件即可修改颜色、特效、周期和驻留时长。配置更改通常在 1 秒内实时应用到当前标签页。

  5. 后台保护与恢复
    针对浏览器标签页的隐藏特性,插件通过墙钟回退机制保证动画在后台也能平滑播放。同时,插件具备自我修复能力,在 DSH 重启或状态变更时,能通过 visibilitychange 事件快速刷新状态,确保切换回标签页时图标状态准确无误。

安装与依赖

安装该插件需满足以下环境条件:

  • DSH 版本:需要 DSH ≥ 0.1.2-rc.1。
  • 设置兼容性:支持现代版本(≥ 0.1.7-alpha.1)和遗留版本(≤ 0.1.6-alpha.1)的设置生成。
  • 依赖项:依赖 @deepseek-ai/schemastery(版本 ^3.18.2)。

典型用法

启用插件后,可以通过 DSH Web GUI 进行配置:

  1. 打开 DSH Web GUI,进入 设置/插件 菜单。
  2. 找到 dsh-web-icon-indicator 插件并打开,点击 配置 按钮。
  3. 在配置页面中,首先设置 默认图标颜色(用于待机状态)。
  4. 展开 running、asking 等状态行,分别设置对应的 特效(如闪烁)、颜色 和 周期。
  5. 设置 提问驻留 和 完成驻留 时长,决定状态保持的时间。

适用场景与注意

该插件适合需要长时间监控 DSH 会话进度的场景,特别是在多代理协作或长时间运行的任务中,通过标签页图标即可快速获取状态概览。

注意事项:插件以当前 DSH 进程的权限运行,安装前建议检查其源码与许可证。插件依赖特定的 DSH 版本和外部库,确保环境符合要求后再进行部署。

结语

dsh-web-icon-indicator 是一个轻量级但实用的状态监控工具,它将枯燥的后台进程状态转化为直观的视觉信号,降低了多会话管理的心智负担。更多细节与源码可参考 GitHub 仓库。

参考资源

羽毛球分组比赛记分
小程序二维码

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

小夜