Back to home@lsq-dsh-plugins

dsh-windows-notifications

No description

Stars
1
Language
TypeScript
Created
Aug 23, 2026
Updated
Aug 23, 2026
GitHub repo

Introduction

DSH Windows Notifications

Windows desktop notifications, notification sounds, and DSH-styled in-app notification cards for DeepSeek Harness Web. Notifications continue to appear while the DSH tab stays open and another Windows application, a minimized browser, or another browser tab is active.

Features

  • Normal task-completion notifications.
  • Error, cancellation, blocked, output-limit, and unexpected-interruption notifications.
  • Approval, plan-review, and question notifications.
  • Clicking a Windows notification focuses DSH and opens its session.
  • A top-center card with the official DSH fish mark and native state dot is used while DSH is active to avoid duplicate system alerts.
  • A small Web Audio chime avoids shipping audio assets.
  • All event classes, sound, volume, in-app cards, and subagent alerts are configurable on the dedicated Settings → Notifications page.
  • Windows notifications, in-app notifications, and sounds each have their own test action.
  • Repeated test clicks replace the unfinished test of the same kind instead of accumulating; Windows tests still use fresh delivery identities to avoid silent browser suppression.

The plugin projects the durable Harness turn/end reason instead of guessing from a running-state change. Initial hydration, refresh, and reconnect establish a silent baseline so old work is never replayed as a new notification.

Install

This package targets dsh 0.1.1-rc.2. Install it from the public npm registry, then restart dsh web:

dsh plugin --profile web add @lsq64737/dsh-windows-notifications

To remove it:

dsh plugin --profile web remove @lsq64737/dsh-windows-notifications

First use

  1. Open DSH Web.
  2. Open Settings → Notifications.
  3. Select Allow notifications and grant the browser permission.
  4. Use Test Windows notification, Test in-app notification, and Test sound.

Browsers require a user gesture before requesting notification permission, so the plugin never prompts automatically during page load. A previously denied permission must be restored in the Edge or Chrome site settings.

The Windows notification and sound tests are independent, so a browser-suspended Web Audio context cannot block the desktop test. Repeated Windows or in-app tests replace their unfinished peer and restart its lifetime, while real task notifications retain arrival order. Constructor or delivery failures produce an in-app error and a windows-notifications: diagnostic in the browser console.

Limitations

  • The DSH tab must remain open. The plugin cannot run after the tab or browser is closed.
  • Windows notifications require an origin the browser recognizes as secure; otherwise the Notification API may be unavailable.
  • Windows controls the system notification frame, placement, and duration. The plugin supplies DSH content and icon; in-app cards stay centered at the top and reuse the official DSH fish component, native state dots, and floating-surface design tokens with light/dark theme support.
  • Windows Do Not Disturb and browser site permissions remain authoritative.
  • A browser may freeze a long-unused background tab despite an active DSH connection.

Development

npm run typecheck
npm test
npm run build

Notification test request/display events and operational failures use the windows-notifications: prefix in Harness logs or the browser console. The package is split into Host projection/settings, transition detection, browser adapters, policy control, and presentation modules.