前言¶
用 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)应视为密钥,不要提交到公开仓库。
典型用法¶
- 在对应 IM 平台创建群机器人,复制 webhook URL(钉钉若启用「加签」,一并保存 signing secret)。
- 执行上面的
dsh plugin --profile web add dsh-notify。 - 编辑
~/.dsh/profiles/web/cordis.patch.yml,填入真实 webhook,并按需开关onIdle、onError、onApproval与throttleSeconds。 - 重启或 reload 使用该 profile 的 DSH 进程,跑一段会进入 idle、可能报错或触发审批的任务,在群里确认是否收到对应摘要。
可同时配置多个 channels 条目,把同一事件推到多个群或多种 IM。
适用场景与注意¶
适合谁:本地或服务器上长时间跑 DSH agent、又希望用手机 IM 收到「跑完 / 挂了 / 等你点批准」摘要的开发者。
权限与安全:插件以 当前 dsh 进程的用户与网络权限 运行;安装前建议浏览 GitHub 源码 与 LICENSE,确认 webhook 配置方式符合你的合规要求。
生态说明:DSH 采用「一切皆插件」的扩展方式;社区目录站点与 DeepSeek / 幻方无官方从属关系,本文仅介绍该开源插件能力,不代表官方应用商店背书。
结尾¶
dsh-notify-im 把 DSH 里三类 agent 事件转成 IM 群机器人消息,让你在离开终端时仍能感知任务结束、错误与审批等待;配置集中在 cordis.patch.yml,失败不拖垮主循环。