前言¶
在 DSH 裏讓智能體「代回微信」,常見做法是每輪對話裏再調一層工具,檢測、決策、發送都擠在 agent 輪次裏,既占上下文,也難做穩定的輪詢與限流。微信桌面版又是 Qt 自繪界面,UIA 樹爲空,靠無障礙讀消息這條路基本走不通。
下面介紹的 dsh-super-wechat-bot(維護者 gautema8-hash)是 DSH 生態裏的客戶端類插件:用 PrintWindow 截圖 + Windows OCR 讀氣泡文字,檢測→決策→發送跑在獨立橋進程裏,不佔 DSH 的 agent 輪次;在 DSH 會話裏通過 wechat_* 工具啓停、看草稿、批准發送。插件當前在 GitHub 上星標爲 0,版本以發行包爲準(資料中 package.json 爲 0.2.1,MIT 許可證)。
這是什麼¶
一句話:用主人本人口吻替你回微信桌面版,只在標題匹配的目標會話裏工作,支持 draft(草稿人工批准)與 auto(自動發)兩種模式。
- 讀消息:PrintWindow + Windows OCR(綠色氣泡
#95EC69判爲自己,白/淺灰爲對方;底色讀不出則丟棄該行,不按位置猜) - 回覆:預置短語約 1–1.5s 直達,模型生成約 2.5–4s(資料稱 flash 首包約 1.5s);擬人延遲、連發合併、被催時快檔等可配置
- 安全:會話標題校驗、身份分級 T0–T3、連續升級停手、每分鐘限流、全量審計
僅支持 Windows 10 / 11、微信桌面版 4.x(進程名默認 Weixin),DSH 版本要求 >= 0.2.1-rc.5 < 0.3.0-0,Node.js >= 20。
核心功能¶
獨立橋與 DSH 工具¶
插件本體在 lib/index.js,暴露 9 個 wechat_* 工具並管理橋進程;常駐邏輯在 bridge/daemon.mjs,截圖與 OCR、鍵鼠在 bridge/psagent.ps1(PowerShell + WinRT OCR)。
| 工具 | 作用 |
|---|---|
wechat_status |
模式/標題/統計/最近事件 |
wechat_start |
啓動(draft 或 auto) |
wechat_stop |
停手 |
wechat_scan |
只讀抓一屏 |
wechat_drafts |
草稿與升級待辦 |
wechat_approve / wechat_reject |
批准發送 / 丟棄 |
wechat_send |
強制發一條(校驗標題) |
wechat_config |
讀寫配置 |
設置與本地面板¶
裝好後可在 DSH 設置 → 微信代聊 調整:會話與角色、節奏與擬人、限額與安全、話術、識別規則、預置短語、模型與密鑰、自定義角色 JSON。保存前會經 bridge/validate.mjs 校驗,壞正則、越界數值、空會話名不會寫入運行時;會話名與微信窗口標題不一致時狀態條會標紅。
另有隻監聽 127.0.0.1 的面板:http://127.0.0.1:47821/,功能與設置頁一致。
身份分級(內置策略)¶
| 級別 | 觸發示例 | 動作 |
|---|---|---|
| T0 | 是不是機器人、你是誰啊、怎麼秒回 | 固定話術 → 立即停手 |
| T1 | 咋這麼怪、不對勁 | 「這會在忙」→ 轉人工 |
| T2 | 錢/借/合同/驗證碼/約見等 | 「晚點細說」→ 轉人工 |
| T3 | 普通閒聊 | 自動回 |
同一會話累計 2 次升級會強制改爲 draft,不再自動發。角色預設(friend、teacher、engineer 等)還會附加禁區話術,避免代答報價、成績、工期等敏感承諾。
已知限制¶
圖片/視頻/語音無法解析,只能處理文字氣泡。OCR 依賴 Windows 中文語言包 zh-Hans-CN。發送需短暫佔用前臺(約 200–400ms)。微信不宜最小化到托盤;改版後佈局比例可能在 bridge/psagent.ps1 的 $script:Cfg 裏調整。
安裝與啓用¶
在 DSH 裏安裝發行包(推薦):
dsh plugin --profile web add https://github.com/gautema8-hash/dsh-super-wechat-bot/releases/latest/download/dsh-super-wechat-bot.tgz
或從 GitHub 源碼安裝:
dsh plugin --profile web add github:gautema8-hash/dsh-super-wechat-bot
裝完重啓 DSH,wechat_* 工具會出現在會話中。插件市場收錄後也可在 設置 → 插件 → 市場 搜索安裝。
配置文件默認路徑:~/.dsh/dsh-super-wechat-bot/config.json(不存在會自動創建)。apiKey 留空時可複用 ~/.dsh/.credentials.yaml 中的 DEEPSEEK_API_KEY;默認模型爲 deepseek-flash。maxRepliesPerMinute 默認 6,設爲 0 即全停發,且不可被任何調用繞過。
安裝前請自行查看倉庫源碼與 LICENSE,確認權限與合規;插件以當前 DSH 進程權限運行,會操作本機微信窗口與鍵盤輸入。
典型用法¶
- 先在微信裏打開目標會話(僅當窗口標題與會話名匹配時工作,防止發錯人)。
- 調用
wechat_start,contact填標題中的暱稱,mode選draft(默認)或auto。 - 用
wechat_drafts查看擬稿,wechat_approve發送或wechat_reject丟棄。 - 需要時用
wechat_stop停手。
更省事時可打開 http://127.0.0.1:47821/ 填會話名、切 draft/auto、逐條批准草稿。
離線自測(不碰微信、不聯網):
node test/offline.test.mjs
適用場景與注意¶
適合需要在 Windows 上臨時代聊單會話、又希望決策與限流脫離 agent 輪次的開發者或個人用戶。不適合依賴 UIA、Hook 或官方 API 的集成方案;也不適合必須處理圖片/語音消息的場景。
DeepSeek Harness 的理念是「一切皆插件」;SkillHub 目錄頁 是社區收錄站點,與 DeepSeek / 幻方無官方從屬關係。使用前請理解代聊風險:標題校驗與 T0–T3 策略能降低誤發與身份暴露,但不能替代人工判斷。
鏈接¶
- 目錄頁:https://www.skillhub.cn/plugins/gautema8-hash/dsh-super-wechat-bot
- 倉庫與 README:https://github.com/gautema8-hash/dsh-super-wechat-bot