让微信自动回复: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 是一个基于 WeChaty 框架的微信机器人项目,接入 ChatGPT、DeepSeek、Kimi 等 12 种 AI 服务。扫码登录微信后,它可以自动回复白名单好友和群聊的消息,还能查询本地微信数据、分析群聊活跃度。
什么时候你需要一个微信机器人
先说几个真实会遇到的场景,对号入座:
- 群里总有人问重复问题。项目群、答疑群里,同一个配置问题一天被问五遍。让机器人在白名单群里被 @ 时自动接话,你腾出手干正事。
- 群太多,顾不上谁活跃。几十个群每天滚动几百条消息,你想知道哪个群最活跃、谁是高频发言者——它能把本地记录的聊天记录拉出来做统计和深度分析。
- 海外模型用不了、不想用。OpenAI 的 API 要海外信用卡,还要稳定的网络环境。它同时支持 Ollama(本地跑的模型,不依赖网络)和多家有免费额度的国内服务,门槛低很多。
只要命中其中一条,往下走四步就能跑起来。
微信机器人部署步骤:4步跑起来
环境要求:Node.js v18.0 或更高版本,建议用 LTS 版,版本太低会直接报错。
第 1 步:获取项目代码
git clone https://gitcode.com/GitHub_Trending/we/wechat-bot cd wechat-bot第 2 步:安装依赖。大陆网络环境下如果下载慢或卡住,可以先切到淘宝镜像源(npm config set registry https://registry.npmmirror.com)再执行:
npm i第 3 步:准备配置文件,把示例配置复制成实际使用的.env,再填入你的白名单和 API 密钥:
cp .env.example .env最小可用的几项配置:
BOT_NAME='@你的微信昵称' ALIAS_WHITELIST='好友备注1,好友备注2' ROOM_WHITELIST='群名1,群名2'第 4 步:启动并扫码。可选执行npm link把wb注册成本机命令(不执行的话,所有wb命令都可以用npm run start --替代):
npm link wb agent --im wechat --agent pi终端出现二维码后,用微信扫一下,登录完成。之后收到的白名单消息会走这条链路:Wechaty 收消息 → 本地存储 → AI 服务生成回复 → 发回微信。
能力全景:按使用频率分组
每天都会用的:自动回复链路
私聊只有ALIAS_WHITELIST里的好友会触发;群聊要求群名在ROOM_WHITELIST中,且消息里 @ 了BOT_NAME。非文本消息(图片、语音)不会进入回复链路,这一点在配置前要知道。回复"大脑"用--serve参数切换,当前共 12 种可选:
wb start --serve ollama wb start --serve deepseek wb start --serve ChatGPT12 种服务包括 ChatGPT、doubao(豆包)、deepseek、Kimi、Xunfei(科大讯飞)、deepseek-free、302AI、dify、ollama、tongyi(通义)、claude、pi。免费额度方面,讯飞每个模型有 200 万免费 token,豆包每个模型有 50 万免费 token;Ollama 则完全在本地跑,OLLAMA_URL指向http://127.0.0.1:11434/api/chat即可。
不花一分钱 token 的:本地数据查询
通过wb wx ...命令(底层透传 OpenCLI 的wx-cli)访问本机微信缓存,不需要配置任何大模型:
wb wx sessions # 最近会话 wb wx history # 聊天记录 wb wx members # 群成员 wb wx sns-feed # 朋友圈缓存 wb wx stats # 聊天统计聊天里直接下命令
白名单内的聊天窗口可以直接发指令:/统计 群 群名只读本地记录出统计结果,不调 AI;/分析 好友 好友备注会取最近消息样本交给当前模型做深度分析。涉及隐私聊天时,建议用本地模型或本地 Pi 配置。
延伸场景
飞书也接入了 CLI 通道:wb lark login、wb lark messages、wb lark search、wb lark send支持登录、读、搜、发消息,但暂不做实时自动回复。Docker 部署方式见 Dockerfile。
白名单配置方法:.env 关键项
自动回复不是"来者不拒",而是靠.env精确控制,这也是很多人"跑了却没回复"的根源:
| 配置项 | 作用 | 注意点 |
|---|---|---|
BOT_NAME | 机器人在群里的称呼 | 必须带@,如@可乐,群聊靠它识别 @ |
ALIAS_WHITELIST | 私聊白名单 | 填好友备注或昵称,英文逗号分隔 |
ROOM_WHITELIST | 群聊白名单 | 只回复列表内的群 |
AUTO_REPLY_PREFIX | 前缀触发(可选) | 配了之后,消息需匹配该前缀才回复,适合"大号不想被每次 @ 都触发"的场景 |
WECHAT_DATA_DIR | 消息落盘目录 | 默认.data/wechat,消息逐条追加到messages.jsonl |
WECHAT_STORE_MESSAGES | 是否记录消息 | 设为false可停止存储 |
接入 Pi 作为 agent 时还有PI_BIN和PI_AGENT_ARGS(默认--print --no-session),本机没有pi命令时把PI_BIN留空,项目会改用npx临时调起。
想改行为逻辑时,优先看这两处源码:消息分发在 src/wechaty/sendMessage.js,聊天内置命令的解析在 src/platforms/wechat/commandRouter.js。把微信接成 Pi 的完整说明在 docs/pi-im-agent.md。
常见问题与避坑
现象:启动后扫码成功,但发消息没有回复解法:逐项核对三件事——BOT_NAME是否带了@、私聊对象/群名是否在白名单里、群消息是否 @ 了机器人。启动时如果缺配置,终端会明确提示缺哪个变量(比如OPENAI_API_KEY),照提示补上即可。
现象:npm i卡在 puppeteer 下载解法:设置环境变量跳过浏览器下载,然后重装依赖:
export PUPPETEER_SKIP_DOWNLOAD='true'现象:云端模型请求超时、调不通解法:确认三要素——API Key 正确、账户有余额、终端网络能访问该服务(必要时给终端单独配代理)。不想折腾网络,就换本地 Ollama 或有免费额度的国内服务。
现象:收到微信"外挂警告",担心封号解法:项目默认走免费的 Web 协议,微信目前审查严格,这是已知的最大风险。建议只用能接受风险的账号、少频繁登录登出、收紧白名单控制回复范围,或按 README.md 提示切换更稳定的协议。
现象:讯飞配了 key 还是不回复解法:讯飞需要三个变量同时填对——XUNFEI_APP_ID、XUNFEI_API_KEY、XUNFEI_API_SECRET,填反是最常见的坑。
验证环节可以跑npm run test:analysis检查本地分析模块,用node ./cli.js --help确认 CLI 正常。
写在最后
wechat-bot 的定位很直接:一条命令把微信接上 AI,自动回复、群聊分析、本地数据查询一次到位。适合想让机器人替自己盯群、答问、做统计的个人用户,以及想在此基础上扩展业务的开发者。更多细节和最新能力,直接读项目内的 README.md 和 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),仅供参考