Introduction¶
When running tasks using the DeepSeek Harness (DSH) Web UI, a common workflow is to leave the session in the background and switch to other tabs to do other things. The problem arises when you return: you don’t know which sessions are waiting for an ask_user answer, an approval confirmation, or which have finished running but haven’t been opened. The browser has no native awareness of this state, so you can only open each session one by one to confirm.
DSH’s philosophy is “everything is a plugin,” so such gaps in the client can be filled by plugins too. This article introduces nbfys/dsh-web-attention-badge-enhanced: it is an enhanced fork of Luaphes/dsh-web-attention-badge. Based on the upstream “badge + tab title + favicon” triple notification, it adds tracking for the current session’s completion and acknowledged alerts.
What is this¶
One-sentence positioning: DeepSeek Harness Web UI attention badge plugin, which provides hints at three locations simultaneously when any session requires user attention.
The repository is maintained by nbfys, and the original work is Luaphes/dsh-web-attention-badge (MIT, © Luaphes). The fork preserves all original behaviors, and changes relative to upstream v0.3.2 are all concentrated in lib/client.js, see below for details.
How the Triple Notification Works¶
-
Top-left corner badge. Counts the number of sessions that are “waiting for user input” or “completed but not opened,” displayed as a numeric badge like
(1). The badge is click-through and does not block the sidebar. -
Browser tab title prefix. Displays
[Waiting](highest priority) when any session is waiting for user input; otherwise, displays[Done]if there is a completion alert. This is a modification by the fork, replacing the upstream(N)count. -
Whale favicon recoloring. As the third notification, the color rules are consistent with the badge.
Color meanings:
- Amber: Sessions waiting for user input, including
ask_userquestions, approval prompts, and plan mode reviews; corresponds to the tab title[Waiting]. - Green: Sessions that completed while you were away and were not opened, as well as the current selected session’s round just ending (running → idle); corresponds to the tab title
[Done].
In terms of implementation, the three notifications share the same count from the built-in sessions store, without host code and without additional transport.
Changes Relative to Upstream¶
All changes are located in lib/client.js:
-
Tab title prefix. Replaces the upstream
(N)count with[Waiting]/[Done]: displays[Waiting](highest priority) when any session is waiting for user input; otherwise, displays[Done]if there is a completion alert. -
Current session completion tracking (
currentDoneIds/prevRunningById). The host’scompletedflag only works for unselected sessions. The plugin mirrors therunning -> idleedge of the currently selected session in the client, so the end of the round for the session you are viewing also triggers[Done]. It is cleared when a newrunningedge appears or when that session is no longer the current one, taken over by the host. -
Acknowledged alerts (
acknowledgedDone). The host’scompletedflag is only cleared on a newrunningedge. Returning to a completed session leaves a residual[Done]. Visiting that session now marks the alert as seen and hides it until the nextrunningedge resets it.
Installation and Enablement¶
Installation command provided on the directory page:
dsh plugin --profile web add dsh-web-attention-badge
dsh plugin automatically registers the bundle; no manual configuration is required.
Upgrading and uninstalling:
dsh plugin --profile web update dsh-web-attention-badge
dsh plugin --profile web remove dsh-web-attention-badge
Regarding direct installation from GitHub: the command in the README points to the upstream repository, not this fork:
dsh plugin --profile web add "github:Luaphes/dsh-web-attention-badge#v0.3.1"
If you want to use the enhanced behavior introduced in this article, please use the directory installation command above; the GitHub installation command for this fork itself is not provided in the materials.
Tuning¶
Tuning constants are located at the top of lib/client.js:
TAB_TITLE_ENABLED # [Waiting]/[Done] tab title prefix toggle
FAVICON_ENABLED # Whale favicon recoloring toggle
AttentionBadge / Pill style mapping # Capsule color and position
Changes take effect after a page refresh for bundle modifications; manifest modifications require restarting dsh web.
Also note the repository metadata: in package.json, the name is still dsh-web-attention-badge, version is 0.3.2, and repository/bugs/homepage all point to the Luaphes upstream. The fork’s own version number is not separately marked. Refer to the actual changes in lib/client.js when reviewing the code.
Use Cases and Notes¶
Suitable scenarios:
- Running multiple sessions simultaneously and frequently switching the Web UI tab to the background.
- Needing an immediate visible hint when a round ends, especially for the session you are currently watching.
Notes:
- The plugin runs with the permissions of the current
dshprocess; it is recommended to check the source code and license before installing. - The license is MIT: the original work is © Luaphes, and the modifications to this fork are also licensed under the MIT terms; the original copyright notice can be found in the upstream repository.
Summary¶
This plugin solves a small but specific problem: after the Web UI is switched to the background, sessions waiting for input or just completed can be seen immediately. The badge, tab title, and favicon provide simultaneous alerts. The fork fills in the gaps for [Done] triggering and acknowledged logic for the current session. The changes are concentrated in lib/client.js, and installation is just one command.
- Directory page: https://www.skillhub.cn/plugins/nbfys/dsh-web-attention-badge-enhanced
- GitHub: https://github.com/nbfys/dsh-web-attention-badge-enhanced
By the way: skillhub.cn is an independently maintained plugin directory by the community and has no official affiliation with DeepSeek or High-Flyer.