dsh-msg-hub:把微信、QQ、飛書接入 DSH 的 IM 渠道橋插件

前言

對 DSH / 智能體開發者來說,一個常見痛點是:agent 會話通常運行在本地或服務器中,而日常消息、任務提醒、審批操作可能分散在微信、QQ、飛書等 IM 側。

dsh-msg-hub 是 DSH 插件生態中的一個 IM 渠道橋插件。下面介紹它的定位、能力、安裝方式和注意事項。

這是什麼

dsh-msg-hub 是 dsh(DeepSeek Harness)IM 渠道橋插件:把微信、QQ、飛書消息接入 dsh agent 會話,並支持主動推送和遠程監控。

維護者爲 AbcdefgXW,許可證爲 MIT。

該插件支持三個渠道同時啓用:

  • 微信
  • QQ
  • 飛書

核心能力

消息收發

dsh-msg-hub 支持以下渠道的文本消息收發:

  • 微信:通過 ilinkai 模擬協議掃碼登錄,並收發文本。
  • QQ:通過騰訊開放平臺官方 WebSocket 通道收發文本,支持 C2C 私聊 / 羣聊。
  • 飛書:通過開放平臺官方 API(應用憑證)收發文本,支持 P2P 私聊 / 羣聊。

主動推送

dsh-msg-hub 提供主動推送服務 dsh-channels-push。

直接向 IM 發送文本:

push({ channel, peerId, text })

喚醒渠道 agent 執行任務,並回傳 AI 回覆:

task({ channel, peerId, prompt })

該能力可配合 dsh-toolbox-web 的定時心跳等場景使用。卸載 dsh-msg-hub 後,dsh-toolbox-web 的定時心跳 IM 渠道推送自動不可用,其餘功能不受影響。

遠程監控

dsh-msg-hub 支持遠程監控能力,包括:

  • 審批遠程批准
  • turn 狀態推送
  • 會話命令

會話命令如下:

/sessions
/bind <會話ID>
/status

審批推送後,可回覆:

批准

或:

拒絕

微信長消息分段

微信長消息會自動分段發送,分段上限可配置,默認 1200 字符/條。

可修改配置文件 state/weixin/config.json,例如:

{"segmentLimit": 1200}

擴展新 IM 渠道

dsh-msg-hub 提供適配器註冊表,用於擴展新的 IM 渠道。第三方插件可以通過該註冊表接入新渠道,例如註冊 telegram 示例渠道。

環境要求

使用 dsh-msg-hub 前,需要滿足以下條件:

  • dsh 運行時,即 cordis 插件,需在 dsh web profile 註冊
  • Node.js ≥ 22.13
  • 微信需要掃碼登錄
  • QQ 需要 AppID 與 AppSecret
  • 飛書需要 AppID 與 AppSecret

憑證保存在插件 state/ 目錄,已加入 gitignore,不要提交。

安裝

在 web profile 中安裝:

dsh plugin --profile web add dsh-msg-hub

dsh plugin add 會自動將插件加入 profile 的 dsh.profile.bundles,並掛載插件自帶 cordis.patch.yml 註冊行,無需手動改配置。

也可以從 GitHub 倉庫安裝:

dsh plugin --profile web add github:AbcdefgXW/dsh-msg-hub

不要在 profile 的 cordis.patch.yml 手動 insert 本插件,否則可能導致 duplicate loader entry id 啓動崩潰。

典型用法

連接微信

執行微信登錄腳本:

node scripts/weixin-login.mjs login

然後按終端提示完成掃碼登錄。

連接 QQ

使用 QQ 開放平臺憑證連接:

node scripts/qq-login.mjs --appid <AppID> --secret <AppSecret>

QQ 主動消息需在開放平臺申請「主動消息權限」。未開通時,主動推送會靜默失敗,被動回覆不受影響。

連接飛書

使用飛書開放平臺應用憑證連接:

node scripts/feishu-login.mjs --appid <AppID> --secret <AppSecret>

飛書使用開放平臺官方 API,合規無風險。

配置微信長消息分段

如果需要調整微信消息分段上限,可修改 state/weixin/config.json:

{"segmentLimit": 1200}

使用會話命令

在已接入的 IM 會話中可使用:

/sessions
/bind <會話ID>
/status

處理審批

當收到審批推送後,可回覆「批准」或「拒絕」。

卸載

從 web profile 中移除插件:

dsh plugin --profile web remove dsh-msg-hub

卸載後,dsh-toolbox-web 的定時心跳 IM 渠道推送自動不可用,其餘功能不受影響。

適用場景與注意

dsh-msg-hub 適合需要把 dsh agent 會話接入常用 IM、做主動推送和遠程監控的開發者。

由於插件以當前 dsh 進程權限運行,安裝前應檢查源碼與 MIT 許可證。

需要注意以下渠道風險:

  • 微信(ilinkai)爲模擬網頁協議,非官方 API。主動頻繁發消息存在賬號風控風險,建議低頻推送,例如定時任務間隔 ≥ 15 分鐘。
  • QQ 主動消息需在開放平臺申請「主動消息權限」。未開通時,主動推送會靜默失敗,被動回覆不受影響。
  • 飛書爲官方 API,合規無風險。
  • 憑證保存在插件 state/ 目錄,已 gitignore,不要提交。

結尾

dsh-msg-hub 的價值在於把微信、QQ、飛書消息橋、主動推送、遠程監控收斂到一個 DSH 插件中,適合需要在 IM 側處理 dsh agent 會話的開發者。

已覈實資料未給出目錄頁 URL;項目倉庫地址爲:

https://github.com/AbcdefgXW/dsh-msg-hub
羽毛球分组比赛记分
小程序二维码

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

小夜