FANLS05/dsh-desktop-notifications ↗★ 0
dsh-desktop-notifications
Windows desktop toast notifications for DeepSeek Harness (DSH): approval requests, user questions, run completion, errors and sign-in prompts — every toast led by the conversation name. 适合需要实时接收审批、报错和运行结束等系统通知的Windows用户。
インストール
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:FANLS05/dsh-desktop-notificationsドキュメント
README 全文を読む ↗Configuration
From the GUI
The plugin exports a Config schema, which DSH serves as the row's settings document: open Settings →
Plugins, expand the dsh-desktop-notifications bundle and use the configure control on its
desktop-notifications row. Every switch below appears as an editable form, and saving re-applies it
immediately (no restart).
From the profile patch
Add a config: block to the row in your profile patch
(%USERPROFILE%\.dsh\profiles\desktop\cordis.patch.yml):
- id: desktop-notifications
config:
notifySubagent: true # also notify when a child agent settles
notifyWorkflow: true # also notify when a workflow run ends
sound: false # keep the toast, drop the sound
stripMarkdown: false # keep raw markdown in the text
approvalDelayMs: 1500 # only ring if the request is still unanswered
questionDelayMs: 1500
notifyOnMount: true # ring once on load (install check)
| Field | Default | Meaning |
|---|---|---|
enabled | true | master switch |
appId | com.deepseek.dsh | AppUserModelID the toast is attributed to |
sound | true | play the notification sound |
useElectron | true | prefer Electron's in-process notification when the host is an Electron main process |
powershellPath | "" | explicit PowerShell path; empty auto-detects powershell.exe → pwsh.exe |
notifyApproval / notifyQuestion / notifyComplete / notifyError / notifyAccount | true | per-event switches |
notifySubagent / notifyWorkflow | false | opt-in extra events |
notifyOnMount | false | self-check toast on load |
onlyRootSessions | true | completion/child toasts only for root sessions |
useSessionTitle | true | use the conversation name as the first line |
stripMarkdown | true | strip markdown markers from title and body |
titleMaxChars | 60 | first-line truncation |
titleCacheTtlMs | 30000 | how long a folded title is cached |
approvalDelayMs / questionDelayMs | 0 | 0 = instantly; raise to only ring unanswered requests |
idleGraceMs | 4000 | idle time before "completed" counts |
dedupeWindowMs | 1500 | identical-toast dedupe window |
bodyMaxChars | 180 | second-line truncation |
logEnabled / logPath / logMaxBytes | true / "" / 262144 | audit log (default ~/.dsh/dsh-desktop-notifications.log) |
The audit log records the final, cleaned text of every toast — the first place to look when debugging:
Get-Content "$env:USERPROFILE\.dsh\dsh-desktop-notifications.log" -Encoding UTF8 -Tail 20