ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

手把手搭建微信 AI 机器人:wechat-bot 群聊自动回复完整实操

手把手搭建微信 AI 机器人:wechat-bot 群聊自动回复完整实操 手把手搭建微信 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 把一个微信账号变成在线的 IM agent:白名单群和好友的消息交给 DeepSeek、Ollama、ChatGPT 等 AI 服务处理,回复直接发回群里。你只需改 1 个文件.env,全程约 20 分钟。先看结果:跑起来后长什么样启动后终端会打出二维码,用微信扫码,你会看到:service type: deepseek Start to log in wechat... onScan: https://api.qrserver.com/... Waiting ▄▀▄ ▀▄▀ (终端里的二维码) ▀▄▀ ▄▀▄ WechatEveryDay has logged in Current time: 2026-09-14 20:01:02 Automatic robot chat mode has been activated之后,在白名单群里有人发机器人 帮我看看这个报错时,终端会出现: / question: 帮我看看这个报错消息走的链路一共 5 步:动手前检查环境和要动的东西,逐项核对:Node.js 18:跑node -v,显示 v18 及以上即可克隆仓库:git clone https://gitcode.com/GitHub_Trending/we/wechat-bot唯一要改的文件是.env(由.env.example复制而来),不需要动任何源码要填的配置 4 项:BOT_NAME、ROOM_WHITELIST、ALIAS_WHITELIST、以及所选 AI 服务的 API Key核心依赖:组件版本一句话作用wechaty^1.20.2微信协议封装wechaty-puppet-wechat4u^1.14.14网页版协议实现qrcode-terminal^0.12.0终端打印登录二维码dotenv^16.4.5加载 .env 配置commander^12.0.0命令行参数解析分步实现:从装依赖到填 Key第 1 步:装依赖操作位置:仓库根目录,不修改任何文件。npm i # 可选:把 wb 注册成本机命令 npm link为什么:wechaty 依赖 puppeteer 这类带浏览器内核的包,必须本地装完才能启动机器人。检查点:npm ls wechaty显示 1.20.x 版本号,即安装成功。第 2 步:在 .env 里改白名单文件:.env(先执行cp .env.example .env),只改白名单这一段:BOT_NAME可乐 # 机器人账号的微信昵称,保留 前缀 ROOM_WHITELIST项目交流群,测试群 # 允许 机器人 的群,逗号分隔 ALIAS_WHITELIST张三,李四 # 允许私聊的好友备注或微信名 SERVICE_TYPEdeepseek # 默认服务,Docker 部署时会用到为什么:项目故意加了白名单硬门槛,群名必须和真实群名完全一致,否则一条消息都不会触发回复。检查点:打开.env,确认 4 行已填,群名、昵称无多余空格。第 3 步:填 AI 服务的 Key文件:同一个.env,以 DeepSeek 为例:DEEPSEEK_API_KEY你的key # 在 DeepSeek 开放平台自助申请其他服务同理:换.env里对应服务的 Key 即可,各服务需要的变量名都写在 .env.example 顶部注释里。用本地 Ollama 则不用 Key,只填OLLAMA_URL和OLLAMA_MODEL。检查点:确认DEEPSEEK_API_KEY一行值非空,且和--serve参数选的服务对应。第 4 步:跑启动命令不改文件,直接执行:wb start --serve deepseek没执行npm link的话,等价写法是npm run start -- start --serve deepseek。为什么:--serve显式指定回复服务,跳过键盘交互选服务,服务名决定程序从.env读哪组 Key。检查点:终端打印service type: deepseek,且没有出现请先配置 .env的报错。运行与验证:扫码登录和群聊测试用机器人账号微信扫终端二维码,终端出现has logged in和Automatic robot chat mode has been activated两行,登录完成。在ROOM_WHITELIST里的群发:可乐 帮我总结一下:xxx预期:几秒内机器人在群里回复 AI 生成内容,同时终端打印 / question:开头的一行。注意:只有文本消息会进入回复链路,图片、语音不会触发。没看到预期输出,就跳到下面的踩坑速查。踩坑速查现象原因处理终端不出二维码Node 低于 18,或 puppeteer 下载失败升级 Node 到 18 LTS;设PUPPETEER_SKIP_DOWNLOADtrue重装依赖登录成功但不回复群名或好友不在白名单核对.env里白名单,群名必须完全一致群里 了也不回复BOT_NAME与机器人账号昵称不符BOT_NAME必须以 开头,且等于机器人微信昵称npm i 反复失败npm 源或浏览器内核网络超时切 npm 镜像源后重装模型请求超时终端访问不了云端 API开代理并设置http_proxy/https_proxy微信提示第三方插件警告默认网页协议风控严格换小号、降低使用频率,切换协议请自行评估风险部署上线:Docker 3 条命令前置:.env里必须已设置SERVICE_TYPE,否则容器启动后停在交互选择,无法扫码。docker build -t wechat-bot . docker run -d --rm --name wechat-bot -v $(pwd)/.env:/app/.env wechat-bot docker logs -f wechat-bot # 看日志确认二维码已生成镜像首次构建约 5~10 分钟,日志里出现onScan即容器启动正常。往哪走群聊统计:消息会落到本地 JSONL,wb analyze --room 群名 --stats-only直接出发言排行和消息数,不调用 AI。本地模型:wb start --serve ollama接本机 Ollama,聊天记录不出机器,不产生 API 费用。群内命令:群里发机器人 /统计 群 XX群即可用内置命令,解析逻辑在 src/platforms/wechat/commandRouter.js,照着加自己的命令即可。【免费下载链接】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),仅供参考
返回列表