微信机器人 wechat-bot:12 种 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 的微信机器人:微信扫码登录后,把私聊和群聊消息交给 ChatGPT、DeepSeek、Ollama、Pi 等 12 种 AI 服务自动回复,还能统计群聊、检索本机聊天记录和朋友圈缓存。下面带你完成安装、白名单配置和第一次自动回复。
三个场景,先说清它怎么帮你
群聊 @ 回复。你正在开会,群里有人 @你 问了一个你答过的问题。把群名加进 ROOM_WHITELIST 后,只要消息里 @ 了 BOT_NAME,机器人就把消息交给 AI 生成回复并发回群里,你不用逐条翻聊天记录。
群活跃度统计。想知道技术群里谁最活跃、消息集中在什么时段,执行 wb analyze --room "群名" --stats-only 直接读本地消息做统计,不调用 AI;再指定 --serve 服务,可让模型输出文字分析。
找老消息。想翻早先同事发过的一条配置说明,wb wx search 对本机微信缓存做检索,wb wx sns-feed 能读朋友圈缓存,不用在 App 里一条条翻会话。
安装与首次运行
- 环境要求 Node.js >= v18.0,建议 LTS 版本,版本太低会运行报错。
- 克隆仓库、安装依赖并把 wb 注册为本机命令:
git clone https://gitcode.com/GitHub_Trending/we/wechat-bot cd wechat-bot npm i && npm link cp .env.example .env- 编辑 .env 完成最小配置:BOT_NAME 填机器人账号微信昵称(形如 @可乐)、ALIAS_WHITELIST 填允许私聊触发的好友备注、ROOM_WHITELIST 填允许接入的群名;选云端服务再填对应 API Key。
- 启动,终端出现二维码后用微信扫码:
wb agent --im wechat --agent pi登录成功后,消息按"收消息 → 本地捕获 → AI 回复 → 发回微信"链路处理。不执行 npm link 的话,所有命令可换成 npm run start -- 前缀;也支持 Docker 部署,见 Dockerfile。
功能拆解:自动回复、群聊统计与本地数据
12 种 AI 服务一键切换
--serve 参数决定回复由谁生成,可选 ChatGPT、doubao、deepseek、Kimi、Xunfei、dify、ollama、tongyi、claude、pi、302AI、deepseek-free,覆盖云端 API 与本地部署两类。云端服务在 .env 填 API Key,例如 wb start --serve deepseek;ollama 和 pi 跑在本机、无需 API Key,聊天记录不离开你的电脑。
群聊与好友统计
wb analyze 支持 --room 按群名、--friend 按好友备注两个对象。加 --stats-only 只读本地 JSONL 做统计,不消耗 API;去掉后指定 --serve,会把最近消息样本交给模型深度分析。微信里也能直接发 /统计 群 群名 或 /分析 好友 备注,默认仅对白名单内对象生效,实现见 src/analysis/wechatAnalyzer.js。
本机微信数据与朋友圈缓存
wb wx 系列通过 OpenCLI 的 wx-cli 访问本机微信缓存:先执行 wb wx init 初始化,再用 wb wx sessions 看最近会话、wb wx history 看聊天记录、wb wx members 看群成员、wb wx stats 看聊天统计,wb wx sns-feed 和 wb wx sns-search 读朋友圈缓存并全文搜索。数据留在本机,适合备份和检索。
飞书 CLI 通道
wb lark login 走 device-flow 授权,之后 wb lark messages 读消息、wb lark search 搜消息、wb lark send 发消息。注意飞书目前是 CLI 控制通道,还不是实时事件通道,消息不会自动推给 AI 回复。
进阶配置:触发前缀与隐私边界
AUTO_REPLY_PREFIX 是最实用的开关:配上前缀后,只有匹配该前缀的消息才触发自动回复,适合用大号、不想每条私聊都被回的场景,群聊消息会先去掉 @BOT_NAME 再匹配。处理隐私聊天时,/分析 会把消息样本交给当前服务,建议 --serve 切到 ollama 或 pi 这类本地模型。需要定制回复逻辑时,改 src/platforms/wechat/commandRouter.js 和 src/wechaty/sendMessage.js。
常见问题与排查顺序
扫码后不回复:依次检查好友备注是否在 ALIAS_WHITELIST、群名是否在 ROOM_WHITELIST、群消息是否真的 @ 了 BOT_NAME、BOT_NAME 是否形如 @昵称,以及消息是否为文本——非文本不进入回复链路。
运行报错:确认 Node 版本 >= 18;仍报错就删除 node_modules 和 lock 文件重装依赖;puppeteer 装不上时设置 PUPPETEER_SKIP_DOWNLOAD=true 再装。
云端模型请求不通:核对 API Key、余额和模型名;OpenAI、Claude、Kimi 需要终端可直连对应服务,必要时给终端设置代理。
微信弹出外挂警告:默认 web 协议有风控和封号风险,收紧白名单、减少登录登出频率,或按 README 说明自行更换协议。
Pi 回复慢:把 PI_BIN 指向本机 pi 命令;留空时项目通过 npx 调起,冷启动更慢。
更多排障细节见 docs/pi-im-agent.md。
写在最后
wechat-bot 把"收消息 → AI 回复"做成了一个本地 CLI:12 种 AI 服务一键切换,聊天记录落在本地 JSONL,统计和检索不用打开微信。它不提供托管服务,账号风险与自由度都在你自己手里。下一步:填好 .env 里的三个白名单配置,扫码跑通你的第一次自动回复。
【免费下载链接】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),仅供参考