dsh-notify-bell
Semantic notification sounds for DeepSeek Harness: complete/approval/question/block/error via BEL or WAV, with Web UI bell toggle | DeepSeek Harness 语义化通知声音:完成/审批/提问/受阻/错误,经 BEL 或 WAV 播放,带 Web 铃铛开关
安装
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:ZYar-er/dsh-notify-bell说明文档
阅读完整 README ↗Configuration
The plugin follows the official DSH Cordis configuration model and exports
a Schemastery Config schema: the config block of the plugin row in your
profile's cordis.patch.yml is validated and default-filled at load time,
and invalid values fail loudly.
Example (profile patch):
- id: notify-bell
config:
minDuration: 10
playback: backend
The legacy runtime-state file is:
~/.config/dsh/notify-bell.json
Its path can be overridden with:
DSH_NOTIFY_BELL_CONFIG
The Web UI persists enabled and playback there. Example file:
{
"enabled": true,
"minDuration": 10,
"objective": {
"maxLength": 120
},
"events": {
"complete": {
"enabled": true,
"sound": "done"
},
"block": {
"enabled": true,
"sound": "block"
},
"approval": {
"enabled": true,
"sound": "permission"
},
"question": {
"enabled": true,
"sound": "question"
},
"error": {
"enabled": true,
"sound": "error"
}
},
"soundPack": "wav",
"playback": "browser",
"wav": {
"directory": "~/.config/dsh/notify-bell/sounds",
"fallback": "bell"
},
"bell": {
"gapMs": 150,
"permissionGapMs": 300
}
}
Completion threshold
Tasks shorter than minDuration do not play the completion sound.
Approval and question notifications are immediate because they indicate that the agent is waiting for the user.
Runtime mute
enabled controls all notification playback.
When disabled:
- no browser sound is sent
- no backend sound is played
- DSH continues running normally
- other configuration is preserved
- no restart is required
Configuration sources
The plugin follows the official DSH Cordis configuration model.
Explicit plugin configuration takes precedence over the legacy runtime-state file:
cordis config > notify-bell.json > schema defaults
For normal users, the Web UI is the easiest way to change notification state and playback mode.
Configuration sources
The plugin follows the official DSH Cordis configuration model.
Explicit plugin configuration takes precedence over the legacy runtime-state file:
cordis config > notify-bell.json > schema defaults
For normal users, the Web UI is the easiest way to change notification state and playback mode.