dsh-web-attention-badge-enhanced:给 DSH Web UI 补上三重会话提醒

前言

用 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、幻方无官方从属关系。

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

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

Xiaoye