前言¶
DeepSeek Harness (DSH) 的生態以插件化爲核心。如果你需要在 DSH 中接入微信消息,官方的 ClawBot(iLink)協議是標準途徑。現有的集成方式往往依賴 SDK 或需要自行處理複雜的 Token 保存邏輯。下面介紹 yauntyour/dsh-wx-msg-tool,它封裝了掃碼登錄、Token 管理與消息收發的全流程,讓 DSH 能夠直接通過 HTTP/JSON 協議收發微信消息。
插件簡介¶
這是一個基於騰訊官方微信 ClawBot(iLink)API 的 DSH 插件。它通過設置頁提供掃碼登錄功能,登錄態自動保存至本地文件,並提供了 wx_login、wx_send、wx_poll、wx_status 四個工具,支持後臺自動長輪詢與自動會話回覆。
核心功能¶
設置頁掃碼登錄與 Token 管理¶
在 DSH Web 端設置頁找到「微信消息」頁,點擊「掃碼登錄」。插件會在瀏覽器本地繪製二維碼,手機確認後,api-token 會自動保存至 <DSH_HOME>/plugins/wx-msg-tool/state.json(僅存本機,瀏覽器無法獲取)。該插件自帶 HTTP 通道與宿主通信,繞過了官方設置頁對第三方插件的限制。
工具集¶
插件提供四個核心工具,通過 DSH 的命令行或 API 調用:
wx_login:發起掃碼登錄(qrcode子命令)、查詢登錄態(status)、退出並清除 token(logout)。wx_send:發送文本消息。to與context_token參數需從wx_poll返回的消息中獲取,以關聯會話。wx_poll:收取消息。當設置頁關閉自動輪詢時,該工具可直連服務器進行長輪詢;開啓時則讀取後臺監控的收件箱。wx_status:查詢通道狀態,包括登錄態、Token 存在性、監控狀態以及收件箱條數。
後臺自動長輪詢¶
在設置頁開啓自動輪詢後,DSH 宿主進程會持續長輪詢微信服務器,並將消息暫存到 inbox.jsonl 文件,供後續讀取。當遇到會話過期(errcode -14)時,輪詢會自動停止並提示重新登錄。
自動會話回覆¶
在設置頁開啓「收到消息自動觸發 DSH 會話回覆」後,每條微信消息將驅動一輪真實的 DSH 會話。系統會爲每個用戶維護一個持久會話(記錄在 chats.json,重啓後可恢復),用默認模型跑完一輪後自動將回復發回微信。注意此功能會消耗模型調用次數。
Headless 兼容¶
插件支持 Headless 模式。在 Web 端登錄後 Token 已落盤,Headless profile 可直接複用。或者通過環境變量 WX_MSG_API_TOKEN、WX_MSG_BASE_URL 和 WX_MSG_AUTO_POLL=1 來覆蓋配置。
安裝與啓用¶
1. 構建並安裝¶
首先進入插件目錄,構建並打包插件:
cd DSH-WX-Msg-Tool
npm install --ignore-scripts
npm run build
npm pack
構建完成後,將生成的 .tgz 文件掛載到 DSH Web Profile:
dsh plugin --profile web add "D:/Developments/Workspace/DSH-WX-Msg-Tool/deepseek-ai-dsh-wx-msg-tool-1.1.0.tgz"
2. 重啓服務¶
掛載插件後,需重啓 dsh web 命令使配置生效。
典型用法¶
登錄與狀態檢查¶
# 發起掃碼登錄
wx_login qrcode
# 查詢當前登錄狀態
wx_status
消息收發¶
# 收取消息
wx_poll
# 發送文本消息(需配合 wx_poll 返回的上下文)
wx_send text="Hello" to="user_id"
注意事項¶
- 協議與風險:基於 HTTP/JSON 協議,無 SDK 依賴、無 Hook、無封號風險。使用前請閱讀並遵守《微信ClawBot功能使用條款》。
- 會話限制:iLink 協議限制,Bot 無法給沒有會話的用戶發首條消息(需對方先發一條消息)。
- 資源消耗:自動會話回覆會消耗模型調用。
- 錯誤處理:會話過期(errcode -14)時會自動停輪詢並提示重新登錄。
結尾¶
該插件通過官方 API 提供了穩定的微信接入能力,適合需要在 DSH 中構建微信自動化或客服機器人的場景。源碼與目錄頁見下方鏈接。