news 2026/9/15 12:03:19

三行命令跑通微信机器人:AI自动回复、群聊分析的 WeChaty 实践指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
三行命令跑通微信机器人:AI自动回复、群聊分析的 WeChaty 实践指南

三行命令跑通微信机器人:AI自动回复、群聊分析的 WeChaty 实践指南

【免费下载链接】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 的微信机器人:扫码登录后由 AI 自动回复消息,还能做群聊统计和本地微信数据检索,适合想把 IM 值守自动化的人。

先看三个能直接照做的用例

  • 客服岗,手下二十多个客户群:机器人拉进白名单群后,客户 @它 即自动应答,咨询不再积压到第二天。
  • 想摸清群活跃度的团队负责人:一条命令跑完群统计,得到消息量、发言 Top10 和分小时分布,不用手动翻记录。
  • 在意数据外流的开发者:接本地 Ollama 模型做回复(Ollama 是在自己机器上跑大模型的服务,API 接口与 OpenAI 接近),聊天记录只落在本地文件,不出机器。

确认场景对得上,下面进入实操。从干净环境到扫码登录,一共三步。

三行命令启动微信机器人:两条安装加一次扫码

  1. 克隆仓库并装依赖(需要 Node.js v18.0 以上,建议用 LTS 版本):
git clone https://gitcode.com/GitHub_Trending/we/wechat-bot cd wechat-bot && npm i && npm link

npm link会把wb注册成本机命令;不想注册的话,后文的wb ...都可以换成npm run start -- ...

  1. 生成配置文件,只改四行关键的:
cp .env.example .env
BOT_NAME='@机器人账号微信昵称' # 群聊回复的触发条件,即被 @ 的对象 ALIAS_WHITELIST='好友备注1,备注2' # 允许自动回复的私聊联系人 ROOM_WHITELIST='群名1,群名2' # 允许自动回复的群聊 WECHAT_STORE_MESSAGES='true' # 把消息落到本地,供后续统计
  1. 启动并扫码:
wb start --serve deepseek

启动后终端大致输出:

$ wb start --serve deepseek [QR] 请用微信扫描二维码 [wechat-bot] 登录成功,消息将写入 .data/wechat/messages.jsonl

登录后白名单内的私聊、群 @ 会自动回复,同时所有消息追加进 messages.jsonl,这是后面分析功能的原料。

功能拆解:从自动回复到群聊分析

白名单制自动回复:只在被 @ 时开口

触发规则刻意收得很紧:私聊要求联系人备注在ALIAS_WHITELIST;群聊要求群名在ROOM_WHITELIST且消息里 @ 了BOT_NAME;非文本消息不进回复链路。这样机器人大群里不会每条都接话。路由逻辑见 src/platforms/wechat/commandRouter.js。

12 个可切换的大模型服务:挑一个就能跑

回复能力由--serve参数决定,改启动参数即可换模型,不用改代码。常用项对比:

服务费用特点适合谁
deepseek低价/有免费额度响应快、稳定日常问答
ChatGPT付费,可能需代理综合能力全面复杂问题
ollama免费(本地)API 接近 OpenAI,数据不出内网隐私敏感场景
pi本地命令可当项目 agent,带工具能力想让机器人执行任务的
dify自部署/付费挂自己的工作流和知识库定制流程

其余还有 doubao、tongyi、Kimi、Xunfei、deepseek-free、302AI、claude。把 Pi 作为 agent 的详细玩法见 docs/pi-im-agent.md。

本地微信数据与群聊统计:不调 AI 也能用

不想调大模型时,用本地统计模式直接读 JSONL:

wb analyze --room "技术交流群" --stats-only

输出消息总数、Top10 发言人、分小时分布。想加一层深度分析(主要话题、互动模式、风险提示),再追加--serve <服务名>即可,统计实现见 src/analysis/wechatAnalyzer.js。另有wb wx系列命令走 OpenCLI 的 wx-cli 读本机微信缓存:会话、历史、群成员、朋友圈全文搜索,不依赖 Web 协议。

飞书通道:登录、收发、搜索

飞书通过 lark-cli 接入,支持登录、读消息、搜消息、发消息:

wb lark login --no-wait wb lark messages --chat-id oc_xxx wb lark send --chat-id oc_xxx --text "hello"

目前是 CLI 控制通道,还不是实时事件通道,飞书消息暂不会自动推给 AI 回复。

进阶玩法:两个让机器人更可控的配置

默认规则是"白名单群里每条被 @ 的消息都回",嫌宽的话,下面两处配置可以收紧范围。

改一行 AUTO_REPLY_PREFIX,给回复加口令

AUTO_REPLY_PREFIX='/ask'

效果:群聊消息去掉 @ 后必须以/ask开头、私聊直接以/ask开头,才触发回复。适合用大号的人——机器照常收消息,但你不点名它就不说话。

换 Ollama,让对话全程留在本地

OLLAMA_URL='http://127.0.0.1:11434/api/chat' OLLAMA_MODEL='qwen2.5:7b'

启动参数换成wb start --serve ollama,回复全部走本地模型,配合消息本地落盘,链路里没有任何外部调用。

配置层面讲完了,下面收一社区里出现频率最高的失败原因。

避坑提示:五个最常见的失败原因

  • 启动直接报错:多半是 Node 版本低于 18,用node -v检查后升级到 18+ LTS 重装依赖。
  • npm i卡在 puppeteer 下载:设环境变量PUPPETEER_SKIP_DOWNLOAD=true再装;网络差就先切国内 npm 镜像源。
  • 登录正常但不回消息:依次核对 BOT_NAME 是否带 @ 格式、群名/好友备注是否进了白名单、群里是否真的 @ 了机器人;配过AUTO_REPLY_PREFIX的,不带前缀也不会触发。
  • 云端模型请求失败:确认 API Key、余额、网络可达性,先跑node ./cli.js --help验证 CLI 本身正常,再查服务侧配置。
  • 微信收到外挂警告:默认用的是免费 web 协议,风控严格。换 pad 协议或企业版协议,用专门的副号并收窄白名单,不要拿主号试。

首次启动别贪多——最小配置先把一条私聊回复跑通,再逐步加群白名单和分析功能。先跑起来,再谈调优:终端出现二维码的那一刻,这个机器人就已经离上线只隔一次扫码了。

【免费下载链接】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),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/15 12:02:12

如何把 Apache APISIX 配置为 Decoupled 模式分离控制面与数据面?

如何把 Apache APISIX 配置为 Decoupled 模式分离控制面与数据面&#xff1f; 【免费下载链接】apisix The Cloud-Native API Gateway 项目地址: https://gitcode.com/GitHub_Trending/ap/apisix 在 Apache APISIX 3.0.0 中引入了多种部署模式&#xff0c;其中 Decouple…

作者头像 李华
网站建设 2026/9/15 12:01:35

C++类型转换详解:四种标准运算符与工程实践

1. C类型转换的本质与分类在C编程中&#xff0c;类型转换是最基础也最容易踩坑的特性之一。与C语言简单粗暴的类型转换不同&#xff0c;C提供了四种标准类型转换运算符&#xff1a;static_cast、dynamic_cast、const_cast和reinterpret_cast。每种转换都有其特定用途和限制条件…

作者头像 李华