Native Windows system notification (Notification Center toast) when a task completes: goal completion or agent turn end.
Install
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:YuMo226/dsh-task-notify
Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).
README
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
- goal completes (
- 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)
- 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
- 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.logfor an error line and open an issue.
License
Links
More in this category
xmanrui/dsh-im★ 3574
Connect IM bots to DeepSeek Harness via QR codes or bot credentials (9 channels: Feishu, WeChat, DingTalk, WeCom, QQ, Slack, Telegram, Discord, and WhatsApp).
shaobeichen/dsh-pocket★ 2955
Remote phone access to the DSH Web UI: scan a QR code for LAN or public (cloudflared tunnel) access with real-time sync, a mobile-adaptive layout, and a settings tab.
OpenPetsHQ/openpets#dsh★ 1400
Bridges DeepSeek Harness lifecycle status, errors, and approval requests to a locally running OpenPets desktop companion.
c1overzz/dsh-bili-scroll★ 1393
Let your DSH agent browse Bilibili on its own, read subtitles, write a daily digest, and @ you when it finds something worth your attention.
inclusionAI/Avernet#deepseek-harness-channel-bcn★ 602
Connects DeepSeek Harness to Avernet's Bot Collaboration Network over WebSocket V2, with automatic onboarding, isolated agent sessions, tool-call events, and multi-bot routing tools.
zaofan-make/dsh-qqbot★ 251
QQ official bot channel (enhanced fork of tencent-connect/dsh-qqbot): full agent chat in groups and DMs, rich media, an auto-tagged sticker library with AI image replies, join approval, mute and broadcast, scheduled wakeups, remote approvals over QQ, interactive cards, multi-account instances, extensions, member profiles, and token-saving value-scored wakeups.
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.