DeepSeek Harness(DSH)採用插件化架構。在運行多輪智能體會話時,任務可能會在後臺停止(完成、出錯、等待審批等),人工監控耗時且容易遺漏。dsh-message-push 是一個 Cordis 插件,用於在會話停止時將消息推送到 QQ、Telegram、飛書或微信等平臺。
該插件由 DNAlec 維護,採用 MIT 許可證。它是一個純粹的“推送層”,只負責通知,不參與審批決策或注入入站消息。同時,它爲其他插件提供了 ctx.messagePush API,允許複用同一套渠道與去重邏輯。
安裝與啓用¶
安裝該插件需要 pnpm 環境。安裝後必須重啓 dsh web,設置頁面纔會出現“消息推送”入口。
dsh plugin --profile web add github:DNAlec/dsh-message-push
核心功能¶
插件支持在以下場景觸發推送:
- 任務完成
- 任務中斷
- 任務阻塞
- 任務出錯(附錯誤信息)
- 達到長度上限
- 需要審批
- 需要回答問題
每條推送會附帶會話名、最後一段回覆的預覽以及“打開網頁處理”的鏈接。插件內置去重機制,同一會話在同一時間窗口內的同類事件會合併爲一條通知。
配置與使用¶
- 打開設置:進入 設置 → 消息推送。
- 連接渠道:至少要有一個渠道處於“已啓用 + 已綁定目標 + 已連接”的狀態。
- QQ:支持掃碼創建機器人,或手動填寫 AppID / AppSecret。
- Telegram:填寫 Bot token。
- 飛書:填寫開放平臺 App ID / Secret。
- 微信:支持掃碼登錄(官方 iLink,僅私聊,建議專用小號)。
- 綁定目標:該插件設計爲私人 bot。未綁定時,用手機私聊機器人回覆
是或確認,該聊天即被設爲推送目標。 - 發送測試:點擊“發送測試推送”確認通道暢通。
其他插件可直接調用 ctx.messagePush API:
const push = ctx.get('messagePush');
push.notify({
kind: 'needs-approval',
sessionId: '...',
title: '修復推送插件',
body: '需要批准:刪除 3 個文件'
});
架構與依賴¶
- 配置文件:位於
~/.dsh/message-push/(權限 0600)。 - 依賴項:
- 必需:
pnpm。 - 可選:
@tencent-connect/qqbot-connector:QQ 渠道依賴。@larksuiteoapi/node-sdk:飛書渠道依賴。qrcode:掃碼功能依賴。
- 必需:
插件爲純 JS 實現,零 @deepseek-ai/* 依賴,僅使用 Cordis 的注入名(如 timer)與運行時自帶的 fetch / WebSocket。
注意事項¶
- 推送層定位:插件只負責通知,不做決策、不在聊天裏批覆、不把入站消息注入 agent 會話。
- 私人 bot 設計:需要通過回覆“是”來綁定推送目標,請勿將機器人放置在陌生人可私聊的環境中。QQ 羣聊需 @ 機器人並在設置中填寫發言人的 userId。