一条命令让 AI 接管微信值班:wechat-bot 新手完整上手指南
【免费下载链接】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 把微信扫码接上电脑,白名单里的消息交给大模型自动回复,每条文本同时落盘存档,随时按关键词检索。
认识 wechat-bot:一个跑在本机的微信 AI 机器人
一句话定位:基于 Wechaty 的微信/IM 机器人,扫码上线,让 AI 替你应答消息、分析群聊,适合运维、产品和所有想让 AI 当"大脑"、微信当通道的用户。
| 能力 | 一句话说明 |
|---|---|
| 扫码上线 | 终端打印二维码,手机扫码即登录,不需要额外服务器 |
| 精准应答 | 只有白名单群被 @、白名单好友私聊才触发回复,不逢消息必答 |
| 消息留痕 | 每条文本追加写入本地messages.jsonl,群名、关键词、时间都能查 |
| 群聊分析 | 一条命令统计消息量、发言排行,可选 AI 深度总结 |
| 模型随换 | --serve一个参数在 deepseek、ollama、claude、Kimi 等十余种服务间切换 |
| 本地数据读取 | wb wx透传 wx-cli,读本机微信会话、联系人、群成员、朋友圈缓存 |
快速上手:装、配、跑
① 安装:克隆仓库并装好依赖
先确认node -v不低于 v18(低了会直接运行报错),然后拉代码装依赖:
git clone https://gitcode.com/GitHub_Trending/we/wechat-bot cd wechat-bot npm i成功的标志是node_modules装完没有红色报错。卡住了:多半是 puppeteer 拉浏览器失败,设PUPPETEER_SKIP_DOWNLOAD='true'后重装;npm 慢就先切国内镜像源。
② 配置:只填必填项
复制示例配置,再填四个必须项:
cp .env.example .envBOT_NAME='@你的微信昵称' ROOM_WHITELIST='群名1,群名2' ALIAS_WHITELIST='好友备注1,好友备注2' DEEPSEEK_API_KEY='你的key'成功的标志是.env里这几项没有留空。两处最容易填错:BOT_NAME必须保留@前缀,群名必须和微信顶栏一字不差,建议原样复制。用本地 Ollama 的话,改填OLLAMA_URL和OLLAMA_MODEL即可,不用花 API 钱。
③ 运行:启动并扫码验证
npm link wb start --serve deepseek没执行npm link的话,用npm run start -- start --serve deepseek效果一样。成功的标志是终端打印出二维码,扫码后日志出现has logged in和Automatic robot chat mode has been activated。再做一个自检:在白名单群里 @它 说一句,群里出现 AI 回复、同时.data/wechat/messages.jsonl有新增,链路就跑通了。
实战场景:机器人能替你做这几件事
群里值班,只在被 @ 时开口。把群名加进ROOM_WHITELIST,@机器人 问一句,答完结果发回群里。输入@bot 部署文档在哪,输出就是一段 AI 整理的回复消息;它不会插话刷群,像多了一个不眠的值班同事。
给群做个体检,终端一条命令出报告。纯本地统计,不花任何 token:
wb analyze --room "群名" --stats-only输出包括消息总数、文本消息数、平均长度和"高频发言"成员排行。在群里直接发/统计 群 群名也能触发同一套逻辑。
写周报前,把聊天记录捞出来。存档检索支持按关键词、群名、起止时间过滤,analyze 内部读的就是这份messages.jsonl:
wb analyze --room "群名" --query "需求" --start 2026-10-06某群近一周谁提了什么需求,捞出来整理进周报,不用翻聊天窗口。想要更深的结论,把--stats-only换成--serve pi,让模型读最近的消息样本做总结。
幕后逻辑:一条消息进来后走了四步
- 收消息:Wechaty 扫码登录微信,解析出发送人、群名、文本内容
- 先存档:每条文本追加写入
.data/wechat/messages.jsonl,哪怕不触发回复也会落盘 - 判触发:私聊好友在
ALIAS_WHITELIST,或群名在ROOM_WHITELIST且消息 @了BOT_NAME,才进入回复链路;/统计、/分析等命令在这一步被路由 - AI 回话:请求
--serve指定的模型服务,把回复发回群或私聊
| 环节 | 对应源码文件 |
|---|---|
| 收消息 | src/platforms/wechat/bot.js |
| 存档 | src/platforms/wechat/messageStore.js |
| 判触发 + AI 回话 | src/wechaty/sendMessage.js、src/wechaty/serve.js |
最关键的的一处设计在第 2 步:存档发生在触发判断之前。所以机器人没回复的群也有数据可查,检索和群统计全靠它。
排障:四个最常见的问题
- 群里 @了机器人始终没反应→ 白名单没对上:
BOT_NAME丢了@,或群名有一字之差 → 从微信顶栏复制真实群名原样替换,并确认 @ 的是机器人账号本身。 - npm i 中途失败→ puppeteer 浏览器依赖拉不下来,或 node 低于 v18 → 设
PUPPETEER_SKIP_DOWNLOAD='true'重装,node 升级到 LTS。 - 微信弹出外挂警告→ 默认免费 web 协议风控严格 → 只在测试号上用、白名单尽量小;正式使用先读 README 里的协议切换说明,别急着买长期协议。
- 日志没报错但 AI 就是不回→ API Key 没填、欠费,或把讯飞几个相似的 key 填反了 → 先单独跑
node src/deepseek/__test__.js之类的测试脚本,验证通了再启动机器人。
想先熟悉自家群的数据,直接跑一次wb analyze --room "你的群名" --stats-only;想把 Pi 当"大脑"而不是模型 API,照着 docs/pi-im-agent.md 配置即可。
【免费下载链接】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),仅供参考