会话(本轮)结束 / agent 询问 / 等待审批时弹浏览器通知 + 滴声,点击通知跳转会话;预留远程触发接口与 SSE 实时通道(npm: `dsh-my-notify`)。
安装
# npm 包(预构建)
dsh plugin --profile web add dsh-my-notify
# Release 预构建包
dsh plugin --profile web add "https://github.com/baosfeng/my-dsh-plugins/releases/download/dsh-my-notify@v0.3.8/dsh-my-notify-0.3.8.tgz"
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:baosfeng/my-dsh-plugins#path:/plugins/dsh-my-notify
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
DSH 通知提醒插件:在会话结束、agent 询问问题、等待你批准时发出浏览器系统通知 + 提示音,点击通知直接跳转到对应会话;另提供远程 hook 触发接口与出站 webhook(推送企微 / 飞书 / 钉钉机器人),离开电脑也能收到。
功能
- 三类自动触发(默认全开、可单独关闭):
end本轮对话完成或被中断、askagent 调用ask_user_question、approval出现待批准请求;同类事件同一会话 3 秒内去重。 - 默认过滤子代理会话:只提醒你直接查看的顶层会话;
subagentEnd: true后子代理完成也提醒,标题带「子代理」前缀。 - 通知呈现:系统通知(标题 = 会话标题,正文 = 类型 + 摘要)、提示音(Web Audio 合成,无需音频文件,首次与页面交互后解锁)、点击通知聚焦窗口并打开对应会话;通知权限被拒时用页面内 toast 兜底。
- 出站 Webhook:事件推送到企业微信 / 飞书 / 钉钉群机器人或自建通用中转(消息格式与加签自动适配),支持多 webhook、按事件订阅、自定义模板;推送失败重试 3 次(指数退避),失败记录在设置页可见。
- 可视化设置:设置 → 插件 → 通知提醒 页签编辑触发开关、webhook 列表、Token、去重窗口,保存即生效、重启不丢。
配置
cordis.patch.yml 对应插件行的 config 字段,均为可选:
| 配置键 | 默认 | 作用 |
|---|---|---|
end |
true |
会话结束提醒 |
ask |
true |
询问提醒(askMode: 'full' 完整问题 / 'summary' 摘要) |
approval |
true |
审批提醒(工具名 + 原因) |
subagentEnd |
false |
子代理完成也提醒 |
apiToken |
'' |
远程触发 token;非空时 trigger 需带 x-notify-token 头 |
dedupeMs |
3000 |
同类事件去重窗口(毫秒) |
webBaseUrl |
'' |
DSH Web 地址;配置后 end 推送携带会话链接 /sessions/<id> |
远程触发:POST /notify/api/trigger(loopback 信任围栏 + 可选 token),body {title, body, sessionId?}——任何本机进程、cron、CI、其他插件都能推送通知,sessionId 填写后点击通知可跳到该会话。
页面内开关(localStorage,默认全开):dsh-notify:notify / dsh-notify:sound / dsh-notify:toast 置 0 分别关闭系统通知 / 提示音 / toast。
安装
💡 npm 安装(普通用户推荐):
dsh plugin --profile web add dsh-my-notify --trust-lockfile——无需克隆本仓库;以下 link 方式供本仓库开发者使用。依赖dsh-shared随 npm 自动安装。
# 1) 克隆本仓库(任意目录)
git clone https://github.com/baosfeng/my-dsh-plugins.git
# 2) 以本地 link 方式安装(将 <仓库路径> 替换为上面的克隆目录)
dsh plugin --profile web add link:<仓库路径>/plugins/dsh-my-notify
- server 端改动需重启
dsh web;client 端改动浏览器硬刷新即可。
限制与说明
- 通知权限:浏览器首次收到通知时发起权限请求;拒绝后自动用页面内 toast 兜底。
- 自动播放策略:提示音需用户与页面有过至少一次交互(点击 / 按键)后才能发声,属浏览器安全限制。
- SSE 会话:多标签页同时打开时全部收到通知;EventSource 断线 3s 自动重连。
相关文档
链接
同类插件
xmanrui/dsh-im★ 2328
通过二维码或机器人凭据将 IM 机器人接入 DeepSeek Harness(支持飞书、微信、钉钉、企业微信、QQ、Slack、Telegram、Discord 和 WhatsApp 共 9 种渠道)。
shaobeichen/dsh-pocket★ 2244
手机远程访问 DSH Web 界面:扫码即用局域网或公网(cloudflared 隧道)访问,实时同屏、移动端适配布局,带设置页管理。
OpenPetsHQ/openpets#dsh★ 1320
将 DeepSeek Harness 的生命周期状态、错误与审批请求,桥接到本地运行的 OpenPets 桌面伙伴。
inclusionAI/Avernet#deepseek-harness-channel-bcn★ 590
通过 WebSocket V2 将 DeepSeek Harness 接入 Avernet Bot 协作网络,支持自动注册、Agent 会话隔离、工具调用事件和多 Bot 路由工具。
c1overzz/dsh-bili-scroll★ 423
让你的 DSH 自己刷 B站 —— 读字幕原文挑内容、写日报,遇到值得看的会发评论 @ 你。
omdsh-dev/dsh-notification★ 89
回合完成桌面通知,按结果分控 + 关键词过滤。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。