dsh-task-ping:对话结束时的任务提醒(弹窗、提示音与邮件)

前言

用 DSH 跑长对话或等模型收尾时,人往往会切到别的窗口。轮次结束、要审批、要补答或要确认计划时,如果没有任何外置提醒,只能反复切回客户端看状态。邮件或第三方推送可以补一层,但和「回到哪一条会话」往往还要自己记。dsh-task-ping 把桌面通知、Windows 上的提示音(并按通信活动压低其他媒体)以及可选 SMTP 邮件推送放在同一个插件里,在 README 描述的几种触发时机统一提醒;二级会话(子代理)不会打扰。

这是什么

dsh-task-ping 是社区维护的 DSH 工作流类插件,仓库 TianLingBy/dsh-task-ping,当前 npm 包版本 0.4.5(MIT)。定位一句话:每轮对话结束,以及需要你审批、回答或确认计划时,用多种渠道提醒你;点桌面通知可跳回对应会话。

维护者 TianLingBy;插件目录页:https://www.skillhub.cn/plugins/TianLingBy/dsh-task-ping。SkillHub 等为社区插件目录,与 DeepSeek / 幻方无官方从属关系。

核心功能

下面按 README 表格归纳三种手段及平台范围。

手段 说明 平台
桌面弹窗 系统通知,点击跳回对应会话 Windows / macOS / Linux(浏览器通知)
提示音 + 自动压低音乐 经 通信端点 播放;Windows 按「通信活动」把其他媒体压到 50%,播完恢复;不修改各应用音量 Windows
邮件推送 同内容再发一封到手机 全平台

触发时机(资料原文):每轮对话结束;需要你审批;需要你回答;需要你确认计划。二级会话(子代理)不触发。

macOS / Linux 上 README 写明:桌面弹窗与提示音能力以 Windows 为主;邮件推送全平台可用。

提示音依赖 PowerShell 7(pwsh);未安装时回退到系统自带 5.1。

安装与启用

在 DSH 插件市场搜索 dsh-task-ping 一键安装,或命令行:

dsh plugin --profile desktop add dsh-task-ping

装完后完全退出并重开 DSH(客户端模块不支持热更)。再到 设置 → 通用,确认「任务完成提醒」已打开。

设置页:总开关与子项

设置 → 通用 → 「任务完成通知」 为总开关:

  • 打开:下方提示音、音量、邮件推送可分别调整。音量滑块松开即试听;连续点击会打断上一声并用新音量重播,不叠加。
  • 关闭:弹窗、提示音、邮件全部停用,子项 disabled 置灰锁定;要改子项须先打开总开关。

桌面提醒(Windows)

提示音走 Windows 的 通信 播放端点,系统按「声音 → 通信」档位自动压低其他媒体(默认 50%)。插件不直接改应用音量。

副作用:为让声音落在当前播放设备上,插件会把「默认通信设备」同步为当前播放设备;微信、游戏语音等通信类应用可能跟着切换。若不需要,可在插件 index.js 里把 '-SyncComm', '1' 改为 '0'(README 说明)。

邮件推送(可选)

在 设置 → 通用 → 邮件推送 打开开关、填表,用 发送测试邮件 验证。

  • 邮箱类型: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 不通。

适用场景与注意

适合长时间挂 DSH、需要在轮次结束或人机交互节点(审批、作答、确认计划)被叫醒的场景;离席时用邮件补一层。

安装前建议自行查看 GitHub 源码 与 MIT 许可证。插件以当前 DSH 进程权限运行;SMTP 凭据默认落盘在用户目录 JSON,或使用 env: 占位降低文件泄露风险。

反馈与交流:QQ 讨论群 1130872026(DSH通知音效插件讨论群),一键加群 https://qm.qq.com/q/9NMQdv8Emc;也可在仓库开 Issue 或 Discussion。

结尾

dsh-task-ping 把「对话结束与关键交互节点」绑到桌面通知、Windows 通信端点提示音(带媒体压低)和可选邮件,减少盯屏成本。安装命令见上文;详情以 README 为准。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye