dsh-super-wechat-bot:OCR 讀屏 + 獨立橋進程的微信代聊 DSH 插件

前言

在 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 進程權限運行,會操作本機微信窗口與鍵盤輸入。

典型用法

  1. 先在微信裏打開目標會話(僅當窗口標題與會話名匹配時工作,防止發錯人)。
  2. 調用 wechat_start,contact 填標題中的暱稱,mode 選 draft(默認)或 auto。
  3. 用 wechat_drafts 查看擬稿,wechat_approve 發送或 wechat_reject 丟棄。
  4. 需要時用 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
羽毛球分组比赛记分
小程序二维码

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

小夜