ZYar-er/dsh-notify-bell1

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 铃铛开关

包名
dsh-notify-bell
版本
0.12.0
许可证
MIT
最近更新
2026年8月16日

安装

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:ZYar-er/dsh-notify-bell

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.