大肥鱼微信版(mengyunqwq/wechat-bot)是一个跑在本机 Windows 上的微信群聊机器人:收消息 → 按拟人策略判断要不要回 → LLM 生成口语化回复 → 像真人一样延迟发送,会发表情包、发语音气泡、自动发朋友圈。当前版本 v1.4.12,持续迭代中(README 提到 1.4.13/1.4.14/1.4.15 及未发版更新)。
一、项目官方信息
| 项目 | 信息 |
|---|---|
| GitHub 仓库 | mengyunqwq/wechat-bot |
| 当前版本 | v1.4.12(version.json 与插件 export const version 同源) |
| Star 数 | 约 27 |
| 主要语言 | 以 JavaScript 为主(约 71.4%),含 Node/前端面板与 Python 脚本 |
| 开源协议 | LICENSE / NOTICE(仓库未被 shields 识别,以仓库内文件为准) |
二、官方图片
仓库 README 以 ASCII 架构图为主,封面取 GitHub 仓库图:

架构图(复刻自 README):
微信群 ⇄ 微信 4.1.10.27(机器人专用的独立副本)
↑ version.dll 代理式加载(放进客户端目录,微信启动时自己加载,免注入)
↓ HTTP 127.0.0.1:30001(读库 / 发消息 / 语音 / 朋友圈)
↓ 回调 127.0.0.1:18998(新消息)
wx-bridge(接入层,Node,ws://127.0.0.1:17300)
↕ WebSocket JSON
@dsh-external/dsh-wechat-bot(DSH 插件 = 大脑:策略 + LLM + 记忆 + 面板)
三、环境与前置要求
以下 9 项必须齐备,以 README 与本机示例为准:
- 操作系统:Windows。README 演示路径全部为 Windows(
D:\wxhook\wx4110、D:\微信deepseek\wx-bridge)。 - 微信客户端:微信 4.1.10.27 官方安装包,版本强绑定——hook 只适配这一版,其他版本不兼容;客户端自带更新器已被看门狗禁用(每 10 秒巡检),避免自动升级破坏 hook。
- DeepSeek Harness(DSH):必须已装好可用的 DSH 环境。大脑(拟人策略 + LLM + 长期记忆 + 16 页控制面板)都跑在 DSH 插件
@dsh-external/dsh-wechat-bot里。 - Node.js:wx-bridge 接入层用 Node 运行,README 用
node server.mjs启动。 - Python:部分脚本与能力依赖 Python,如
tts-silk.py(语音合成)、douyin-brush.py(抖音自动刷)、yt-dlp链接视频下载、pilk/SenseVoice 语音转文字等。 - LLM API Key:在 DSH 里配置模型路由(如 DeepSeek API Key);图像服务 key 走环境变量或本地凭据文件,仓库里只有占位符,不进仓库。
- 磁盘/数据目录:运行时数据目录(本机示例
D:\微信deepseek\data:表情库、日志、rooms.json、语音临时文件);插件数据目录(本机示例D:\dsh\data\wechat-bot:记忆facts/、moment.json、moment-images/)。 - 端口要求:30001(微信 hook HTTP)、18998(回调)、17300(桥 WebSocket)。三者均只监听
127.0.0.1,属"本机信任"模型,不要暴露公网。 - 其它可选依赖:yt-dlp(群里发链接自动下载识别视频)、pilk/SenseVoice(SILK 语音转文字)、Agnes 图生图服务(现场生成表情包、朋友圈图)。
四、完整部署步骤
1. 准备微信独立副本
安装微信 4.1.10.27 到独立目录(本机示例 D:\wxhook\wx4110),绝不碰日常微信。杀进程一律按可执行文件路径精确匹配,禁止 taskkill /IM Weixin.exe。
2. 部署 version.dll(release 成品)
release/ 目录已提供成品:
version.dll:hook 代理 DLL;install.ps1:安装脚本;rollback.ps1:回滚脚本;SHA256.txt:校验和。
把 version.dll 放进微信客户端目录,微信启动时自己加载(代理式、免注入),hook 会注入到微信全部子进程(本机实测 5 个)。
3. 用 AI 一键部署(推荐)
文档 docs/AI-一键部署.md 可直接喂给 AI,让它替你完成安装:
https://github.com/mengyunqwq/wechat-bot/blob/main/docs/AI-一键部署.md
完整人工流程见 docs/安装流程.md。
4. 手动启动(按 README 本机路径)
# 1) 客户端(必须带这几个参数,否则收不到消息)
Start-Process 'D:\wxhook\wx4110\Weixin.exe' -ArgumentList `
'StartPort=30001','RecvType=1','CallBackURL=http://127.0.0.1:18998' `
-WorkingDirectory 'D:\wxhook\wx4110'
# 2) 接入层
cd D:\微信deepseek\wx-bridge
node server.mjs --transport=wechat-hook --api-port=30001 --cb-port=18998 `
--data-dir=D:\微信deepseek\data --wechat=D:\wxhook\wx4110\Weixin.exe
server.mjs的--transport默认是已废弃的wxhelper,必须显式加--transport=wechat-hook;参数只认--key=value形式。
5. 一键脚本
scripts/start-bot.ps1/启动机器人.cmd:按正确参数拉起微信 + 桥(已在跑的跳过);scripts/stop系列 /停止机器人.cmd:停桥(按 PID),不误杀其它 Node;状态检查.cmd:看连接与决策日志;scripts/build-hook.ps1:克隆 hook 源码 → 编译 → 备份部署;scripts/check-panel-ops.mjs:校验面板操作是否都在白名单;scripts/wechat-power.ps1:客户端开关机(UIA 点「进入微信」)。
6. 模拟模式与自检
node server.mjs --mock # 不需要微信,调策略用
node server.mjs --self-test # 桥自检
五、使用方法
16 页控制面板
入口两种:DSH 左侧面板列表「🐋 微信机器人」,或独立地址 http://127.0.0.1:<DSH端口>/wechat-bot。16 个页面:总览、功能开关、回复节奏、主动行为、说话方式、表情包、感知、语音、记忆、群与人、朋友圈、人设模型、诊断、更新、运维日志、手动操作。操作白名单 38 项,面板实际用 34 个,启动自检并写日志。
11 个 DSH 工具
| 工具 | 作用 |
|---|---|
wechat_bot_status |
桥连接/登录/模型路由/节流/最近消息 |
wechat_bot_selfcheck |
一键全链路只读体检 |
wechat_bot_say |
以机器人身份发一条(可带表情包) |
wechat_bot_config |
实时改参数(无需重启) |
wechat_bot_stickers |
看表情包库 / 试挑一张 |
wechat_bot_gensticker |
现场生成表情包(可加文字气泡,可顺手发群) |
wechat_bot_vision |
识别一张本地图片 |
wechat_bot_memory |
查看/追加/清空/立即提炼长期记忆 |
wechat_bot_search |
联网搜索 |
wechat_bot_names |
群成员名字映射(wxid → 昵称) |
wechat_bot_history |
某群最近消息 |
日常能力
收消息(数据库轮询 2.5s + 可选 hook 即时推送)、发文字/真@、发图片、语音气泡(type 34 真气泡)、识图(V2/AES 解密)、识表情、识视频(抽 6 帧 + 音轨转写)、链接视频(yt-dlp)、语音转文字(SILK→pilk→SenseVoice)、表情包图库 + 现场生成(Agnes 图生图)、每群长期记忆、朋友圈静默发布(PostMessage 驱动 UI,不抢前台)、抖音自动刷。
朋友圈(v1.4.x 新增)
定时模式 momentAuto(默认 false)或群聊事件模式 momentFromChat(默认 false)。文案由模型写,图片默认图生图(assets/char-ref.jpg 锁角色,失败就放弃,绝不发错角色)。发布方式:PostMessage 驱动微信自己 UI,全程不移动鼠标、不抢前台。前置:微信主窗口必须开着,收进托盘会被销毁,调度器自动跳过且不消耗当日额度。
六、常见问题 FAQ
1. 为什么要小号? hook 属非官方协议,违反微信使用条款,封号风险真实存在。务必用小号,别绑支付。
2. 会不会封号? 有风险。项目通过独立副本、看门狗禁用自动更新、拟人延迟发送等手段降低概率,但不能完全消除。建议只在测试小号上跑,绝不碰日常微信。
3. 热重载怎么用? 插件无法在自身进程内安全替换自己(三条路都实测失败),所以 1.4.12 起「热重载插件」只做预检:验证新代码能否加载,然后提示重启 DSH。正确流程:改代码 → 面板点「热重载」确认能加载 → 重启 DSH 生效。
4. 面板打不开怎么办?
先确认 DSH 在跑、访问 http://127.0.0.1:<DSH端口>/wechat-bot 或 DSH 左侧面板「🐋微信机器人」;用 wechat_bot_selfcheck 全链路体检;启动日志应显示「[自检] 面板操作覆盖 34/34 ✅」。
5. 朋友圈发不出去? 微信主窗口必须开着;收进托盘会销毁窗口,调度器会自动跳过且不消耗当日额度,日志写明原因。
6. 高频连发语音/图片会偶发崩溃?
语音/图片发送的内部对象未完全释放,高频连发(实测 7 分钟内 7 条语音)可能让客户端偶发崩溃,建议把 voiceSayProbability 压低。
七、跳转链接
- GitHub 仓库:mengyunqwq/wechat-bot
- AI 一键部署:docs/AI-一键部署.md
- 完整安装流程:docs/安装流程.md
- 运维铁律 R1–R17:docs/OPERATIONS-RULES.md
- 排错手册:docs/常见错误与排错.md
- 部署与常驻运行:DEPLOY.md