YuMo226
dsh-task-notify
No description
- Stars
- 0
- Language
- JavaScript
- Created
- Aug 15, 2026
- Updated
- Aug 15, 2026
Introduction
dsh-task-notify
A DeepSeek Harness (DSH) plugin that shows a native Windows system notification (Notification Center toast) whenever a task completes — goal completion or agent turn end.
Features
- Native Windows notification — a real system toast banner (bottom-right), not a blocking dialog; does not interrupt your work.
- Two "task done" triggers (configurable):
- goal completes (
phase = complete) - an agent turn ends normally
- goal completes (
- CJK-safe — notification text is passed to PowerShell via UTF-8 temp files, so Chinese/Japanese/Korean content is never corrupted.
- Zero runtime dependencies — only uses Node built-ins + PowerShell.
- Anti-spam rate-limit between notifications.
How it works (Windows)
- On first notify, the plugin registers an AppUserModelID (
dsh.tasknotify) underHKCU\Software\Classes\AppUserModelIdsoCreateToastNotifiercan deliver to the interactive desktop. - When a task completes, it writes the title/body to UTF-8 temp files and runs a small PowerShell script that shows a WinRT
ToastText02notification viaToastNotificationManager. - Temp files are removed afterwards. Failures are logged (never thrown) so they never break an agent turn.
Each notification (and any failure) is recorded in an audit log at <home>/task-notify.log.
Install
As a dsh bundle, installable via the profile plugin manager:
dsh plugin --profile web add dsh-task-notify
Or install the repo directly (npm alias spec):
dsh plugin --profile web add github:YuMo226/dsh-task-notify
Manual install (no pnpm)
Copy this package into the profile's hoisted node_modules and add a loader entry:
- insert:
- id: notify
name: dsh-task-notify
config:
onGoalComplete: true
onTurnEnd: true
title: 'DeepSeek Harness'
minIntervalMs: 4000
Restart
dsh webafter installing for the plugin to mount.
Configuration
| Key | Type | Default | Description |
|---|---|---|---|
onGoalComplete | boolean | true | Notify when a goal completes. |
onTurnEnd | boolean | true | Notify when an agent turn ends normally. |
title | string | DeepSeek Harness | Leading line of the notification. |
minIntervalMs | number | 4000 | Minimum ms between two notifications (anti-spam). |
Troubleshooting
- Make sure Windows notification center is on and Focus Assist is not in "Alarms only" / "Priority only" mode.
- If no toast appears, check
<home>/task-notify.logfor atoast exit=...line and open an issue.