JochenYang/dsh-plugins--packages-dsh-notify-desktop ↗★ 0
dsh-notify-desktop
Desktop notification bundle for DeepSeek Harness: sounds + ntfy push for long turns, job settlement, and tool failures
安装
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:JochenYang/dsh-plugins#8ff3d9855c1227cc65b68f7e20ebd52a6b1e1b62&path:packages/dsh-notify-desktop说明文档
阅读完整 README ↗dsh-notify-desktop
Desktop notification bundle for DeepSeek Harness: plays a sound and optionally posts to ntfy when a turn runs longer than the configured threshold, when a background job settles, and when a tool call fails. Success and error events use different sounds.
Install
dsh plugin --profile web add github:JochenYang/dsh-plugins#path:/packages/dsh-notify-desktop
Restart dsh after installing.
Sounds
- Success sound: the package bundles
sounds/finish.wav; on first load it is copied to/sounds/finish.wavautomatically. To use your own, place a file at that path (or setsuccessSoundPath). - Error sound: Windows system exclamation unless
errorSoundPathis set.
Config (cordis.patch.yml)
| Field | Default | Meaning |
|---|---|---|
successSoundPath | /sounds/finish.wav | Sound for success events (long turn, completed job). |
errorSoundPath | (empty) | Sound for error events; empty = Windows system exclamation. |
ntfyTopic | (empty) | ntfy topic; empty disables push. ntfyServer defaults to https://ntfy.sh. |
minTurnDurationMs | (required) | A turn reaching this duration triggers a notification. |
notifyOnJobDone | (required) | Notify when a background job settles (success/error by outcome). |
notifyOnToolError | (required) | Notify when a tool call fails. |
cooldownMs | (required) | Minimum gap between notifications. |
Playback spawns a detached platform player (powershell.exe SoundPlayer / SystemSounds.Exclamation on Windows, afplay on macOS, aplay on Linux). Missing files, spawn failures, and non-zero player exits are logged via ctx.logger('dsh-notify-desktop'), never thrown.
Develop
pnpm install
pnpm typecheck # types resolve from the deepseek-harness checkout's built declarations
pnpm build # esbuild emits lib/index.js; @deepseek-ai/* stay external (resolved from the profile)
pnpm pack # build + stage a dependency-free package.json and pack the tarball
Restart dsh after reinstalling. Uninstall: pnpm dsh plugin --profile web remove dsh-notify-desktop.
Known limitations
- Turn tracking resets on plugin reload; an in-flight turn started before reload is not measured.
- ntfy uses priority 3 with the default public server unless
ntfyServeris overridden; authentication is not supported. - The cooldown is global across channels and event kinds, not per channel.