wechat-bot 实战:微信 AI 自动回复、消息存档与关键词监控一次跑通
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-botwechat-bot 是一个基于 Wechaty 的多平台 IM AI Agent微信扫码登录后白名单内的群聊消息和好友私聊会交给 DeepSeek、ChatGPT、Ollama、Claude 等模型自动回复同时所有文本消息落盘到本地 JSONL随时可按关键词、群名、时间范围检索。跑通它你收获的是三件东西机器人只在白名单场景开口被才回、私聊白名单才回不会逢消息必答每条收进来的文本都追加写进本地存档聊天流可以像日志一样回放群聊活跃度、高频发言人、潜水成员一条命令出统计不花一个 token装环境从 clone 到依赖装完先确认 Node 版本低于 v18 会直接报错建议用 LTSnode -v git clone https://gitcode.com/GitHub_Trending/we/wechat-bot cd wechat-bot npm installnpm install卡住时通常是 puppeteer 的浏览器下载拉不下来。两个解法二选一切国内镜像源重装npm config set registry https://registry.npmmirror.com后再装或者设PUPPETEER_SKIP_DOWNLOADtrue跳过浏览器下载。依赖装完顺手执行npm link把wb注册成本机命令。没执行也没关系后文所有wb ...都能换成npm run start -- ...。配 .env三个白名单字段决定谁能让它开口cp .env.example .env.env里真正要盯紧的是三个字段任何一个没对上机器人都会装死BOT_NAME你的机器人昵称 ROOM_WHITELIST群名1,群名2 ALIAS_WHITELIST好友备注1,好友备注2BOT_NAME机器人账号的微信昵称前缀必须保留。群聊里只有被到它才会进回复链路。ROOM_WHITELIST允许回复的群名逗号分隔和微信群真实名称必须一字不差。建议直接从微信聊天窗口顶栏复制。ALIAS_WHITELIST允许私聊触发回复的好友备注或昵称多个同样用逗号分隔。可选AUTO_REPLY_PREFIX填了之后消息还得匹配指定前缀才回复。用大号、不想被每次都唤醒时很实用。给自动回复选大脑项目内置 ChatGPT、doubao、deepseek、Kimi、Xunfei、dify、ollama、tongyi、claude、302AI、deepseek-free、pi 十余种服务在.env里填对应服务的 Key 即可启动时用--serve指定用哪个。不想逐个平台申请 Key也可以接第三方 API 聚合平台统一一个 Key 调多个模型。配好之后直接启动终端会打印二维码手机微信扫码即登录wb start --serve deepseek扫码成功后机器人就在线了。去白名单群里它一下或在白名单好友的私聊里发句话验证链路是否通了。一条消息的完整路径存档发生在触发判断之前整个处理链路四个环节对应四处源码读这张表比通读代码更快建立心智模型环节做了什么源码位置接收解析Wechaty 拆出发送人、群名、文本内容src/platforms/wechat/bot.js本地存档每条记录追加写进.data/wechat/messages.jsonlsrc/platforms/wechat/messageStore.js触发判断群白名单 被或私聊白名单才放行src/platforms/wechat/commandRouter.jsAI 回复请求--serve指定的模型服务把结果发回会话src/wechaty/sendMessage.js这里有个容易被忽略的细节存档在触发判断之前执行。也就是说哪怕这条消息不满足回复条件它照样会被写进messages.jsonl。后面所有检索和群统计靠的都是这份无差别留痕。群聊分析与存档检索本地统计不花 token统计走纯本地逻辑不调模型wb analyze --room 群名 --stats-only输出包含消息总数、文本消息数、平均长度、高频发言成员。想要大家在聊什么这类结论把--stats-only换成--serve指定服务它会取最近消息样本交给模型总结wb analyze --room 群名 --serve ollama检索存档更直接。analyze 内部读的就是messages.jsonl支持按关键词、群名、起止时间过滤wb wx search还能检索本机微信缓存的数据。写周报时把某个群近七天的记录捞出来比翻微信记录快得多。群内还有两个内置命令默认只在白名单内生效/统计 群 XX群1 /分析 好友 好友备注/统计只读本地 JSONL/分析会把最近消息样本发给当前服务。处理隐私聊天时优先选本地模型或本地 Pi 配置。不回复了怎么查按症状对号入座四个最常见的症状按这个表排查症状最可能的原因先做这个群里它始终没反应BOT_NAME丢了或ROOM_WHITELIST群名差一个字从微信顶栏复制真实群名原样替换并确认的是机器人账号本身日志无报错AI 就是不回话API Key 没填、欠费或两个相似字段填反讯飞用户高发单独跑对应服务测试脚本如node src/deepseek/__test__.js通了再启动机器人npm install中途失败puppeteer 浏览器依赖拉不下来或 Node 低于 v18切镜像源重装必要时设PUPPETEER_SKIP_DOWNLOADtrueNode 升到 LTS微信弹外挂警告默认免费 web 协议风控严格近期平台审查更严只上测试账号白名单压到最小正式使用先读 README 的协议切换说明别急着买长期协议排错顺序建议从第一行往下走白名单问题占大头其次才是 Key 和网络。下一步先摸数据再上模型先跑一次--stats-only看看自家群的活跃度分布再选一个模型服务做深度分析。如果你不想用模型 API 当大脑而是想让本地 Pi 作为 agent 接住微信消息项目里有一份专门的使用说明Pi Agent IM 接入文档链路是微信收消息 → 本地 JSONL 捕获 → 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),仅供参考