Attention reminders: frame badge, tab-title count, and a status-colored whale favicon for sessions waiting for input or finished unopened.
Install
# from npm (prebuilt)
dsh plugin --profile web add dsh-web-attention-badge
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:Luaphes/dsh-web-attention-badge
Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).
README
One glance at the tab bar: the whale favicon and the (N) title count track your sessions in real time — amber = waiting on you, green = done. No need to open the page.
Watch the tab, not the terminal. dsh-web-attention-badge is a one-line,
zero-install plugin for the DeepSeek Harness
WebUI. It turns the one place your eyes already land every few seconds — the
browser tab bar — into a live status light for your agent sessions.
Why not just install a monitor app?
The "session dashboard" genre usually means: another install, a tray icon that lives forever, a second window to open, a side channel to keep in sync. This is the opposite.
- Zero-install. One command. No desktop app, no service, no tray icon, no background process. The whole thing is a hand-written client bundle that plugs into the official WebUI — close the tab and nothing runs.
- No second screen. Status lives where you already look: the tab bar. One glance and you know the state — waiting on you (amber) or done (green), even from a background tab.
- No new transport. The badge reads the WebUI's built-in sessions store — the same counts the UI itself uses. Zero host code, zero extra plumbing.
- Zero config, click-through.
pointer-events: none— it never steals a click from the sidebar and never needs setup.
Three surfaces, one glance
| Surface | 🟠 Amber | 🟢 Green |
|---|---|---|
| Corner pill (top-left of the frame) | (1) — a session is waiting for your input |
(N) — sessions finished while you were away, not yet opened |
| Browser tab title | (1) DeepSeek Harness… |
(N) DeepSeek Harness… |
| Whale favicon (left edge of the tab) | tinted amber | tinted green |
- Amber = a session is blocked on you: an
ask_userquestion, an approval prompt, or a plan-mode review. - Green = a session finished while you were away and hasn't been opened yet.
The favicon sits at the left edge of the tab, so the reminder survives even when the tab title is truncated.
💛 If "one glance at the tab bar and I know the state" is a pain point you actually feel — leave a ⭐ Star. It genuinely means a lot to the author, and it helps the next person find this tool.
Install — 3 steps, under a minute
1. Add the plugin. One command; dsh plugin registers the bundle
automatically, no manual config:
dsh plugin --profile web add dsh-web-attention-badge
Prefer the source? Pin a tag straight from GitHub:
dsh plugin --profile web add "github:Luaphes/dsh-web-attention-badge#v0.3.2"
2. Restart dsh web and open the WebUI.
3. Start a session, then look away. Switch to another tab and glance at
the tab bar — pill, (N) title, and the recoloring whale tell you
everything. You're done.
Upgrade / uninstall:
dsh plugin --profile web update dsh-web-attention-badge
dsh plugin --profile web remove dsh-web-attention-badge
Tuning
Constants at the top of lib/client.js:
TAB_TITLE_ENABLED— the(N)browser tab-title prefix.FAVICON_ENABLED— the whale-favicon recolor.- Pill colors/position — the
stylemaps inAttentionBadge/Pill.
Bundle edits apply on a page refresh; manifest edits need a dsh web
restart.
License
⭐ Support this tool
This little plugin was thrown together in a few hours during the early days of DSH — no design doc, no dashboard, just "make the tab bar tell me what's happening". If it cut your pain point, a ⭐ Star is the best thank-you: it matters to me, and it keeps a small tool visible.
Development
See CONTRIBUTING.md for layout, release and publishing.
Links
More in this category
zhu1090093659/dsh-web#packages/dsh-task-board★ 8076
Task board for the dsh web GUI: a sidebar multi-column kanban whose cards run in real DSH agent sessions and can also be scheduled with cron expressions, executed host-side even with the browser closed.
zhu1090093659/dsh-web#packages/dsh-web-all★ 8076
Plugin and skin collection for the DSH Web UI: task board, Git graph, right-side panel, remote mobile UI, pet, live token stats, and a skin center.
omdsh-dev/DSH-better-sidebar★ 3828
Full sidebar workbench with file rendering and editing, terminal, Git, and subagents; third-party plugins can register new tabs.
ccch1mneyyy/dsh-TUI★ 3661
Claude Code-style full-screen terminal UI: pixel-whale header, live status line, and streaming thought expansion.
MeteorNOX/DeepSeek-Balance-Whale-Widget★ 3277
A fixed-corner whale widget for the DSH web GUI — balance, today's usage and per-turn cost with peak/off-peak pricing, editable balance-alert and daily-budget bubbles, a module-based custom bubble queue with A/B weighted choices and random lines or images, 30+ vendor templates (OpenAI, OpenRouter, Kimi, SiliconFlow, Ark, Zhipu, MiniMax and more) with per-model balance and subscription quota, plus task-end sound, imported audio, custom roles and a resource manager. Local-only, no telemetry.
Devin-AXIS/deepseek-design#deepseek-idesign★ 1628
Visual design studio for websites, app prototypes, posters, cards, reports, and magazines, with templates, direct element editing, selection-aware AI draft handoff, and export.
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.