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,失敗不拖垮主循環。

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

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

小夜