前言¶
用 DeepSeek Harness(DSH)的 Web UI 跑任务时,常见的工作方式是把会话丢在后台,切去别的标签页做别的事。问题在于回来的时候:你不知道哪些会话在等一个 ask_user 的回答、一个审批确认,或者哪些已经跑完但还没打开。浏览器原生对这类状态没有感知,只能逐个会话点开确认。
DSH 的理念是「一切皆插件」,客户端这类缺口同样可以交给插件补。本文介绍 nbfys/dsh-web-attention-badge-enhanced:它是 Luaphes/dsh-web-attention-badge 的增强 fork,在上游「角标 + 标签页标题 + favicon」三重提醒的基础上,新增了当前会话完成追踪与已确认提醒。
这是什么¶
一句话定位:DeepSeek Harness Web UI 的注意提醒徽章插件,任一会话需要用户关注时,同时在三个位置给出提示。
仓库由 nbfys 维护,原始作品是 Luaphes/dsh-web-attention-badge(MIT,© Luaphes)。fork 保留全部原始行为,相对上游 v0.3.2 的改动全部集中在 lib/client.js,具体见下文。
三重提醒如何工作¶
1、左上角角标。统计「等待用户输入」或「已完成但未打开」的会话数,形如 (1) 的数字角标。角标可点击穿透,不会遮挡侧栏。
2、浏览器标签页标题前缀。任一会话等待用户输入时显示 [Waiting](最高优先级),否则在存在完成提醒时显示 [Done]。这一项是 fork 的修改,取代了上游的 (N) 计数。
3、鲸鱼 favicon 重着色。作为第三重提醒,颜色规则与角标一致。
颜色含义:
- 琥珀色:等待用户输入的会话,包括
ask_user提问、审批提示、计划模式审核;对应标签页标题[Waiting]。 - 绿色:离开期间完成且未打开的会话,以及当前选中会话回合刚结束(running → idle);对应标签页标题
[Done]。
实现上,三项提醒共享内置 sessions store 的同一计数,没有 host 代码,也没有额外 transport。
相对上游的三处改动¶
改动全部位于 lib/client.js:
1、标签页标题前缀。把上游的 (N) 计数换成 [Waiting] / [Done]:任一会话等待用户输入时显示 [Waiting](最高优先级),否则存在完成提醒时显示 [Done]。
2、当前会话完成追踪(currentDoneIds / prevRunningById)。host 的 completed 标志只对未选中的会话生效,插件在客户端镜像了当前选中会话的 running→idle 边沿,因此你正在查看的会话回合结束也会触发 [Done]。出现新的 running 边沿或该会话不再是当前会话时清除,由 host 接管。
3、已确认提醒(acknowledgedDone)。host 的 completed 标志只在新 running 边沿时清除,回到一个已完成的会话会残留 [Done]。现在访问该会话会把提醒标记为已见并隐藏,直到下一次 running 边沿重置。
安装与启用¶
目录页给出的安装命令:
dsh plugin --profile web add dsh-web-attention-badge
dsh plugin 会自动注册 bundle,无需手动配置。
升级与卸载:
dsh plugin --profile web update dsh-web-attention-badge
dsh plugin --profile web remove dsh-web-attention-badge
关于从 GitHub 直接安装:README 中给出的命令指向的是上游仓库,不是本 fork:
dsh plugin --profile web add "github:Luaphes/dsh-web-attention-badge#v0.3.1"
如果想使用本文介绍的增强行为,请使用前面的目录安装命令;本 fork 自身的 GitHub 安装命令在资料中未给出。
调优¶
调优常量位于 lib/client.js 顶部:
TAB_TITLE_ENABLED # [Waiting]/[Done] 标签页标题前缀开关
FAVICON_ENABLED # 鲸鱼 favicon 重着色开关
AttentionBadge / Pill 的 style 映射 # 胶囊颜色与位置
修改后的生效方式:bundle 修改在页面刷新后生效;manifest 修改需要重启 dsh web。
另外注意仓库元数据:package.json 中 name 仍为 dsh-web-attention-badge、version 为 0.3.2,repository/bugs/homepage 均指向 Luaphes 上游,fork 自身的版本号未单独标注。查阅代码时以 lib/client.js 中的实际改动为准。
适用场景与注意¶
适合的场景:
- 同时跑多个会话、经常把 Web UI 标签页切到后台。
- 需要在回合结束的瞬间得到可见提示,尤其是你正盯着看的那个会话。
注意:
- 插件以当前 dsh 进程的权限运行,安装前建议先检查源码与许可证。
- 许可证为 MIT:原始作品 © Luaphes,本 fork 的修改同样按 MIT 条款授权,原始版权声明见上游仓库。
小结¶
这个插件解决的是一个小而具体的问题:Web UI 切到后台后,会话在等输入或刚完成时能立刻被看到。角标、标签页标题、favicon 三个渠道同时提醒,fork 在此之上补齐了当前会话的 [Done] 触发与已确认逻辑,改动集中在 lib/client.js,安装只要一条命令。
- 目录页:https://www.skillhub.cn/plugins/nbfys/dsh-web-attention-badge-enhanced
- GitHub:https://github.com/nbfys/dsh-web-attention-badge-enhanced
顺带说明:skillhub.cn 是社区维护的独立插件目录,与 DeepSeek、幻方无官方从属关系。