Skip to content
ArchivedOct 3, 2026

DSH Task Notify

Task notification plugin for DeepSeek Harness that alerts you when a turn finishes, when an approval is needed and when the AI asks you a question. Prioritizes browser notifications with automatic fallback to Windows system notifications on Windows 11 + WSL2.

DeepSeek HarnessNode.jsJavaScriptPowerShellWSL2
Status
Archived
Published
Oct 3, 2026
Updated
Oct 31, 2026
Tech
DeepSeek Harness · Node.js · JavaScript · PowerShell · WSL2

Archived: this project has been succeeded by DSH Sentinel. This page is kept for reference only.

A community task completion notification plugin for DeepSeek Harness. Its primary purpose is to notify users when long-running agent tasks finish normally, allowing them to switch to other desktop windows and receive timely alerts upon completion.

Motivation

When running multi-turn reasoning or lengthy agent tasks in DeepSeek Harness (DSH), execution often takes several minutes or longer. Users switching away from the browser tab typically either have to toggle back repeatedly to check progress, or only realize a task finished long after completion.

Existing usage models either require keeping the web page visible or injecting custom notification tools directly into the agent. This plugin provides a reliable, unobtrusive external notification mechanism without changing the agent’s native execution workflow.

Design

Operating as a host-side DSH bundle plugin, the notification pipeline works as follows:

  1. Deciding when to alert from facts: Listens for normal top-level session completion events (turn/end + completed). While background jobs started by the current request (a build, for example) are still running, the turn that ends is not announced; the alert comes once the jobs finish and the AI has handled the results. If DSH does not open a new turn when the jobs finish, an alert is sent after 10 seconds. Approval requests and questions from the AI also trigger an alert if they are not handled within 5 seconds. User cancellations, task errors, and delegated child session completions do not trigger alerts, avoiding unnecessary noise.
  2. Browser notifications first: The host first attempts to send the completion event to an active, connected DSH browser tab with granted notification permissions. If delivery is acknowledged within 2.5 seconds, a browser notification is displayed.
  3. Windows fallback: If no active browser page is open, notification permissions are absent, delivery fails, or the request times out after 2.5 seconds, the plugin automatically invokes Windows notification scripts from WSL.
  4. Dual Windows delivery paths: Windows PowerShell 5.1 is tried first (built into Windows 11, supporting Chinese text without extra modules), displaying a system toast notification with the DSH title and whale icon. A secondary path using pwsh + BurntToast 1.1.0 serves as a backup.

Key Engineering Trade-offs

  • Zero runtime or model intrusion: The plugin does not register any tools with the model, inject additional prompts, or alter the agent runtime. It functions normally even under the minimal preset where the AI has no tools allocated.
  • Strict failure isolation: Notifications are strictly external aids decoupled from core agent tasks. Whether the browser channel encounters an error, a script fails, or a timeout occurs, it is only logged and never affects the agent’s original task outcome.
  • Clear privilege and security boundaries: Notification scripts execute with host user privileges and never pass through the agent’s tool sandbox. The frontend communication channel, worker scripts, and icons reuse DSH’s native authentication; the worker operates strictly under the plugin’s dedicated scope, neither intercepting other pages nor running independent background daemons.
  • Focused single responsibility: Notifications only say what happened (turn finished, waiting for your answer, approval needed, question for you). Notification toasts omit links to specific conversations or external protocol invocations, avoiding unnecessary external dependencies and attack surfaces.

Current Status

  • Version: Current version is 0.0.6, released as an open-source community plugin under the MIT license.
  • Environment: Supports DSH 0.2.0-rc.2, 0.2.1-rc.2, 0.2.1-rc.3 and 0.2.1-rc.4. Mainly used on Windows 11 + WSL2, with DSH running inside WSL.
  • Profile support: Supports the DSH web profile (including the minimal preset). Standalone headless, sdk, and sdk-minimal profiles are not currently supported.
  • Tray icon (optional): Ships with a Windows tray icon: double-click to start DSH and open the web page, right-click to stop DSH. It only starts and stops DSH and never upgrades it, and is installed separately once.
  • Works with DSH Runtime Tuning: Recognises the task_status declarations from DSH Runtime Tuning, and still judges correctly from background job events without it.
  • Automated testing: 37 automated tests covering browser submissions, fallback delivery, timeout handling, permission validation and alert decisions, executed in CI via GitHub Actions across Linux / Windows and Node.js 22 / 24.