news 2026/9/15 18:20:25

wechat-bot指南:3步搭建支持AI自动回复的微信机器人

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
wechat-bot指南:3步搭建支持AI自动回复的微信机器人

wechat-bot指南:3步搭建支持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-bot

wechat-bot 是一个基于 WeChaty 框架的多 AI 自动回复微信机器人。微信扫码登录后,它把白名单内好友和群的消息交给 DeepSeek、Ollama、Claude、Pi 等服务处理并自动回发,同时提供聊天记录本地统计分析和本地微信数据访问。适合需要 7×24 小时群问答、客服响应或个人助手的开发者与运营人员。

📦 项目能力一览

  • 微信扫码登录:基于 WeChaty 框架,扫码后接收微信消息,回复沿原通道发回,私聊群聊都支持
  • 多服务 AI 自动回复:--serve提供 12 个选项(ChatGPT、Claude、Kimi、豆包、通义、讯飞、DeepSeek、Ollama、Pi、dify、302AI、deepseek-free),启动时随意切换
  • 回复范围控制:好友备注与群名双白名单、@触发、前缀匹配三层规则,避免群内消息全部触发回复
  • 本地数据存储与分析:消息落盘为本地 JSONL,可做群聊统计、好友互动分析和 AI 深度分析,技术社群可用来归档高频问题,客服可用来复盘咨询数据
  • 本地微信数据访问:通过 OpenCLI 的 wx-cli 读取最近会话、群成员、朋友圈缓存(wb wx系列命令)
  • 飞书 IM 通道:CLI 方式登录、读消息、搜消息、发消息(实时自动回复尚未接入)

🚀 第一次运行

1. 克隆安装

git clone https://gitcode.com/GitHub_Trending/we/wechat-bot cd wechat-bot npm i npm link

要求 Node.js ≥ 18,npm linkwb注册为全局命令;不想注册时,后文所有wb命令都可换成npm run start --

2. 最小配置

cp .env.example .env
BOT_NAME='@你的微信昵称' ALIAS_WHITELIST='好友备注1,好友备注2' ROOM_WHITELIST='群名1,群名2' SERVICE_TYPE='deepseek' WECHAT_STORE_MESSAGES='true'

BOT_NAME用于群聊 @ 匹配,@要保留;两个白名单变量决定哪些私聊和群能触发 AI 自动回复;SERVICE_TYPE是默认回复服务,该服务的 API Key(如DEEPSEEK_API_KEY)也在同一文件填写。所有变量统一由 src/config/env.js 加载。

3. 启动并扫码

wb start --serve deepseek

终端出现二维码,用微信扫码即完成登录,机器人开始监听白名单内的好友与群,消息逐条追加到.data/wechat/messages.jsonl,可以用cat直接查看。若要改用 Pi agent 回复,执行wb agent --im wechat --agent pi,与npm run agent等价。

🔍 按场景走查核心功能

白名单与@触发配置

消息链路是:微信扫码登录 → WeChaty 收消息 → 本地 JSONL 存储 → AI 服务处理 → 微信发回。触发条件有明确规则:

  • 私聊:发送者的备注或昵称必须在ALIAS_WHITELIST
  • 群聊:群名必须在ROOM_WHITELIST中,且消息里 @ 了BOT_NAME
  • AUTO_REPLY_PREFIX:文本匹配到指定前缀才触发回复,留空则规则不生效,适合用主账号但不想每次被 @ 都打扰的场景
  • 非文本消息不进入回复链路

聊天内还有两个内置命令,默认仅对白名单联系人生效:

/统计 群 XX群1 /分析 好友 好友备注

/统计只读本地 JSONL、不调用 AI,/分析会把最近消息样本交给当前 serve 服务。触发与路由逻辑在 src/platforms/wechat/commandRouter.js 和 src/wechaty/sendMessage.js。

DeepSeek 与 Ollama 服务配置

--serve决定回复服务,不传时回落到.env里的SERVICE_TYPE。12 个可选服务及所需配置:

服务定位必填配置
deepseek云端 API,成本低、上手快DEEPSEEK_API_KEY
ollama本地模型,无需联网,数据不出机器OLLAMA_URL、OLLAMA_MODEL
ChatGPT / Claude / Kimi / 豆包 / 通义 / 讯飞 / dify / 302AI / deepseek-free云端 API 类,各自独立 Key如 OPENAI_API_KEY、CLAUDE_API_KEY
pi本地 agent 模式,微信作为对外通信渠道PI_BIN、PI_AGENT_ARGS

DeepSeek 是配置成本最低的一条路径:

SERVICE_TYPE='deepseek' DEEPSEEK_API_KEY='你的key'

之后wb start --serve deepseek即可启动。该模块用 openai 兼容客户端实现,需要中转地址时加DEEPSEEK_URL,代码在 src/deepseek/。

Ollama 本地部署适合隐私敏感场景:

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

要求本机已安装 Ollama 并拉取对应模型,其 API 与 OpenAI 接近、无需 Key,实现见 src/ollama/。

本地聊天数据分析命令

wb wx init wb wx sessions wb wx history wb wx stats

wb wx init初始化本地微信数据访问,再用sessions/history查最近会话与记录,members/stats查群成员与聊天统计;朋友圈缓存用wb wx sns-feedwb wx sns-search。这些命令透传到 OpenCLI 的 wx-cli。

深度分析:

wb analyze --room "群名" --stats-only wb analyze --friend "好友备注" --serve ollama

第一条只做本地统计、不调用 AI;加--serve则交给指定服务生成深度分析,隐私敏感时建议指向本地模型。统计逻辑在 src/analysis/wechatAnalyzer.js,可用npm run test:analysis单独验证。社群运营可定期跑群活跃度统计,客服可复盘好友互动中的高频问题。

飞书登录与消息发送命令

wb lark login --no-wait wb lark status wb lark send --chat-id oc_xxx --text "你好"

login生成 device-flow 授权链接完成授权,status查看授权状态,messages/search按会话读取和检索消息。当前定位需要说清:飞书是 CLI 控制通道,实时事件自动回复尚未接入,飞书消息不会自动推给 AI 回复,实现位于 src/adapters/lark.js。

扩展与二次开发

  • 新增 AI 服务:项目用 provider 机制,每个服务一个目录(如 src/deepseek/、src/kimi/),对外导出一个getXXXReply(prompt)函数。新服务若是 OpenAI 兼容接口,直接复用 openai 客户端、改 baseURL 和 Key 即可;完成后在 src/index.js 的serveList注册并补上 Key 校验。
  • 定制回复行为:src/wechaty/sendMessage.js 控制消息怎么发,src/platforms/wechat/commandRouter.js 控制触发路由,想改「只有 @ 才回复」这类规则就从这里入手。
  • Pi 常驻 agent:配置PI_BIN='pi'PI_AGENT_ARGS='--print --no-session',以wb agent --im wechat --agent pi启动;本机没有全局 pi 时,项目会通过npx --yes @earendil-works/pi-coding-agent自动调起,详见 docs/pi-im-agent.md。
  • 外部工具透传:src/adapters/ 统一封装 opencli、pi、lark-cli 三个外部依赖,wb opencli -- ...可直传底层命令。

🐳 部署与运行建议

本地运行

推荐 LTS 版 Node.js;依赖损坏时删除node_modules和 lock 文件后重装;调用云端服务前确认终端代理可用,OpenAI、Claude 等需要能直连对应服务。

Docker 容器

docker build -t wechat-bot . docker run -d --name wechat-bot -v $(pwd)/.env:/app/.env wechat-bot

仓库同时提供DockerfileDockerfile.alpine.env通过挂载注入容器,Key 不需要打进镜像。

生产环境

  • 默认微信 Web 协议存在风控与封号风险,长期运行建议专用账号,必要时切换更稳定的协议
  • 配置进程监控与自动重启,做日志轮转,定期备份.env.data消息数据
  • 定期拉取最新代码并更新依赖

性能要点:隐私敏感内容改用 Ollama 本地模型,消息内容不出机器;云端模型按成本选型,聚合平台与免费渠道可作替代;监控 API 用量与余额,避免高峰时段超额。安全要点:白名单范围保持最小化,不放开全部群;Key 不硬编码进代码,统一走.env;定期更新依赖保持安全补丁。

快速排障

  • 扫码无二维码或登录失败→ 检查 Node.js 是否 ≥ 18、依赖是否装全(puppeteer 下载失败可设PUPPETEER_SKIP_DOWNLOAD=true重试)、终端网络能否访问微信网页版。
  • 群里 @ 后不自动回复→ 依次核对:BOT_NAME是否带@前缀且与账号昵称一致、群名是否在ROOM_WHITELIST、当前--serve服务的 API Key 是否已配置、消息是否为文本。
  • 云端服务报错或不回复→ 检查 API Key、余额、模型名,以及终端代理能否访问对应服务。

项目的回复链路是「收消息 → 白名单校验 → provider 处理 → 发回」,逻辑直白,跑通一个服务后换服务或加新服务基本只是改 env 加一个小模块。建议顺序是:先用wb analyze --stats-only跑通本地统计,再接云端服务做自动回复,隐私要求高时切到 Ollama 本地模型;有封号风险的场景,优先专用账号加最小化白名单。

【免费下载链接】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 18:19:56

3Blue1Brown完整数学动画源码:快速跑通你的第一个Manim场景

3Blue1Brown完整数学动画源码:快速跑通你的第一个Manim场景 【免费下载链接】videos Code for the manim-generated scenes used in 3blue1brown videos 项目地址: https://gitcode.com/GitHub_Trending/vi/videos videos 仓库是 3Blue1Brown 频道数学视频背…

作者头像 李华
网站建设 2026/9/15 18:19:52

OpenCart测试环境工程化:基于WSL与Shell的MySQL备份校验实践

做OpenCart插件和主题定制开发这半年,我最大的感受是:业务功能写起来不难,真正让人头疼的是“环境”。尤其测试环境,经常要回滚数据、重建订单、反复验证插件在不同状态下的表现,手动备份和恢复 MySQL 数据库是又慢又容…

作者头像 李华
网站建设 2026/9/15 18:19:34

Oracle ASM rebalance实现数据库存储在线迁移实战详解

手头正好接到一个存储替换的活:老的存储阵列要下电退役,上面挂的ASM磁盘组全是Oracle数据文件,业务还不能长时间停。按照常规思路,要么用expdp导出导入,要么用存储层的LUN复制做冷迁移,但前者时间窗口根本不…

作者头像 李华
网站建设 2026/9/15 18:17:51

无锡做网站优化哪家好?5个坑点揭秘最佳实践

无锡做网站优化哪家好?5个坑点揭秘最佳实践 在无锡找建站公司,最怕的不是功能做不完,而是被坑高价。很多老板花大几万,网站上线后排名还是零,问就是“SEO需要时间”,这种套路太常见。真正的行业最佳实践,不是看PPT吹牛,而是看技术底子实不实。…

作者头像 李华