GooDAnDReaDY/dsh-plugin-notify ↗★ 0
@goodandready/dsh-plugin-notify
DSH plugin: audio chimes, cross-session toasts, desktop push, and IM webhooks for turn completion, errors, and approvals. 适合需要实时接收任务完成、报错或审批通知的用户。
Install
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:GooDAnDReaDY/dsh-plugin-notifyREADME
Read the full README ↗Configuration
Put each webhook URL into Settings → Credentials. In the plugin card, type only the credential name.
- id: plugin-notify
name: '@goodandready/dsh-plugin-notify'
config:
enableSound: false
enableToasts: false
enableDesktopNotifications: false
notifyBackgroundOnly: false
webhooks:
feishu: NOTIFY_FEISHU_WEBHOOK
wecom: NOTIFY_WECOM_WEBHOOK
dingtalk: NOTIFY_DINGTALK_WEBHOOK
slack: NOTIFY_SLACK_WEBHOOK
discord: NOTIFY_DISCORD_WEBHOOK
custom: NOTIFY_CUSTOM_WEBHOOK
events: [task_done, error, approval_requested]
local: true
timeoutMs: 5000
dnd:
start: ''
end: ''
includeSession: true
includeDuration: true
excludeSessionPrefixes: []
| Parameter | Type | Default | Description |
|---|---|---|---|
enableSound | boolean | false | Synthesize gentle Web Audio chimes on turn finish, error, or approval wait (opt-in). |
enableToasts | boolean | false | Show cross-session on-screen banner toasts with interactive session switching (opt-in). |
enableDesktopNotifications | boolean | false | Show native OS push notifications via HTML5 Notification API (opt-in). |
notifyBackgroundOnly | boolean | false | Only trigger audio, toasts, and push when event is from an inactive/background session. |
webhooks.* | string | empty | Credential name whose value is the webhook URL. Empty disables the channel. |
events | string[] | task_done, error, approval_requested | Event whitelist. Empty restores the default three. |
local | boolean | true | macOS osascript popup; ignored on other platforms. |
timeoutMs | number | 5000 | Per-request abort timeout. |
dnd.start / dnd.end | string | empty | HH:MM window. Equal or invalid values disable DND. |
includeSession | boolean | true | Append Session: … to the text body. |
includeDuration | boolean | true | Append Duration: … when a turn start timestamp is known. |
excludeSessionPrefixes | string[] | [] | Skip notifications when session.id starts with any prefix. |
A leftover raw http(s):// value in webhooks.* still posts, with a deprecation warning. Migrate it to Credentials.