ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

30分钟跑通微信群聊AI自动回复机器人:从零配置启动到Docker部署

30分钟跑通微信群聊AI自动回复机器人:从零配置启动到Docker部署 30分钟跑通微信群聊AI自动回复机器人从零配置启动到Docker部署【免费下载链接】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 让机器人对接大模型自动回复白名单内的群聊消息30 分钟跑通本地启动。技术栈与消息链路全景技术版本职责替代选项与取舍Wechaty^1.20.2微信机器人框架微信协议封装负责扫码登录与收发消息itchat老方案已停止维护wechaty-puppet-wechat4u^1.14.14Puppet底层协议驱动决定机器人通过哪种通道连接微信padlocal稳定性更好但需付费购买commander^12.0.0CLI 命令解析提供 start、analyze 等入口yargs能力相当生态偏小dotenv^16.4.5加载 .env 环境变量config功能更全对小项目偏重qrcode-terminal^0.12.0在终端直接绘制登录二维码qrcode输出图片文件终端场景不便axios / openai^1.6.8 / ^4.52.0调用各模型服务的 HTTP 客户端原生 fetch少一个依赖但各模型协议需自行适配消息走单条链路先写入本地 JSONL 消息库每行一条 JSON 记录只追加再经白名单过滤通过的消息交给选定的模型服务回复发回原群聊或私聊。本地消息库同时是群聊统计和 AI 深度分析的数据源形成「捕获 → 过滤 → 回复 → 分析」闭环。零配置启动步骤从克隆到扫码登录# 环境检查Node 需 v18并克隆代码 node -v git clone https://gitcode.com/GitHub_Trending/we/wechat-bot cd wechat-bot# 安装依赖国内先切镜像并生成配置文件 npm config set registry https://registry.npmmirror.com npm i cp .env.example .env# 启动机器人终端出现二维码后用微信扫码登录 npm run start -- --serve ollama⚠️ 两个高频坑BOT_NAME 必须带 符号如 可乐漏掉则群聊 触发永远不生效npm i 卡在 puppeteer 下载时设置 PUPPETEER_SKIP_DOWNLOADtrue 重装即可。消息处理链路白名单过滤到模型回复输入是微信的每条消息事件无论是否回复都会先落入本地消息库。处理环节是白名单过滤群聊要求群名在 ROOM_WHITELIST 且消息 了机器人私聊要求发送者在 ALIAS_WHITELIST非文本消息和机器人自己的消息直接丢弃。输出是模型回复文本交给 --serve 指定的服务生成答案回发到原会话以 / 开头的消息则走命令路由用于群聊统计或分析。// defaultMessage 判定链简化骨架 if (!isText || isBotSelf) return // 非文本或机器人自己不处理 if (isRoom !roomWhiteList.includes(roomName)) return if (!isRoom !aliasWhiteList.includes(sender)) return await (room || contact).say(await getServe(serve)(question))完整逻辑见消息处理模块消息捕获在消息存储。环境变量配置速查参数含义示例值不填的默认行为BOT_NAME机器人的微信昵称群聊 触发标识可乐群聊 触发不生效ROOM_WHITELIST允许自动回复的群名逗号分隔产品群,内测群群聊只记录不回复ALIAS_WHITELIST允许私聊回复的好友昵称或备注张三,李四私聊不自动回复AUTO_REPLY_PREFIX消息需以此前缀开头才回复/问空串无前缀限制WECHAT_STORE_MESSAGES是否把消息写入本地消息库truetrue默认存储WECHAT_DATA_DIR消息库目录.data/wechat.data/wechatOLLAMA_URL / OLLAMA_MODEL本地 Ollama 服务地址与模型名http://127.0.0.1:11434/api/chat启动时提示缺配置直接退出PI_BINPi agent 可执行命令pi用 npx 自动拉起冷启动更慢易错项一行对比正确写法BOT_NAME可乐错误写法BOT_NAME可乐少了 群聊消息里 的字符串永远匹配不上。自动回复不生效排错速查问题一扫码登录后不回复症状群里或私聊发消息机器人完全无响应原因BOT_NAME 与实际昵称不一致或群名、好友备注不在白名单解法核对 .env 中 BOT_NAME 为 微信昵称群名与 ROOM_WHITELIST 完全一致且群聊消息确实 了机器人问题二白名单配置正确仍不回复症状 机器人后依然没有响应原因消息不是文本类型或设置了 AUTO_REPLY_PREFIX 但消息不匹配解法改发纯文本消息临时把 AUTO_REPLY_PREFIX 设为空串再验证问题三npm i 安装失败症状卡在 puppeteer 或 chromium 下载报错原因浏览器二进制下载超时解法设置 PUPPETEER_SKIP_DOWNLOADtrue 后重装依赖问题四云端模型不回复症状 后超时控制台出现网络错误原因API Key 未填或本机访问不了模型服务解法核对 .env 中对应服务的 Key终端设置 https_proxy 后再跑 node ./cli.js --help 验证问题五/统计 命令无数据症状群里发 /统计 群 群名显示消息数为 0原因该命令只读本地消息库还没有捕获过该群的消息解法先在群里正常发几条消息再触发统计进阶路径统计、深度分析与本地数据群聊数据统计与 AI 深度分析运行wb analyze --room 群名 --serve pi微信内置 /分析 命令的入口逻辑见命令路由。访问本机微信缓存会话、群成员、朋友圈运行wb wx init wb wx stats。把 Pi 接成单轮非交互 agent参考Pi Agent 使用说明等价命令wb agent --im wechat --agent pi。Docker 一行命令上线与云选型方案配置适合场景轻量服务器 1C2GUbuntu 20.04预装 Docker个人试用成本最低推荐云 ECS 2C4G固定带宽数据盘可挂载长期 7x24 运行、需备份消息库本地常开机器现有 PC 或树莓派零成本但断电断网即停服# .env 中写入 SERVICE_TYPEollama 跳过交互选择再构建并运行 docker build -t wechat-bot . docker run -d --name wechat-bot -v $(pwd)/.env:/app/.env -v $(pwd)/.data:/app/.data wechat-bot⚠️ 默认 wechat4u 是微信网页协议近期风控较严账号可能收到外挂警告重要主号不建议使用请配专用号。能力边界与下一步自动回复仅覆盖文本消息和白名单范围飞书通道只读不实时网页协议存在风控风险。建议下一步先对一个群跑wb analyze --stats-only确认消息捕获正常再接入云端模型。【免费下载链接】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),仅供参考
返回列表