微信机器人新手教程:30分钟用 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
五百人的微信群一天几千条消息,重要通知发出去一分钟就被刷没。同事在共享账号上@你问"部署文档在哪",你人在外面跑业务,根本接不住。装一个微信机器人就能解决这类问题:微信扫码登录,AI 自动回复被@的消息,所有消息本地存档,事后随时按关键词检索。
用 wechat-bot 能得到什么
一句话定位:把扫码登录的微信接上大模型,让它自动答话,同时把消息全部落到本地。
- 只在被@时说话:白名单(你自己圈的"允许触发回复"的群和好友名单)里的群@消息、白名单好友的私聊才会触发回复,机器人不会逢消息必答。
- 消息不丢:每条收到的文本都会追加写进本地 messages.jsonl(JSONL 是一种"一行一条 JSON 记录"的纯文本格式),事后可按关键词、群名、时间范围检索,微信消息存档从此可回放。
- 群聊统计一条命令:谁最活跃、大家在聊什么、谁常年潜水,一条本地命令直接出结果。
动手前备齐这三样
| 前提 | 说明 |
|---|---|
| Node.js ≥ v18 | 先执行node -v确认版本,低于 v18 会运行报错,建议升到 LTS 版 |
| 国内网络 + npm 镜像源 | 依赖安装卡住时,先切国内镜像源再重试,能解决大部分安装问题 |
| 建议用小号测试 | 微信 web 协议存在风控(微信对异常登录方式的检测与拦截),先用测试账号跑通最稳妥 |
三步上线
1. 拉代码装依赖
git clone https://gitcode.com/GitHub_Trending/we/wechat-bot cd wechat-bot npm install这条命令把项目拉到本地并装齐依赖。npm install中途卡住或失败时,先切国内镜像源再重装。
2. 配好白名单
cp .env.example .env把示例配置复制成正式配置文件,打开.env重点填三项:
BOT_NAME='@你的机器人昵称' ROOM_WHITELIST='群名1,群名2' ALIAS_WHITELIST='好友备注1,好友备注2'⚠️BOT_NAME必须保留@前缀,ROOM_WHITELIST里的群名必须和真实群名一字不差——这两处是@没反应的头号原因。最后给自动回复选一个"大脑":项目内置 deepseek、Ollama(跑在本机的免费模型)、Claude 等十余种服务,填对应 API Key 即可。不想逐个平台处理计费的话,也可以接第三方 API 聚合平台,README 里列了两个示例服务商:
3. 一条命令扫码上线
wb start --serve deepseek没执行过npm link的话,用npm run start -- start --serve deepseek效果一样。--serve后面就是回复服务的名字(deepseek、ollama、claude 等)。终端打印二维码后,用手机微信扫码,机器人就上岗了,去白名单群里@它试一下。
一条消息是怎么被处理的
| 步骤 | 做了什么 | 源码位置 |
|---|---|---|
| 收消息 | Wechaty 解析出发送人、群名、文本内容 | src/platforms/wechat/bot.js |
| 存档 | 追加写入 .data/wechat/messages.jsonl | src/platforms/wechat/messageStore.js |
| 触发判断 | 白名单 + 被@(或私聊白名单)才进入回复链路 | src/platforms/wechat/commandRouter.js |
| AI 回复 | 请求--serve指定的模型服务,把结果发回群里 | src/wechaty/sendMessage.js |
注意顺序:存档先于回复判断。哪怕这条消息不满足触发条件、机器人不会回话,它也已经落盘了——后面的微信关键词检索和群统计全靠这一步。
上线后马上能做的两件事
本地群统计,不消耗任何 token:
wb analyze --room "群名" --stats-only输出消息总数、文本消息数、平均长度、高频发言成员等纯本地统计结果。想要模型结论,把--stats-only换成--serve指定服务,让它读最近的消息样本给出总结;在群里直接发/统计 群 群名也能触发同样逻辑。
在存档里做关键词检索:
wb wx searchanalyze 读的就是 messages.jsonl,支持按关键词、群名、起止时间过滤;这条命令则检索本机微信缓存的数据。写周报时把某个群近七天的记录捞出来就够了。
新手高频问题 FAQ
- @了机器人为什么没反应?十有八九是白名单没对上:
BOT_NAME丢了@,或群名与真实名称有一字之差。从微信聊天界面顶栏复制真实群名原样替换,再确认@的是机器人账号本身。 - npm install 为什么中途失败?常见原因是 puppeteer 的浏览器依赖拉不下来,或 node 版本低于 v18。切国内镜像源重装,必要时设
PUPPETEER_SKIP_DOWNLOAD跳过浏览器下载,再把 node 升到 LTS 版。 - 微信弹出外挂警告怎么办?默认免费 web 协议风控严格,近期平台审查更严。只在测试账号上使用、白名单尽量小;正式使用先读 README 里的协议切换说明,别急着买长期协议。
- 日志没报错但 AI 就是不回话?多半是 API Key 没填、欠费,或把两个相似的 key 填反了(讯飞的配置键经常填反)。先单独跑对应服务的测试脚本,比如
node src/deepseek/__test__.js,验证通了再启动机器人。
一条安全红线
项目默认走微信免费 web 协议,属于"外挂式"登录方式,被平台检测到的概率不低——弹警告、限登甚至封号都有可能。请务必先用小号把整条链路跑通,白名单保持最小化;确定要正式使用时,先阅读 README 中关于协议切换的说明再决定是否更换更稳的协议,购买渠道也要谨慎,别一次性买太久。
下一步
先跑一次--stats-only摸清自家群的数据,再接上模型试试深度分析。想把 Pi 而不是模型 API 当大脑,可以直接看 Pi + IM 使用说明。打开终端把它 clone 下来,今晚你的微信里就多一位不眠值班的同事。
【免费下载链接】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),仅供参考