Notifications & Integrations

dsh-task-complete-sound

Areium/dsh-task-complete-sound · ★ 2

Areium

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…

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:Areium/dsh-task-complete-sound

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. Behavior
  2. Settings → General
  3. Install
  4. Recommended: dsh plugin add
  5. Manual: local checkout
  6. Config
  7. Test

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: completed turns 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 (fallback osascript beep).
  • Windows: a per-preset tone pattern synthesized into a WAV and played via System.Media.SoundPlayer from a hidden-console child (console-less spawns cannot reach the audio endpoint; the console beep is only a fallback), or a configured .wav for custom.
  • Linux: first available mapped freedesktop/ALSA sound via paplay / pw-play / aplay / ffplay.

Install

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