Task alerts for DSH: a system toast when a turn finishes, or when an approval, question or plan review is waiting; a chime rendered on the Windows communications endpoint so the system ducks other media by its own setting and restores it afterwards, without anyone's volume being written; and an optional copy mailed to your phone over SMTP (465 implicit TLS, or STARTTLS where credentials go out only after the upgrade). No runtime dependency: the sound helper is a PowerShell script, the mail client is plain Node.
Install
# from a prebuilt release tarball
dsh plugin --profile web add "https://github.com/TianLingBy/dsh-task-ping/releases/download/v0.4.5/dsh-task-ping-0.4.5.tgz"
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:TianLingBy/dsh-task-ping
Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).
README
This plugin publishes its README in Chinese only.
DSH 任务提醒插件:对话一结束就提醒你,三种手段合在一个插件里。
| 手段 | 说明 | 平台 |
|---|---|---|
| 桌面弹窗 | 系统通知,点一下跳回对应会话 | Windows / macOS / Linux(走浏览器通知) |
| 提示音 + 自动压低音乐 | 声音在 通信端点 播放,Windows 按「通信活动」把其他媒体自动压到 50%,播完自动恢复;不改任何人音量 | Windows |
| 邮件推送 | 同一份内容再发一封邮件到手机,人不在电脑前也能收到 | 全平台 |
触发时机:每轮对话结束、需要你审批、需要你回答、需要你确认计划。二级会话(子代理)不打扰。
安装
DSH 插件市场里搜 dsh-task-ping 一键装;或命令行:
dsh plugin --profile desktop add dsh-task-ping
装完完全退出并重开 DSH(客户端模块不热更),再到 设置 → 通用 里确认「任务完成提醒」是开的。
设置页:一个「通知」模块
设置 → 通用 → 「任务完成通知」是总开关:
- 打开:下方的提示音、音量、邮件推送都可以单独调。音量滑块松开即试听:按当前音量立刻响;连续点击会打断上一声、用新音量重播,不会叠加也不会忽大忽小。
- 关闭:弹窗、提示音、邮件全部停用,下面所有选项置灰并锁定(真实
disabled,不是只变颜色)——想改任何子项,得先把总开关打开。
桌面提醒
- 提示音走 Windows 的 通信 播放端点,系统会按「声音 → 通信」里的档位自动压低其他媒体(默认 50%)。插件不修改任何应用的音量。
- 副作用:为了让声音落在你正在用的设备上,插件会把「默认通信设备」同步成当前播放设备。微信 / 游戏语音这类通信类应用也会跟着切设备;不想要就把
index.js里'-SyncComm', '1'改成'0'。
邮件推送(可选)
在设置页里填就行:设置 → 通用 → 「邮件推送」→ 打开开关 → 填表 → 发送测试邮件验证。
- 邮箱类型下拉:QQ / 163 / 126 / 腾讯企业邮箱 / Outlook / Gmail 选中即自动填好服务器、端口和 TLS;也可以在「发件邮箱」里直接输入邮箱,域名匹配后自动切换服务商。
- 授权码框有「显示/隐藏」按钮,方便核对粘贴有没有漏字符。
- 账号保存在
~/.dsh/dsh-task-notify-push.json,不会写进插件目录,也不会进 localStorage。 - 授权码不是登录密码。QQ 邮箱:设置 → 账号 → 开启「IMAP/SMTP 服务」→ 短信验证 → 16 位授权码。
- 改完即时生效,不用重启。关掉推送把开关关掉即可。
不想把授权码写进文件
授权码那一栏填 env:环境变量名(例如 env:DSH_SMTP_PASS),插件会在发信时从 DSH 进程环境里读。文件里只留占位符,泄了也没用。
# 启动 DSH 前设置(或在系统环境变量里配)
$env:DSH_SMTP_PASS = '你的授权码'
如果该变量当时没有值,设置页点保存会直接提示「环境变量 XXX 当前没有值」,测试邮件也会报同样原因。
手写配置文件(批量部署用)
{
"enabled": true,
"host": "smtp.qq.com",
"port": 465,
"secure": true,
"user": "you@qq.com",
"pass": "env:DSH_SMTP_PASS",
"fromName": "DSH",
"to": "you@qq.com"
}
secure: true→ 465 端口,隐式 TLS。secure: false→ 587/25 端口,自动升级 STARTTLS;服务器不支持 STARTTLS 时拒绝发信,不会把授权码明文发出去。
排查
| 现象 | 看哪里 |
|---|---|
| 装了但完全没反应 | ~/.dsh/dsh-task-notify-boot.log — 每次启动的注册过程 |
| 邮件没收到 | ~/.dsh/dsh-task-notify-push.log — 每封的 sent / failed 与 SMTP 错误码 |
| 声音没响 | %TEMP%\dsh-task-notify\play-comm.log — 助手进程的播放日志 |
常见错误码:AUTH pass: 535 是授权码错(不是登录密码);connect timeout 是本机到 smtp.qq.com:465 不通。
反馈与交流
用着有问题、想要新功能、或者想说说哪里别扭,都欢迎来群里直接讲:
- QQ 讨论群:
1130872026(DSH通知音效插件讨论群) - 一键加群:https://qm.qq.com/q/9NMQdv8Emc
也可以在 GitHub 仓库开 Issue 或 Discussion。
要求
- Windows(桌面弹窗与提示音);macOS / Linux 上只有邮件推送生效。
- 提示音需要 PowerShell 7(
pwsh),没有时自动回退到系统自带 5.1。
许可
MIT
Links
More in this category
xmanrui/dsh-im★ 3118
Connect IM bots to DeepSeek Harness via QR codes or bot credentials (9 channels: Feishu, WeChat, DingTalk, WeCom, QQ, Slack, Telegram, Discord, and WhatsApp).
shaobeichen/dsh-pocket★ 2685
Remote phone access to the DSH Web UI: scan a QR code for LAN or public (cloudflared tunnel) access with real-time sync, a mobile-adaptive layout, and a settings tab.
OpenPetsHQ/openpets#dsh★ 1373
Bridges DeepSeek Harness lifecycle status, errors, and approval requests to a locally running OpenPets desktop companion.
c1overzz/dsh-bili-scroll★ 1150
Let your DSH agent browse Bilibili on its own, read subtitles, write a daily digest, and @ you when it finds something worth your attention.
inclusionAI/Avernet#deepseek-harness-channel-bcn★ 599
Connects DeepSeek Harness to Avernet's Bot Collaboration Network over WebSocket V2, with automatic onboarding, isolated agent sessions, tool-call events, and multi-bot routing tools.
zaofan-make/dsh-qqbot★ 213
QQ official bot channel for DeepSeek Harness (feature-rich fork of tencent-connect/dsh-qqbot): group and private chat with the full agent, sticker library with auto-tagging and AI meme replies, group management (join approval and mute), botplay interactive card events with paginated catalogs, user extension registry (custom slash commands and QQ tools), scheduled wakeups, remote approvals over QQ, and a floating dock web UI.
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.