dsh-dingtalk-notify:DSH 任务节点推送到钉钉群

前言

用 DSH(DeepSeek Harness)跑 Agent 时,常见情况是:页面在后台、人在开会,AI 弹出「需要你选择」或「需要你审批」,等你回到浏览器已经错过一轮。钉钉自定义机器人只能发不能收,没法在群里直接点选,但至少可以把「该你拍板了」或「这一轮干完了」推到手机上。下面介绍社区插件 dsh-dingtalk-notify(维护者 LapStdy,分类:联网工具),在 DSH 里监听这些节点,经 Webhook 发到钉钉群,并在 设置 → 钉钉通知 提供配置面板。

这是什么

dsh-dingtalk-notify 是一个纯 JavaScript、无构建步骤的 DSH 插件。它在宿主侧旁观会话事件:需要用户选择(含计划审批)、操作被拦下要批准、一轮任务结束(完成 / 出错 / 中断)时,按你的规则组装消息并调用钉钉群机器人 Webhook。通知正文会提示「请回到 DSH 页面操作」,不替代 DSH 内的弹窗与审批流程;发送失败只记日志,不影响 AI 继续干活。

运行要求:DSH ≥ 0.1.5-rc.1,Node ≥ 18。当前仓库版本 0.2.4,许可证 MIT。

会推什么、什么时候推

插件按事件类型分别可开关,默认对「干活不足 5 秒的轮次」不发完成类通知,避免刷屏。

时机 钉钉里大致标题
AI 让你选择(含计划审批) DSH 需要你选择
某个操作被拦下要你批准 DSH 需要你审批
一轮任务结束 任务完成 / 出错 / 已中断

门控(gating) 决定「这条要不要真发」。每个打开的 DSH 页面约每 45 秒上报一次在线状态;默认模式 away 表示有人正看着 DSH 页面就不发,人走开或只有手机在看时才发。另有 mobileOnly(仅手机在线时发)、always(总是发)。面板里的「发送测试消息」不受门控限制,用于单独验证 Webhook 链路。

消息 详细度 可在面板选「简洁」或「详细」:简洁是一句话加会话名;详细会带上问题正文、选项、工具名、用时和回复摘要等。

安装与启用

插件以当前 DSH 进程权限运行,安装前建议在 GitHub 浏览源码与 LICENSE,确认 Webhook、加签密钥等敏感项只写在本地配置里。

网页版(命令行 / dsh web)

dsh plugin --profile web add github:LapStdy/dsh-dingtalk-notify

装完后重启 dsh web(设置面板在启动时扫描插件名册),再打开 设置 → 钉钉通知。

桌面端(DeepSeek Harness 应用)

桌面端插件由 Electron 应用独占管理,不能用 dsh plugin --profile desktop ... 从命令行安装。在应用内:

  1. 左侧栏点 插件
  2. 点 添加插件
  3. 粘贴 github:LapStdy/dsh-dingtalk-notify 或完整仓库地址,点安装
  4. 装完后重启桌面端,再打开 设置 → 钉钉通知

从 GitHub 安装不需要额外构建授权。

典型用法:从钉钉机器人到测通

装好插件只完成一半;能否发到群里取决于钉钉侧机器人与安全设置。

1、在钉钉群里添加自定义机器人

进目标群 → 群设置 → 机器人 → 添加机器人 → 自定义(通过 Webhook 接入),命名后进入安全设置。

2、安全设置(二选一)

  • 加签(推荐):复制 SEC 开头的密钥,填进 DSH 面板「加签密钥」。
  • 自定义关键词:例如填 DSH;钉钉只放行正文含该词的消息。本插件标题固定带 DSH,填 DSH 即可通过。

完成后复制 Webhook 地址(形如 https://oapi.dingtalk.com/robot/send?access_token=...)。Webhook 与加签密钥等同发帖凭据,勿泄露或提交到公开仓库。

3、在 DSH 面板填写并测试

打开 设置 → 钉钉通知:

  1. Webhook 地址:粘贴上一步地址
  2. 加签密钥:加签模式粘贴 SEC...;关键词模式留空
  3. 点 发送测试消息 —— 该操作始终真实发送,用于验证链路

群里收到测试消息即表示连通。若提示 发送失败 310000,多为关键词或加签不匹配;改用「自定义关键词」并填 DSH 是常见修法。若显示 已跳过,表示被门控、免打扰或未填 Webhook 等逻辑跳过,不是发送失败;用测试消息可绕过门控查 Webhook。

配置持久化在 ~/.dsh/dingtalk-notify/config.json,面板保存或手改文件即时生效,无需重启(改 lib/ 下插件源码则需重启 dsh web)。

配置要点

首次运行会自动生成配置模板。常用键如下(完整列表见仓库 README):

键 默认 说明
enabled true 总开关
webhook "" 机器人 Webhook(必填)
secret "" 加签密钥;关键词模式留空
detailLevel detailed brief / detailed
gating away away / mobileOnly / always
notifyOnQuestion / notifyOnApproval / notifyOnTurnEnd 等 见 README 各事件是否通知
minTurnSeconds 5 短于该秒数的轮次不发完成类通知;0 表示每轮都发
dndEnabled / dndFrom / dndTo 可选免打扰 时段内可静默,出错是否仍通知由 dndExceptErrors 控制
atMobiles / atAll 可选 @ 需在高级里填手机号才会在正文 @

发送诊断:~/.dsh/dingtalk-notify/log.ndjson(每行一条 JSON:sent / skip / error);面板「诊断」区可看最近决策与跳过原因。

适用场景与注意

适合长时间挂 DSH、又不想一直盯着浏览器的人:选择、审批、长任务结束由钉钉提醒,再回 DSH 页面操作即可。

需要注意:

  • 钉钉机器人不能收消息,无法在群里完成审批;插件设计就是提醒 + 回页操作。
  • 若用 dsh-pocket 等把 DSH 暴露到局域网且代理未开认证,回环以外的接口可能被同网设备访问;暴露代理时应开认证或限制监听,见 README「面板接口」一节。
  • 其他回答者(如 dsh-auto-review)若直接接走「需要你选择」,可能只有完成通知、没有选择通知;诊断区会有记录。

临时停用:面板关总开关,或将 enabled 设为 false。卸载网页版插件:

dsh plugin --profile web remove dsh-dingtalk-notify

结尾

dsh-dingtalk-notify 把 DSH 里「该你介入」和「这一轮结束了」推到钉钉群,并用门控、免打扰、详细度和诊断减少误报与排障成本。DSH 生态强调「一切皆插件」;社区目录由独立站点维护,与 DeepSeek / 幻方无官方从属关系。

  • 目录页:https://www.skillhub.cn/plugins/LapStdy/dsh-dingtalk-notify
  • 源码与文档:https://github.com/LapStdy/dsh-dingtalk-notify
羽毛球分组比赛记分
小程序二维码

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

Xiaoye