dsh-notify-im:DSH 智能体事件推送到钉钉 / 企业微信 / 飞书

前言

用 DeepSeek Harness(DSH)跑长任务时,进程在终端或后台执行,人离开屏幕后很难第一时间知道:任务是否跑完、哪一步报错、是否在等工具审批。反复切回终端看日志,和「关电脑也能收到关键节点」的需求是错位的。下面介绍社区插件 dsh-notify-im(仓库 README 中亦称 dsh-notify):它订阅 DSH 里的若干 agent 事件,把摘要 POST 到群机器人 webhook,不携带完整对话内容。

这是什么

dsh-notify-im 是 maintainer xzk-abao 维护的 DSH 插件(npm 包名 dsh-notify-im,当前资料版本 0.2.0,MIT 许可证)。定位是:把 任务结束、执行出错、等待审批 三类关键节点,推送到 钉钉、企业微信(WeCom)、飞书 的群机器人 webhook。插件只读事件并转发 webhook;审批类通知为观察用途,不会拦截或代你做出审批决定。

核心功能

插件监听的事件与通知内容如下(与 README 事件表一致):

事件 通知含义 说明
agent/status(running → idle) 任务完成 首次见到的 idle(例如刚启动后)不会发,避免无意义提醒
agent/error 执行出错 含 turn/step 与错误摘要
approval/request 需要审批 含工具名与原因;仅通知,不参与决策

内置防刷:按 agent、按通知类型节流,默认 30 秒(配置项 throttleSeconds)。

消息体仅包含 agent 标签、工具名、截断后的错误摘要等摘要信息;不包含你的对话正文。发送失败时只打 warning 日志,不会阻塞 agent 主循环。

安装与启用

在 web profile 下安装(命令来自官方 README,勿自行拼接 github:owner/repo):

dsh plugin --profile web add dsh-notify

包声明了 dsh.bundle,安装后会 自动挂载,无需再手动写 insert 行。在 ~/.dsh/profiles/web/cordis.patch.yml 里按 id 覆盖配置即可,例如:

- id: dsh-notify
  config:
    channels:
      - type: wecom
        webhook: https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=YOUR_KEY
      - type: dingtalk
        webhook: https://oapi.dingtalk.com/robot/send?access_token=YOUR_TOKEN
        secret: SEC_YOUR_SIGNING_SECRET   # only if "加签" is enabled
      - type: feishu
        webhook: https://open.feishu.cn/open-apis/bot/v2/hook/YOUR_HOOK
        secret: YOUR_SIGN_SECRET          # only if signature check is enabled
    onIdle: true
    onError: true
    onApproval: true
    throttleSeconds: 30

各 channel 的 webhook(及钉钉/飞书在开启签名校验时的 secret)应视为密钥,不要提交到公开仓库。

典型用法

  1. 在对应 IM 平台创建群机器人,复制 webhook URL(钉钉若启用「加签」,一并保存 signing secret)。
  2. 执行上面的 dsh plugin --profile web add dsh-notify。
  3. 编辑 ~/.dsh/profiles/web/cordis.patch.yml,填入真实 webhook,并按需开关 onIdle、onError、onApproval 与 throttleSeconds。
  4. 重启或 reload 使用该 profile 的 DSH 进程,跑一段会进入 idle、可能报错或触发审批的任务,在群里确认是否收到对应摘要。

可同时配置多个 channels 条目,把同一事件推到多个群或多种 IM。

适用场景与注意

适合谁:本地或服务器上长时间跑 DSH agent、又希望用手机 IM 收到「跑完 / 挂了 / 等你点批准」摘要的开发者。

权限与安全:插件以 当前 dsh 进程的用户与网络权限 运行;安装前建议浏览 GitHub 源码 与 LICENSE,确认 webhook 配置方式符合你的合规要求。

生态说明:DSH 采用「一切皆插件」的扩展方式;社区目录站点与 DeepSeek / 幻方无官方从属关系,本文仅介绍该开源插件能力,不代表官方应用商店背书。

结尾

dsh-notify-im 把 DSH 里三类 agent 事件转成 IM 群机器人消息,让你在离开终端时仍能感知任务结束、错误与审批等待;配置集中在 cordis.patch.yml,失败不拖垮主循环。

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

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

Xiaoye