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