Back to home

YuMo226

dsh-task-notify

No description

Stars
0
Language
JavaScript
Created
Aug 15, 2026
Updated
Aug 15, 2026

Introduction

dsh-task-notify

English | 中文

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
  • 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)

  1. On first notify, the plugin registers an AppUserModelID (dsh.tasknotify) under HKCU\Software\Classes\AppUserModelId so CreateToastNotifier can deliver to the interactive desktop.
  2. When a task completes, it writes the title/body to UTF-8 temp files and runs a small PowerShell script that shows a WinRT ToastText02 notification via ToastNotificationManager.
  3. 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 web after installing for the plugin to mount.

Configuration

KeyTypeDefaultDescription
onGoalCompletebooleantrueNotify when a goal completes.
onTurnEndbooleantrueNotify when an agent turn ends normally.
titlestringDeepSeek HarnessLeading line of the notification.
minIntervalMsnumber4000Minimum 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.log for a toast exit=... line and open an issue.

License

MIT