Introduction

When using DeepSeek Harness (DSH), browser tab hibernation can stop JavaScript execution. This can cause approval, question, and other cards to remain stuck on the web page. dsh-attention is a reminder plugin for DSH designed to prevent missed notifications when a tab is dormant. Notifications are sent by the dsh host and do not rely on the browser Notification API.

Features

The plugin provides the following capabilities:

  1. Reminders while the tab is dormant: Notifications are sent by the dsh host and do not use the browser Notification API. Even when a frozen tab suspends JavaScript, approval, question, and session-end reminders can still appear.
  2. Process directly on the card: Select Allow / Deny, choose single / multiple options, provide custom input (titled “Other”), or write the next step, then submit with one click to continue the session. The plugin does not preempt the approval card in the web page. Multi-question cards are answered one item at a time and are submitted together only after clicking “Submit”.
  3. Automatically close native cards: When the plugin card is answered first, the plugin passes the same result to the DSH native approval / question card, so the card in the web page closes automatically without refreshing the page.
  4. Theme follows the page: Custom cards use the same light / dark theme as the current page, with frosted-glass, rounded corners; the bottom countdown bar changes from green to red.
  5. Two card styles: The default custom card can be operated in a window; the system notification card only provides a return-to-session action.
  6. Return to an existing session: “Return to session” first tries to bring an already open dsh window or Edge app to the foreground and switch to the corresponding session; it can also open a new window every time.
  7. Multi-monitor support: The popup appears by default in the bottom-right corner of the currently focused monitor; if no focused screen can be found, it falls back to the primary monitor.
  8. Consistent button layout: Approval cards use a left/right “Allow / Deny” layout; for session-end and multi-select cards, the submit button is on the left, and “Return to session” is fixed in the top-right corner to the left of the close button.
  9. No interruption for the current window: No popup appears while the dsh tab is focused; reminders appear only when another window or tab is active, or when the page is hidden.
  10. Independent control for subagent end reminders: The “Subagent session ended” switch is off by default. When enabled, popups clearly show their source and do not provide a reply input box.

Installation and enabling

Add the plugin with the official plugin installation command:

dsh plugin --profile web add dsh-attention

After installation completes, restart dsh web.

Typical usage

  1. Model requests elevated permission: When the model requests escalation, an Allow / Deny window appears in the bottom-right corner. Click “Return to session” to switch back to that session. After answering in the bottom-right window, the approval card in DSH’s web page closes automatically.
  2. Question / choice: In a main session, single-choice submits when you click an option; multi-choice or multi-question selects first and then clicks Submit; you can also write your own answer under “Other”. DSH does not allow controlled subagents to ask the user questions directly.
  3. Main session turn ends: Write the next step in the window and send it. Subagent end reminders are off by default; when enabled, only a reminder and “Return to session” are provided, with no reply input box.
  4. Return after tab hibernation: If the tab is hidden for more than about 8 seconds, it automatically refreshes once (equivalent to F5) and replays any pending approval cards. It does not refresh while you are typing; set the hidden refresh time to 0 (off) or -1 (infinite) to disable auto refresh.
  5. Settings controls: In Settings → Reminders, use the top switch to control the notification master switch, then adjust prompt sound, return-to-session method, styles, and other options within the grouped settings.

Configuration notes

Configuration overrides the config field for dsh-attention in cordis.patch.yml or the profile. Numeric configuration conventions: 0 = turn off the corresponding feature, -1 = unlimited (no upper limit).

Field Default Description
enabled true Overall switch
notifyApproval true Privilege escalation approval
notifyQuestion true Question / choice
notifyIdle true Next-step input after a turn ends
notifySubagentIdle false Subagent session ended notification; popup does not provide a reply input box
notifyStyle custom custom custom card; system system notification
notifyTimeoutSec 30 Display seconds; -1 infinite, 0 disable auto-dismiss
cardOpacity 0.78 Custom frosted-glass card opacity, 0.1–1
openSessionMode reuse reuse reuse existing window; new open new each time
hiddenReloadMs 8000 How long the tab must be hidden before waking refresh, in milliseconds
settledMax 50 How many “answered by popup” records to remember, used to auto-close web cards
sound System default prompt sound Set to false to mute
choiceShellPath Auto PowerShell used by custom cards; default prefers pwsh 7

Notes

  1. Interaction method: Selection, Allow, and next-step actions are performed in the bottom-right custom window and do not depend on system-notification button callbacks.
  2. Auto refresh mechanism: Auto refresh mitigates pending card loss after tab hibernation; it is not a patch to the connection layer.
  3. Auto-close limits: Auto closing depends on in-memory “answered” records: after settledMax records, the oldest are discarded, so if a card is replayed, you may need to click it once manually.
  4. PowerShell version: Custom cards prefer pwsh 7 and fall back to Windows PowerShell 5.1 if it is missing; system notifications still use the 5.1 WinRT Toast.
  5. System limitations: Custom cards and system notifications appear only on Windows; on other systems, the settings page and hidden-wake refresh remain available after installation.
  6. Return to session: “Return to session” matches by window title / PWA name; if dsh is in a background tab, it may only bring the entire browser to the foreground.
  7. Multiple DSH instances and foregrounding: When running multiple DSH instances, ports can distinguish instances and target sessions, but Windows cannot reliably foreground a specific tab in a regular browser; use “open new” when you need to open the exact session.
  8. Compatibility: Compatible with DSH 0.1.2-alpha.3 and its newer Remote/Waterfall API; incompatible with DSH versions that use the old apiProxy interface.

Summary

dsh-attention provides notifications at the dsh host level and solves interaction interruptions caused by browser tab hibernation. It supports processing approvals, choices, and next-step input directly on cards, and can automatically close native cards on the web page. If you frequently encounter DSH web approval cards getting stuck because a tab is dormant, this plugin is a necessary complement.