Notifications & Integrations
dsh-task-complete-sound
Areium/dsh-task-complete-sound · ★ 2
A standalone DeepSeek Harness plugin that plays a local system sound when an agent turn finishes ( turn/end ). It has no model-facing tools, no network access, and never fails…
Manifest details
安装
dsh plugin --profile web add github:Areium/dsh-task-complete-soundGitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试
For install and environment setup, plus plugin development tutorials, see DSH community docs ↗
README
Table of contents
A standalone DeepSeek Harness plugin that plays a local system sound when an
agent turn finishes (turn/end). It has no model-facing tools, no network
access, and never fails a session turn.
Behavior
- Default: only
reason.kind: completedturns sound. - Subagent turns are skipped by default.
- Playback is fire-and-forget; failures fall back to the next candidate and then log one warning.
Settings → General
In the Web profile the plugin contributes a Task-complete sound row to
Settings → General. The row lists the available presets, saves the selection
for the running host process, persists it under
$DSH_HOME/storages/dsh-task-complete-sound.json, and has a Preview button
that plays the chosen preset through the same backend used for task
completion.
Built-in presets:
glass (default), ping, pop, tink, bottle, funk, hero,
plus muted and custom.
The custom option always appears in the General row. Select it, then choose an
audio file to upload it (.aac, .aif, .aiff, .flac, .m4a, .mp3,
.oga, .ogg, .opus, .wav, .weba; 20 MB max). Uploads are stored under
$DSH_HOME/storages/dsh-task-complete-sound/ and survive restarts.
Platform playback per preset:
- macOS: the named system sound via
afplay(fallbackosascript beep). - Windows: a per-preset tone pattern synthesized into a WAV and played via
System.Media.SoundPlayerfrom a hidden-console child (console-less spawns cannot reach the audio endpoint; the console beep is only a fallback), or a configured.wavforcustom. - Linux: first available mapped freedesktop/ALSA sound via
paplay/pw-play/aplay/ffplay.
Install
Recommended: dsh plugin add
Requires pnpm on PATH (see https://pnpm.io/installation).
dsh plugin --profile web add github:Areium/dsh-task-complete-sound
Pin a release instead of following main:
dsh plugin --profile web add github:Areium/dsh-task-complete-sound#v0.3.1
The package declares dsh.bundle.patch, so dsh plugin add activates it
automatically in the selected profile — no manual patch editing is needed.
Manual: local checkout
git clone https://github.com/Areium/dsh-task-complete-sound.git
Then append one row to ~/.dsh/profiles/<profile>/cordis.patch.yml:
- insert:
- id: task-complete-sound
name: /absolute/path/to/dsh-task-complete-sound/lib/index.js
config:
soundPreset: glass
events: [completed]
repeat: 1
Fully restart DSH after installing.
Config
config:
enabled: true # false mutes without removing the row
soundPreset: glass # glass/ping/pop/tink/bottle/funk/hero/muted/custom
sound: /path/to/file.wav # optional patch-level custom sound; Web upload takes precedence
events: [completed] # turn-end reason kinds, e.g. [completed, error]
repeat: 1 # playback repetitions
cooldownMs: 0 # minimum ms between notifications
includeSubagents: false # also announce subagent turns
Test
npm test