前言¶
在 DeepSeek Harness(DSH)裏搭好陪伴角色之後,常見做法是自己在終端或 Web 面板裏來回對話。微信仍是很多人日常聯繫的入口,但 DSH 本身不直接驅動微信客戶端。若希望角色能在私聊或羣聊裏讀消息、回消息,還要儘量不打斷你正在用的前臺窗口,就需要一條專門的客戶端適配層。
senumirai/dsh-whale-wechat(npm 包名 dsh-wechat-group)由 SenuMirai 維護,歸類爲客戶端插件。它從同系列的 dsh-whale-qq 拆出並改寫,記憶、人設、日記與 QQ 版獨立,不和 QQ 那套混用。下面介紹它的定位、能力與在 Windows 上的安裝啓用方式。
這是什麼¶
一句話:把 DSH 裏的陪伴角色接到真實微信客戶端,通過 UIA 與窗口消息收發消息,傳輸側經 shim 轉成 OneBot,插件本體仍走 DSH 的 Cordis 體系。
- 倉庫:https://github.com/SenuMirai/dsh-whale-wechat
- 目錄頁:https://www.skillhub.cn/plugins/SenuMirai/dsh-whale-wechat
- 許可證:MIT(README 標明)
它是「DSH Whale 系」成員之一;與同前綴的 dsh-whale-world、dsh-whale-qq 等可單獨安裝,裝在一起時記憶等能力可經 world 中樞銜接。npm 包 id 沿用 dsh-wechat-group,與系列內其他插件靠 id 聯動,不宜隨意改名。
核心功能¶
以下能力均來自項目 README 的功能表與架構說明。
| 能力 | 說明 |
|---|---|
| 私聊 / 羣聊 | 一對一與羣內接話;羣聊默認先判斷「這條該不該我說話」 |
| @ 人 | @ + 暱稱,用備註名命中,選中後成爲真正的 @ 對象 |
| 引用回覆 | 被隔開回復時引用原消息,羣聊裏可見在回誰 |
| 連發多條 | 多條獨立發送並逐條覈對 |
| 發圖 / 表情包 | 本地圖片、微信表情、自建表情包目錄 |
| 發語音 | TTS → 虛擬聲卡 → 微信「按住說話」,對方收到語音條 |
| 後臺發送 | 窗口消息打字與點按鈕,不搶前臺焦點 |
| 主動搭話 | 久未說話可主動找話頭;頻率、時段、冷卻可配 |
| 記憶 / 日記 / 人設 | 掛在 dsh-whale-world 記憶中樞;與 QQ 側獨立 |
| 一鍵啓動 | 插件設置裏「啓動」按鈕,拉起 shim、outbox、橋接並自動連接 |
README 同時標明:僅 Windows。UIA 驅動微信沒有跨平臺替代;微信大版本升級後橋接可能需等待適配更新。
架構概覽¶
三個進程相互獨立,任一掛掉不影響另外兩個;插件內可查看各段是否存活。
微信客戶端 (Weixin.exe)
↕ UIA / 窗口消息(不搶焦點)
橋接 bridge (whale_girl) —— 讀寫數據庫、收發消息、TTS
↕ HTTP + OneBot WebSocket
shim (onebot 3101 / webhook 8790)
↕
dsh-wechat-group 插件
安裝與啓用¶
1. 安裝插件與 Python 依賴¶
先安裝插件本體,再爲橋接與 shim 準備 Python 3.12 環境與依賴(README 寫明 Windows + Python 3.12):
# 1. 插件本體
dsh plugin add dsh-wechat-group
# 2. Python 運行時(橋接和 shim 要用)
# Windows + Python 3.12,裝依賴:
pip install -r requirements.txt
requirements.txt 隨插件/倉庫資源提供,在 README 所指目錄執行上述 pip install,勿憑包名自行拼湊安裝命令。
2. 在 DSH 裏接 OneBot 並啓動鏈路¶
在 DSH 設置中打開 微信 面板:
- 填寫 OneBot 地址(默認
ws://127.0.0.1:3101) - 點擊「啓動」——拉起整條鏈路,首次可能彈出一次 UAC
- 面板顯示
link: online表示已連接
README 強調:不要把 Python 運行時放在受管目錄(例如 C:\DSHwork 下的 python.exe 可能被降權,導致對微信 OpenProcess 失敗、UIA 樹無法物化、發送報 tree_not_ready)。宜使用如 C:\Program Files\Python312\python.exe 這類官方路徑。
配置說明¶
配置文件路徑爲 ~/.dsh/dsh-wechat-group/qq.json(沿用 QQ 版文件名)。README 列出的主要鍵如下:
| 鍵 | 含義 |
|---|---|
enabled |
總開關 |
url |
OneBot WebSocket 地址 |
privates / groups |
白名單:僅列出的會話會回覆 |
wechat.windowHwnd |
微信主窗句柄,0 = 自動 |
wechat.backgroundSend |
後臺發送(默認開) |
wechat.accountGuard |
認不出微信號時寧可不發 |
tts.* |
語音合成網關與音色 |
插件還以 cordis.patch.yml 等形式參與 DSH 裝配;修改此類配置後需重啓 DSH 進程纔會生效(README 踩坑條目中明確說明)。
典型用法與鏈路行爲¶
經過上面的安裝與啓動步驟後,日常使用可以理解爲:
- 白名單內的私聊或羣聊出現新消息時,插件經 OneBot 收進 DSH,由陪伴角色生成回覆計劃。
- 需要 @ 或引用時,橋接按微信 UI 規則操作(備註名 @、引用條)。
- 文本、圖片、語音等經橋接發送;默認走後臺通道,儘量不奪走鍵鼠焦點。
- 若安裝了
dsh-whale-world,長期記憶與人設、日記經 world 中樞維護,與 QQ 插件數據分離。
多平臺同時使用時需注意 README 中的 outlet / ticket 說明:QQ 與微信不宜在 bridge 層互相廣播同一條 reply,應按平臺帶 ticket 調用世界橋,避免串臺。
適用場景與注意¶
適合誰
- 已在 DSH 中配置陪伴角色或類似對話體,希望在微信私聊、羣聊中與同一角色交互的開發者或高級用戶。
- 接受在 Windows 上運行微信 PC 版,並願意爲橋接進程配置 Python 與 OneBot 鏈路的環境。
使用前建議
- DSH 插件以當前 DSH 進程權限運行;安裝前請閱讀倉庫源碼與 MIT 許可證,確認隱私與安全邊界(橋接會讀寫微信相關數據與 UI)。
- 首次啓動涉及 UAC;之後「啓動」可走計劃任務,README 稱不再每次彈窗。
- 社區目錄 skillhub.cn 與 DeepSeek / 幻方無官方從屬關係;DSH 生態理念是「一切皆插件」,本介紹事實均以對應該倉庫 README 爲準。
README 還記錄了受管目錄 Python、UIA 多線程、錯誤窗口句柄、應用商店式啓動命令等詳細排障條目,部署若遇 tree_not_ready、發送失敗或進程異常退出,應優先對照倉庫「踩過的坑」章節,而非重複試錯。
結尾¶
senumirai/dsh-whale-wechat(dsh-wechat-group)把 DSH 陪伴角色接到微信:支持 @、引用、語音與後臺發送,傳輸經 OneBot shim 與 DSH 插件銜接。完整說明與更新以 GitHub 爲準。