Notifications & Integrations

dsh-task-notify

YuMo226/dsh-task-notify · ★ 0

YuMo226Curated

Native Windows system notification (Notification Center toast) when a task completes: goal completion or agent turn end.

License
MIT
Added
2026-08-16
Maintenance
active
Install kind
github
Manifest details
Manifest status
Declared
Manifest path
dsh.plugin.json
Manifest checked
2026-08-19
Lifecycle scripts
None found

Static manifest checks report declarations only; they are not compatibility or security review.

安装

dsh plugin --profile web add github:YuMo226/dsh-task-notify

GitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试

For install and environment setup, plus plugin development tutorials, see DSH community docs ↗

README

Source README · body: en · Read Chinese README

Table of contents
  1. Features
  2. Platform support
  3. How it works (Windows)
  4. Install
  5. Manual install (no pnpm)
  6. Configuration
  7. Troubleshooting
  8. License

English | 中文

A DeepSeek Harness (DSH) plugin that shows a native OS system notification whenever a task completes — goal completion or agent turn end. Windows / macOS / Linux.

Features

  • Native OS notifications on every platform: Windows toast, macOS Notification Center, Linux libnotify — real system banners, not blocking dialogs.
  • Two "task done" triggers (configurable):
    • goal completes (phase = complete)
    • an agent turn ends normally
  • Zero runtime dependencies — Node built-ins + OS-native commands (PowerShell, osascript, notify-send).
  • CJK-safe — Windows text travels via UTF-8 temp files so Chinese/Japanese/Korean content is never corrupted.
  • Anti-spam rate-limit between notifications.

Platform support

OS Mechanism Requires
Windows WinRT toast (Notification Center) nothing (AUMID registered at runtime)
macOS osascript display notification macOS 10.8+
Linux notify-send (libnotify) libnotify (notify-send); falls back to zenity, then kdialog

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

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

  • Windows: make sure the notification center is on and Focus Assist is not set to "Alarms only" / "Priority only".
  • Linux: install libnotify (provides notify-send); if missing, the plugin falls back to zenity, then kdialog.
  • If no notification appears, check <home>/task-notify.log for an error line and open an issue.

License

MIT