DSH Plugin Store
Back to home

yeshimei

dsh-sound

Distinct alert sounds for DeepSeek Harness: network error, approval request, question asked, and turn-completion notifications.

Stars
0
Language
JavaScript
Created
Aug 14, 2026
Updated
Aug 14, 2026
Desktop
GitHub repo

Introduction

English | 简体中文

dsh-sound

License Version

Distinct alert sounds for DeepSeek Harness — a host plugin that plays a different sound for each important event, so you always know what is happening without watching the screen.

Features

  • Four scenario sounds — network error, approval request, user question, and turn completion each have a distinct, recognizable tone.
  • Zero audio assets — all tones are synthesized at runtime and cached under the system temp directory.
  • Zero configuration — install and forget; sane defaults handle throttling and noise control.
  • Non-intrusive — the plugin only observes host events and never interferes with agent execution.
  • Noise-aware — a 3-second global throttle and an 800 ms per-agent debounce prevent sound spam; subagent completions are silent by default.

Sounds

MomentSoundTrigger
Network errorLow double-buzz (220 Hz)An agent run fails (network / API / runtime error)
Approval requiredSingle mid tone (587 Hz)A tool call is waiting for your approval
Question askedRising "ding-dong" (880 → 1320 Hz)The agent asks you a question
Turn completedCheerful ascending pair (523 → 784 Hz)A turn finishes successfully

Requirements

  • DeepSeek Harness — any recent release; the plugin is a standard host-side Cordis plugin.
  • Audio backend (auto-detected, no setup needed):
    • Windows — PowerShell 5.1+ (winmm MCI)
    • macOSafplay (built-in)
    • Linuxpaplay (PulseAudio), aplay (ALSA), or ffplay, tried in order

Installation

dsh plugin --profile web add "github:yeshimei/dsh-sound"

Replace web with your actual profile name if it differs. Then restart the service to activate the bundle:

dsh --profile web

Usage

Nothing to configure — sounds play automatically:

You hear…It means…What to do
Low double-buzzAn agent run failedOpen the session and inspect the error
Single mid toneA tool call awaits your approvalApprove or reject it
Rising "ding-dong"The agent asks you a questionAnswer it
Ascending pairA turn finishedRead the reply when you are ready

Approval sounds always play — an approval always needs a human — even when the requesting agent is a subagent. All other subagent events stay silent by default.

How it works

The plugin subscribes to host events only:

SoundEvent
Erroragent/error
Approvalsession/eventapproval/asked
Questionsession/eventtool/call with name ask_user_question
Donesession/eventturn/end with reason completed

All tones are synthesized in lib/sounds.js as 16-bit PCM WAV files (44.1 kHz mono) and played through the platform's native audio tool - PowerShell/winmm on Windows, fplay on macOS, paplay/play/ fplay on Linux - in a detached child process, keeping the host fully isolated from playback failures.

Repository layout

lib/index.js      Plugin entry point — event wiring, throttle & debounce
lib/sounds.js     Runtime WAV synthesis for the four tones
lib/play.js       Cross-platform playback dispatcher (PowerShell / afplay / paplay / aplay / ffplay)
play.ps1          MCI playback script (ASCII + UTF-8 BOM for Windows PowerShell 5.1)
cordis.patch.yml  Bundle patch layer (declared via dsh.bundle.patch)
tests/            Test suite (Node built-in test runner, npm test)

Development

Run the test suite with the Node built-in test runner (no dependencies):

sh npm test

Uninstall

dsh plugin --profile web remove dsh-sound

Restart the DSH service afterwards.

Privacy

Everything runs locally. No data leaves your machine.

License

MIT