前言¶
DeepSeek Harness (DSH) web 客户端允许在浏览器标签页中运行会话。当标签页被切换到后台时,你无法直接看到当前会话的状态,必须重新切换回来才能确认。dsh-favicon-status 插件通过修改浏览器标签页的 Favicon 图标,将后台会话的状态可视化:它会根据会话列表投影中的状态,绘制一个带有旋转动画的圆环,让你在不需要点击标签页的情况下就能掌握后台任务进展。
插件简介¶
这是一个仅运行在浏览器端的 DSH web 插件,用于后台标签页的状态指示。
- 维护者:bf185003
- 许可证:MIT
- 核心功能:从会话列表投影中读取状态,将文档的 Favicon 绘制为分段圆环,并带有旋转动画。
- 模型交互:无。插件不涉及模型调用、提示词组装或 KV Cache。
- 客户端要求:DSH web 客户端版本需 >= 0.1.6-alpha.2。该版本提供了
ctx.uiSession.sessionStatus接口,用于获取会话状态快照。
安装与启用¶
插件通过 DSH 插件命令安装。安装后需要重启 dsh web 服务以使配置生效。
- 执行安装命令:
dsh plugin --profile web add dsh-favicon-status
- 重启
dsh web服务以加载新的插件配置。
核心行为¶
插件安装并运行后,浏览器标签页的 Favicon 会根据当前会话状态发生变化:
- 蓝色(运行中):当有会话正在执行时,圆环为蓝色且处于旋转状态。
- 琥珀色(等待中):当会话等待用户交互(如审批、计划审查)时,圆环为琥珀色。
- 绿色(已完成):当会话在后台完成时,圆环为绿色。
- 恢复原状:当没有会话处于上述三种状态时,Favicon 恢复为文档原本的图标。
圆环具有固定的 30° 后滞缺口,即使在后台标签页被缩放到 16px 时,旋转的视觉效果依然清晰可见。当混合状态存在时,圆环会按比例分割,但颜色顺序固定(运行、等待、完成),确保可读性。
限制与注意事项¶
- 后台标签页节流:浏览器会对后台标签页的
setInterval进行节流(Chrome 中约为 1 Hz),因此圆环的旋转动画在后台看起来是跳动的,而非平滑流畅。 - 完成状态可见窗口:绿色(完成)状态仅在标签页处于后台时可见,且仅维持一段默认时间(30 秒,可通过配置
doneVisibleMs调整)。一旦标签页变为前台,该状态即被清除。 - 状态聚合:插件反映的是会话快照的聚合状态,而非单个任务的详细状态。多图标 Manifest 或
apple-touch-icon不被支持,插件仅处理文档的第一个rel~="icon"链接。
结语¶
dsh-favicon-status 为 DSH web 用户提供了一个轻量级的视觉反馈机制,利用浏览器原生能力展示后台任务状态,无需任何模型层面的开销。
- 目录:https://www.skillhub.cn/plugins/bf185003/dsh-favicon-status
- 源码:https://github.com/bf185003/dsh-favicon-status