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
羽毛球分组比赛记分
小程序二维码

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

小夜