Kreatur-ECHO/dsh-task-complete-notifier ↗★ 1

dsh-task-complete-notifier

任务完成置顶通知与音效提醒插件 适合需要在任务结束时获得弹窗或声音提醒,并直接输入下一步指令的用户。

套件
dsh-task-complete-notifier
相容性
待驗證
Cordis 依賴範圍
^4.0.1
版本
1.5.3
授權
MIT
最近更新
2026年9月21日

安裝

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:Kreatur-ECHO/dsh-task-complete-notifier

⚙️ Configuration

Add config to the plugin's mount row in your profile's cordis.patch.yml (id-targeted override):

- id: task-complete-notifier
  config:
    title: '✓ Task Completed'            # title text
    body: 'The current DeepSeek Harness task has finished. Please proceed to the next step.'  # body text
    settleMs: 3000                        # confirm delay after idle (guards against goal-round false positives)
    cooldownMs: 10000                     # minimum gap between toasts
    autoCloseMs: 60000                    # auto-close timeout
    placeholder: '输入下一步指令,Enter 发送…'   # input placeholder
    sendLabel: '发送'                      # submit button label
    laterLabel: '稍后'                     # dismiss button label
    soundEnabled: true                    # default sound state (card button overrides it and persists)
    soundToggleTitle: '音效开关'           # sound button tooltip
    soundFile: ''                         # custom sound file (absolute path to an mp3/wav/ogg/m4a)
    soundVolume: 1.0                      # sound volume 0~1

🎛️ Full configuration reference

Every key lives under config: in the plugin's mount row. All keys are optional — omit any key to use its default.

KeyTypeDefaultWhat it does
titlestring'✓ Task Completed'Title text at the top of the card
bodystring'The current DeepSeek Harness task has finished. Please proceed to the next step.'Body text
settleMsnumber3000Wait after the idle edge before showing the card — guards against goal-round false positives
cooldownMsnumber10000Minimum gap between two toasts
autoCloseMsnumber60000Auto-close timeout for the card
placeholderstring'输入下一步指令,Enter 发送…'Input box placeholder
sendLabelstring'发送'Submit button label
laterLabelstring'稍后'Dismiss button label
soundEnabledbooleantrueDefault sound state; the card's 🔊/🔕 button overrides it and persists
soundToggleTitlestring'音效开关'Tooltip for the sound button
soundFilestring''Absolute path to your own sound file (mp3/wav/ogg/m4a); empty = built-in ding
soundVolumenumber1.0Sound volume, 0–1 (e.g. 0.5 = half volume)

🔔 Custom sound

By default the toast plays a built-in synthesized "ding". You can replace it with your own audio file — set soundFile to an absolute path of any Chromium-supported audio (mp3 / wav / ogg / m4a …):

- id: task-complete-notifier
  config:
    soundFile: 'D:\Music\my-notification.mp3'
    soundVolume: 1.0

The host half serves that file to the card over the same-origin /task-notifier/sound route (loopback-fenced). Leave soundFile empty to fall back to the built-in ding. The sound fades in over 0.1s and starts 0.1s early so the fade doesn't feel delayed.

🔊 Volume

soundVolume scales loudness from 0 (silent) to 1 (full). Use 0.5 for half volume — handy when the default ding or your custom sound is too loud. It applies to both the built-in ding and a custom soundFile:

- id: task-complete-notifier
  config:
    soundVolume: 0.5      # 50% volume

🎛️ Full configuration reference

Every key lives under config: in the plugin's mount row. All keys are optional — omit any key to use its default.

KeyTypeDefaultWhat it does
titlestring'✓ Task Completed'Title text at the top of the card
bodystring'The current DeepSeek Harness task has finished. Please proceed to the next step.'Body text
settleMsnumber3000Wait after the idle edge before showing the card — guards against goal-round false positives
cooldownMsnumber10000Minimum gap between two toasts
autoCloseMsnumber60000Auto-close timeout for the card
placeholderstring'输入下一步指令,Enter 发送…'Input box placeholder
sendLabelstring'发送'Submit button label
laterLabelstring'稍后'Dismiss button label
soundEnabledbooleantrueDefault sound state; the card's 🔊/🔕 button overrides it and persists
soundToggleTitlestring'音效开关'Tooltip for the sound button
soundFilestring''Absolute path to your own sound file (mp3/wav/ogg/m4a); empty = built-in ding
soundVolumenumber1.0Sound volume, 0–1 (e.g. 0.5 = half volume)