wechat-bot 实战指南:从零搭建微信 AI 自动回复机器人完整流程
【免费下载链接】wechat-bot🤖 Multi-platform IM AI Agent for Telegram, WhatsApp, Lark, and WeChat. Connects ChatGPT / Claude / Kimi / DeepSeek / Ollama / Pi for auto-replies, community analysis, contact management, and inactive-friend detection.项目地址: https://gitcode.com/GitHub_Trending/we/wechat-bot
wechat-bot 是一个基于 Wechaty 的微信/IM AI 机器人:扫码登录微信后,收到的消息交给 DeepSeek、ChatGPT、Ollama 等 AI 服务自动回复,还能对群聊和好友做统计分析与不活跃联系人检测。
它到底能帮你干嘛
- 值班客服:你忙不过来的时候,白名单群里有人 @ 机器人提问,几秒后就有模型生成的答复发回去,7×24 小时有人"接话"。
- 群聊降噪:群消息太吵?机器人只在被 @ 或命中指定前缀时才回应,其余消息只存档不插嘴。
- 数据复盘:一条
wb analyze命令,把某个群或某个好友的聊天拉出来做本地统计,再交给 AI 写份深度分析。
30 秒看懂这个项目
- Wechaty 协议层:负责微信扫码登录、收发消息,是整个机器人的"手"。
- 多模型回复层:src/ 下按目录拆出 ChatGPT、DeepSeek、Kimi、讯飞、Ollama、Claude、Dify 等十几个 provider,用
--serve参数热切换。 - 消息处理引擎:src/wechaty/sendMessage.js 做过滤、白名单校验和触发判断;src/platforms/wechat/commandRouter.js 处理聊天里的
/统计、/分析内置命令。 - 本地数据通道:
wb wx子命令通过 OpenCLI 的 wx-cli 读本机微信的会话、联系人、群成员和朋友圈缓存,不碰云端。 - 分析模块:src/analysis/wechatAnalyzer.js 支持纯本地统计和 AI 深度分析两种模式。
- 统一 CLI:cli.js 是入口,
npm link之后就能用wb命令。
从零到跑通
环境要求:
| 项目 | 要求 |
|---|---|
| Node.js | ≥ v18.0,推荐 LTS |
| 网络 | 稳定;用云端模型时终端要能访问对应服务 |
| 账号 | 建议用非主力号 |
1️⃣ 克隆仓库到本地:
git clone https://gitcode.com/GitHub_Trending/we/wechat-bot cd wechat-bot2️⃣ 安装依赖,并可选地把wb注册为本机命令:
npm i npm link3️⃣ 生成配置文件,至少填好机器人名和两个白名单:
cp .env.example .env # 在 .env 中配置核心参数: # BOT_NAME='@你的微信昵称' # ALIAS_WHITELIST='好友备注1,好友备注2' # ROOM_WHITELIST='群名1,群名2' # PI_BIN='pi'4️⃣ 启动机器人,终端出二维码后扫码登录:
wb agent --im wechat --agent pi # 或者切换传统模型回复模式 wb start --serve ollama登录成功后,消息链路是:Wechaty 收消息 → 本地 JSONL 存档 → agent 生成回复 → 发回微信。白名单群内被 @ 才会触发回复,私聊则要求对方备注在ALIAS_WHITELIST里。
真正让它好用的配置
客服场景:别对每条消息都回
大号场景下,每次被 @ 都触发回复会很吵。给它加个前缀门槛,只有带指定前缀的消息才进入回复链路:
AUTO_REPLY_PREFIX='机器人帮忙'群聊消息会先去掉BOT_NAME再 trim 做前缀匹配,私聊直接 trim 后匹配,配置前先确认消息格式。
分析场景:本地统计 + AI 深度复盘
想摸清一个群的活跃情况,不用把聊天记录喂给云端模型,先做本地统计,需要时再调 AI:
wb analyze --room "群名" --stats-only wb analyze --room "群名" --serve deepseek聊天中也可以直接发/统计 群 XX群和/分析 好友 备注,内置命令只对白名单内的联系人生效,别人发不进来。
玩出花来的技巧
- 白名单是最便宜的防火墙。
ROOM_WHITELIST和ALIAS_WHITELIST保持最小集,只放真正需要的群和人。机器人回复范围越小,风控暴露面越小,误回率也越低。 - 开启消息存档再玩分析。
WECHAT_STORE_MESSAGES='true'会把消息追加写入.data/wechat/messages.jsonl,/统计和--stats-only都只读本地文件,分析历史聊天不用再抓一遍。 - 敏感群优先本地模型。
/分析会把最近消息样本交给模型处理,涉及隐私的群用--serve ollama这类本地方案,数据不出机器。 - Pi 冷启动可以忍。本机没有全局
pi命令时,把PI_BIN留空,项目会用 npx 自动调起 Pi,只是首次启动慢一点。
遇到这些情况怎么办
- 扫码后登录失败或收到外挂警告→ 微信对 Web 协议审查严格 → 换更稳定的协议,且别频繁登录登出,重要账号别拿来跑。
- 群里被 @ 了却不回复→
BOT_NAME少了@符号,或群名没写进ROOM_WHITELIST,或非文本消息(图片、语音不走回复链路)→ 对照.env逐项核对。 - 云端模型请求不通→ API Key、余额、代理三件套必查 → OpenAI/Claude 这类服务尤其要确认终端走了代理。
- 装依赖时 puppeteer 失败→ 环境不支持下载浏览器 → 设置
PUPPETEER_SKIP_DOWNLOAD='true'后再装。 - 启动直接报版本错误→ Node.js 版本低于 18 → 升级 LTS 版本,删掉 lock 文件和 node_modules 重装一次。
注意事项
- 微信对第三方客户端的审查一直在收紧,建议用专门的号,别拿日常主力号试验。
- 控制回复频率,白名单 + 前缀双保险,别让机器人秒回每一条消息。
- 涉及隐私的聊天分析,优先本地模型;
/分析发出去的就是消息样本,自己心里有数。 - 底层 wechaty 生态的维护状态不算活跃,购买任何付费协议前多留个心眼,别一次买太久。
接下来你可以
先跑通最小链路:白名单里放一个自己的测试群,@ 一下看看回不回。跑通之后两个方向值得试:一是把 src/ 的 provider 结构当模板,接入你顺手的模型服务;二是拿wb analyze定期给核心群做复盘。工具的价值在于它真的替你省了时间——去动手跑一次,比看十篇教程都值。
【免费下载链接】wechat-bot🤖 Multi-platform IM AI Agent for Telegram, WhatsApp, Lark, and WeChat. Connects ChatGPT / Claude / Kimi / DeepSeek / Ollama / Pi for auto-replies, community analysis, contact management, and inactive-friend detection.项目地址: https://gitcode.com/GitHub_Trending/we/wechat-bot
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考