前言¶
在 DeepSeek Harness(DSH)裏跑智能體,常見一個實際問題:任務在後臺跑着,你人不在電腦前。會話結束、審批請求、運行報錯,如果沒人提醒,只能反覆打開終端或 Web 界面查看。
自己接各平臺 Webhook 也能推消息,但每個渠道 API 不同,審批迴傳、多會話路由、防打擾又要另寫一層。維護者 THEWOLFWALKER 的 dsh-notifier 把這件事收成一套:前面一個 notify() API,後面掛 27 個渠道適配器,並支持會話事件自動推送與模型主動調用工具兩條觸發線。
這是什麼¶
dsh-notifier 是 DSH 的統一通知推送插件,歸類爲聯網工具。它在 Harness 與 Telegram、釘釘、飛書、WxPusher、PushPlus、Server醬、Bark、webhook 等渠道之間做適配與路由,同時提供遠程審批、遠程會話、長任務心跳等能力。插件零運行時依賴(僅使用 fetch、node:crypto 與原生 WebSocket),要求 Node.js 22+,許可證爲 MIT。截至撰寫時,GitHub 倉庫約 61 stars、4 forks,npm 包版本 0.8.5。
核心功能¶
雙觸發線¶
一條線由 Harness 自動推送會話事件:turn/end、approval/asked、agent/error 等,經去重與防抖後發出。另一條線面向模型:智能體可調用 notify 工具,傳入 message、channel、title 等參數主動推送。
多渠道出站¶
README 列出 27 個出站渠道,涵蓋 Telegram、Slack、Discord、飛書、釘釘、企業微信、QQ 機器人、Bark、PushPlus、Server醬、WxPusher、webhook、桌面通知等。消息經統一鏈路處理:級別路由(timeSensitive / active / passive)→ 多智能體路由矩陣 → 渠道適配器(resolve(cfg) + send(msg)),並帶分級重試、分段與防打擾。
入站:審批與會話¶
六個入站渠道支持從手機回傳:Telegram 按鈕、飛書卡片、QQ / WxPusher / 微信 iLink / 釘釘回覆 1/2 等方式處理審批;普通文本可觸發 followup/inject,! 前綴可在回合中途轉向。v0.5 起,長任務默認發送心跳(15 分鐘起)與卡住提醒(10 分鐘無事件),Telegram/飛書通知卡片可帶一鍵停止按鈕。
身份與多智能體¶
v0.7 引入運行時身份系統:配對碼(/pair <code>)、channel:userId 複合鍵綁定、角色管理;未配置白名單時以引導狀態啓動。v0.3.2 起支持智能體 × 渠道雙向路由矩陣,會話自動註冊,可用 /agent 命令族或 route.mjs CLI 管理。
管理臺與開放接口¶
啓用 admin.enabled: true 後,本機(127.0.0.1)提供 Web 管理臺,含儀表盤、通知流、成員、綁定、會話、渠道六個頁面,移動端適配。v0.6 起其他插件可通過 notifier 服務出站,並訂閱 dsh-notifier/sent 事件。
安裝與啓用¶
DSH 0.1.0-rc.6 起,插件安裝需指定 profile:
dsh plugin add dsh-notifier --profile <profile-name>
將 <profile-name> 換成你實際運行的 profile(例如 web)。
在 profile 的 cordis.patch.yml 中追加渠道配置,例如:
insert:
- id: dsh-notifier
name: dsh-notifier
config:
channels:
- type: telegram
botToken: "123456:ABC-DEF..."
chatId: "987654321"
- type: dingtalk
webhook: "https://oapi.dingtalk.com/robot/send?access_token=..."
secret: "SEC..."
- type: bark
key: "your-device-key"
配置完成後,turn/end、approval/asked、agent/error 會推送到已啓用的渠道;模型也可通過 notify 工具自行推送。
典型用法¶
會話事件自動通知¶
完成上述安裝與渠道配置後無需額外代碼,Harness 會話事件即會出站。長任務心跳與卡住提醒在 v0.5 默認開啓。
模型主動推送¶
智能體在運行中可調用 notify 工具,例如:
notify({ message: "構建完成,請查看日誌", channel: "telegram", title: "CI 結果" })
具體參數以插件文檔爲準。
遠程審批與停止¶
審批請求到達手機後,按渠道約定操作(如 Telegram 按鈕、釘釘回覆 1/2)。長任務運行中,可從 Telegram 或飛書通知卡片上的停止按鈕終止當前回合。
身份配對(v0.7)¶
在任意支持的私信渠道發送 /pair <code> 完成綁定;完整流程見倉庫 docs/guide.md(中文)。
適用場景與注意¶
適合需要在 DSH 智能體運行過程中,把狀態、審批、錯誤推到手機或 IM,並偶爾從手機回傳指令的場景。國內用戶常用的釘釘、飛書、WxPusher、PushPlus、Server醬 等均在支持列表內。
安裝前請注意:
- 插件以當前 DSH 進程權限運行,可訪問網絡並監聽入站;安裝前應閱讀 源碼 與 MIT 許可證,確認憑證配置方式。
- 入站審批與遠程會話涉及身份綁定,生產環境建議按 v0.7 身份系統完成配對與白名單配置。
- Web 管理臺默認僅監聽本機迴環地址,外網暴露需自行評估風險。
- SkillHub 插件目錄(skillhub.cn)爲社區站點,與 DeepSeek / 幻方無官方從屬關係;版本與功能以 GitHub 倉庫爲準。
結尾¶
dsh-notifier 把 DSH 的通知、審批迴傳和多渠道路由收到一個插件裏,減少爲每個 IM 平臺單獨寫適配的工作。若你正在 DSH 上跑長任務或需要移動端介入,可以按 profile 安裝並配置一兩個常用渠道試用。
- 目錄頁:https://www.skillhub.cn/plugins/THEWOLFWALKER/dsh-notifier
- GitHub:https://github.com/THEWOLFWALKER/dsh-notifier