dsh-wechat-bridge
Manifest valid通到微信:DSH 里的 AI 伙伴和微信双向互通(读本地库收消息、UI 自动化发消息)。修改版,基于 Yuuyuko-uu/dsh-wechat-bridge。
通到微信(dsh-wechat-bridge)
这是修改版:上游是 Yuuyuko-uu/dsh-wechat-bridge(作者 Yuuyuko-uu,MIT)。本仓库(thawline/dsh-wechat-bridge)在原版基础上补了一批「实际用起来会疼」的地方,具体见文末「相对原版的改动」。
让 DSH 里的 AI 伙伴和微信双向聊天:你在微信里发的话转进 DSH,伙伴说完一整轮,最后一句(和表情包图片)发回微信。
不注入、不 hook、不改微信。
- 收消息:读微信 4.x 的本地 SQLite 数据库(只读,要求微信处于登录状态)
- 发消息:Windows UI Automation + 剪贴板,驱动微信窗口真的去打字、真的去粘贴图片
所以它用的是你自己的微信号,不是机器人。朋友收到的,就是你本人在说话。
它长什么样
微信 ──读本地库──> 插件里的 Python 桥接 ──POST /dsh-wechat-bridge/receive──> DSH 会话
<──UIA 发送── 插件里的 Python 桥接 <──GET /dsh-wechat-bridge/outbox── DSH 会话
宿主半边管会话绑定、权限、队列;Python 半边管读库、发送、日记。中间走本机 HTTP。
装
dsh plugin --profile desktop add github:Yuuyuko-uu/dsh-wechat-bridge
或 设置 → 插件 → 安装,填 github:Yuuyuko-uu/dsh-wechat-bridge。
装完重启一次 DSH,打开 设置 → 通到微信。
第一次用(三步)
- 装依赖:点「装依赖」。有现成的 Python 环境(装好
wechatauto-replica的)就直接填「解释器」路径,不用建虚拟环境;没有就让它用系统 Python(3.10+)建一个。 - 启动:点「启动」,下面会滚日志,看到「桥接已就绪」就成了。
- 选会话:挑一间「默认会话」,打开「总开关」。先留着「试运行」看它记的「该发什么」对不对,再把试运行关掉。
之后在微信里跟文件传输助手说话,就等于跟伙伴说话;别人的私聊、群里的话也会转进来。
权限:只有主人能动电脑
| 谁 | 能干什么 |
|---|---|
主人(主人 里填的 wxid / 昵称) | 什么都能 —— 聊天、读文件、跑命令、改设置 |
| 别人 | 只能聊天。这一轮所有工具都会被硬拦(不是靠嘴劝,是在工具执行前直接拒掉) |
实现方式:外部消息进来时,插件给那间会话的 agent 挂一道 tools.guard。这一轮如果是外人叫醒的,任何工具调用都会被拒绝,只放行文字回复。这一轮结束闸就抬起来。
所以外人就算在微信里说「帮我删掉 D 盘」,工具层直接拒绝,模型只能回一句「这个我做不了」。
⚠️ 前提是宿主要提供 tools.guard(本版本 DSH 有)。没有的话日志会警告一句「这层宿主没有 tools.guard」,那就只剩嘴上约束了。
群聊
| 设置 | 作用 |
|---|---|
| 群上下文条数 | 被叫到时,往前读几条群聊天一起给模型看。默认 6,填 0 = 不带 |
| 群回复间隔秒 | 同一个群,两条回复之间至少隔几秒。默认 30,填 0 = 不限 |
| 群每小时上限 | 同一个群一小时最多接几次。默认 6,填 0 = 不限 |
| 群聊日记 | 群里所有消息(不点名的也记)按天写成 markdown |
| 屏蔽 | 一行一个,命中的会话 / 人不回复也不记日记(默认:微信运动、微信团队、微信支付、服务通知、订阅号消息) |
群里默认只有被点名才进来(正文里有:大肥鱼 / 鲸鲸 / 鲸鱼娘 / 鲸鱼 / 肥鱼),或者主人说话。点名规则写死在 bridge/wechat_bridge.py 的 DEFAULT_ALIASES,想改就改那行。
日记存在 ~/.dsh/wechat-diary/<YYYY-MM-DD>/<群名>.md,一天一个文件,当天追加:
# 组队叫战狗 单排叫野狗 · 2026-10-26
- 15:07 饮茶:现在有比赛?
- 15:08 Zierk:昨晚一点
表情包
伙伴在回复里写 [表情: 描述],插件会去 dsh-meme 的表情库里按 caption / 关键词找那张图,当图片消息发到微信,那串描述本身不会出现在正文里。
找不到对应图片时保持原样(发出去的就是文字),不会丢内容。
「文件传输助手」
自己发给自己的消息本来会被跳过(防自问自答),但文件传输助手放行 —— 那是你留给自己的对话窗。两道防回环:
- 自己刚发出去的几条,按文本比对跳过(比对前先规整空格换行)
- 往外发完的 12 秒内,文件传输助手里冒出来的消息一律不读
配置项
| 项 | 默认 | 说明 |
|---|---|---|
| 总开关 | 关 | 关着 = 一句都不发 |
| 试运行 | 开 | 开着 = 只在日志里记「该发什么」,不真发 |
| 默认会话 | 空 | 微信来的消息进哪一间 |
| 单独绑定 | 空 | 一行 = 一个微信聊天 → 一间会话 |
| 接口令牌 | 空 | Python 侧请求要带的口令,留空不校验 |
| 解释器 | 空 | 一个装好 wechatauto-replica 的 python.exe,填了就不用建 venv |
| 主人 | 空 | wxid 或昵称,逗号分隔 |
| 外人只能聊天 | 开 | 见上面「权限」 |
| 群上下文条数 | 6 | |
| 群回复间隔秒 | 30 | |
| 群每小时上限 | 6 | |
| 群聊日记 | 开 | |
| 日记目录 | 空 | 留空 = ~/.dsh/wechat-diary |
| 屏蔽 | 见上 | 一行一个 |
配置在 ~/.dsh/wechat-bridge-config.json,venv 在 ~/.dsh/wechat-bridge-venv。改完点保存,桥接 30 秒内自动生效,不用重启。
HTTP 接口
| 方法 | 路径 | 干什么 |
|---|---|---|
| POST | /dsh-wechat-bridge/receive | 收:{text, 图片?, 图片类型?, chat, chatType, sender, senderId} → 转进会话 |
| GET | /dsh-wechat-bridge/outbox | 发:取走待发队列 |
| POST | /dsh-wechat-bridge/outbox/ack | 发完回报 |
| GET | /dsh-wechat-bridge/state | 状态、配置、会话、日志 |
| POST | /dsh-wechat-bridge/save | 存配置 |
| POST | /dsh-wechat-bridge/test-send | 真发一条测试句 |
| POST | /dsh-wechat-bridge/vision-test | 试看一张本地图片:{图片, 类型?} |
| POST | /dsh-wechat-bridge/bridge/install | 装依赖 |
| POST | /dsh-wechat-bridge/bridge/start / stop | 起停桥接 |
边界与风险
- 图片和表情包会先“看”一眼:收到图片 / 表情包时,桥接先把文件落盘,宿主用视觉模型写成一句中文描述再转进会话;没配视觉密钥时会标「没看清」,不会挡消息。语音、视频仍然跳过。
- 发送会抢微信窗口焦点。正常情况不抢前台,只有发送失败重试时才把微信拉到前面。
- 同一个微信号别同时开两个桥(比如鲸鲸的桥接),会抢窗口、发送会乱。
- 微信个人号自动化不是官方接口,有封号风险,建议先用小号 / 测试号。
- 微信升级可能让它失效:
wechatauto靠一张按版本号硬编码的地址表找控件树。升级后发不出去先看设置页下面的日志。 - 只在 Windows 上能用(UI Automation 是 Windows 独有的)。
相对原版的改动
原版能跑通,但真天天用就会疼。这一版补的都是那种「用着用着才炸」的地方:
- 同会话发消息不再抢前台:微信最小化着也能发,不把窗口拉出来、不动鼠标。切会话(私聊↔群)时窗口会短暂露一下,发完自动收回。
- 输入框防残留:以前发送失败时字会留在输入框里,下一条回车就把它带出去,同一条消息发两遍。现在发送前先清空,失败时也不再靠真实鼠标点「发送」按钮(那会让鼠标满屏乱飞)。
- 发图以数据库为准:以前接口说成功、其实没发出去(或者反过来)。现在发完去微信库里查有没有新图片,查到才算成功,避免重复发。
- 群聊查名修正:群的昵称查不到时用
group_name_to_id兜底,否则群消息永远查不到(会导致重复发送判断失效)。 - 一轮里多条回复会拼起来发:以前同一轮的第二句会覆盖第一句,微信只能收到最后一句。
- 临时目录兜底:某些嵌入式 Python 探测不到可写的
TEMP(安全软件拦着时会这样),桥会退到自己的tmp/目录,不然连微信数据库都打不开。
致谢
wechatauto-replica—— 读库解密 + UIA 发送的底座
License
MIT
Comments
Loading…
Similar plugins
by Carl-5535
微信 × DeepSeek Harness (DSH):进程内插件,扫码即用,双向消息/文件,wechat_notify 主动推送
★ 10
NOASSERTION
TypeScript
Oct 22, 2026
dsh plugin --profile web add dsh-wechat-gatewayby baisama-cloud
DeepSeek Harness(DSH)多通道消息桥:将微信(ClawBot/iLink)、QQ和飞书(Lark)聊天消息路由给DSH代理,并将代理的回复反馈给发送方。
★ 4
MIT
JavaScript
Sep 4, 2026
dsh plugin --profile web add dsh-omni-bridgeby lanbaolu
DeepSeek Harness (DSH) 微信桥接插件:三端通用,host 工具 + Web 管理面板
★ 5
↓ 273/wk
MIT
TypeScript
Sep 29, 2026
dsh plugin --profile web add @lanbaolu/dsh-wechat-bridgeby liushQAQ
DSH 微信通道增强插件 — 集成 iLink 消息双向桥接、单实例锁、大文件智能投递与 Web 设置管理界面
★ 0
MIT
JavaScript
Oct 21, 2026
dsh plugin --profile web add dsh-weixin-plusby AbcdefgXW
dsh IM 渠道桥:微信/QQ/飞书接入 + 主动推送 | IM channel bridge for dsh: WeChat/QQ/Feishu with proactive push
★ 4
↓ 287/wk
MIT
JavaScript
Sep 18, 2026
dsh plugin --profile web add dsh-msg-hubby Yuuyuko-uu
通到 QQ:DSH 里的 AI 伙伴和 QQ 双向互通 —— 它说完话自动发到 QQ,你在 QQ 说的话自动转进 DSH(走 OneBot 11 HTTP,NapCat / SnowLuma 都行)
★ 149
↓ 2k/wk
MIT
JavaScript
Oct 31, 2026
dsh plugin --profile web add dsh-qq-bridge