wechat-bot
WeChat Bot 是一个基于 Wechaty 和多种 AI 服务(如 ChatGPT、Kimi、通义千问等)打造的微信机器人,可以自动回复消息、管理微信群和好友,还能检测僵尸粉。它操作简单,只需四个步骤就能快速上手,适合需要自动化处理微信消息的用户。无论是开发者、研究人员还是普通用户,都可以通过它提升效率。工具支持多种 AI 模型接入,具备良好的扩展性,能够灵活适配不同需求。不过需要注意的是,由于微信对协议的审查,使用时需谨慎,建议选择更稳定的连接方式。
使用场景
小明是一家电商公司的客服主管,负责管理公司微信客户群。每天需要处理大量客户咨询,包括产品问题、订单状态查询和售后反馈,同时还要定期清理僵尸粉,维护社群质量。
没有 wechat-bot 时
- 客服人员需要手动逐条回复客户消息,效率低下,容易出错
- 难以及时发现并移除长期不活跃的僵尸粉,影响社群氛围
- 没有统一的回复模板,导致回复内容不一致,影响专业形象
- 客服工作量大,加班频繁,员工流失率高
使用 wechat-bot 后
- 通过自动回复功能,快速处理常见问题,提升响应速度和准确性
- 系统自动检测并标记僵尸粉,便于人工清理,优化社群环境
- 支持预设回复模板,确保回复内容规范统一,提升品牌形象
- 减轻人工负担,客服可专注于复杂问题,提高整体工作效率
wechat-bot 有效提升了客服团队的工作效率与服务质量,降低了运营成本。
运行环境要求
- Linux
- macOS
- Windows
未说明
未说明

快速开始
微信机器人
一个 基于 chatgpt + wechaty 的微信机器人
可以用来帮助你自动回复微信消息,或者管理微信群/好友.
简单,好用,2分钟(4 个步骤) 就能玩起来了。🌸 如果对您有所帮助,请点个 Star ⭐️ 支持一下。
贡献者们
欢迎大家提交 PR 接入更多的 ai 服务(比如扣子等...),积极贡献更好的功能实现,让 wechat-bot 变得更强!
注意:最近微信对此审查变得非常严格,使用默认的协议有微信警告或者封号的风险,请大家谨慎使用,关于 padlocal ,这个协议的作者没有继续维护,大家可以自行切换更稳定的协议。

使用前需要配置的 AI 服务(目前支持 9 种,可任选其一)
deepseek
获取自己的
api key,地址戳这里 👉🏻 :deepseek 开放平台
将获取到的api key填入.evn文件中的DEEPSEEK_FREE_TOKEN中。ChatGPT
先获取自己的
api key,地址戳这里 👉🏻 :创建你的 api key注意:这个是需要去付费购买的,很多人过来问为什么请求不通,请确保终端走了代理,并且付费购买了它的服务
# 执行下面命令,拷贝一份 .env.example 文件为 .env cp .env.example .env # 填写完善 .env 文件中的内容 OPENAI_API_KEY='你的key'豆包
豆包最新的Doubao-Seed-1.6模型,支持输入图片和深度思考,而且每个模型都有 50 万的免费tokens。在火山引擎注册登录账号,可以选择最新的Doubao-Seed-1.6-thinking模型,选择“API接入” -> “获取 API Key”。
# 拷贝 .env.example 文件为 .env cp .env.example .env # 修改 .env 文件中的内容 DOUBAO_API_KEY='你的key' # 简单测试API是否可用 node src/doubao/__test__.js通义千问
通义千问是阿里云提供的 AI 服务,获取到你的 api key 之后, 填写到 .env 文件中即可
# 执行下面命令,拷贝一份 .env.example 文件为 .env cp .env.example .env # 填写完善 .env 文件中的内容 # 通义千问, URL 包含 uri 路径 TONGYI_URL = "https://dashscope.aliyuncs.com/compatible-mode/v1" # 通义千问的 API_KEY TONGYI_API_KEY = '' # 通义千问使用的模型 TONGYI_MODEL='qwen-plus'科大讯飞
新增科大讯飞,去这里申请一个 key:科大讯飞,每个模型都有 200 万的免费 token ,感觉很难用完。
注意: 讯飞的配置文件几个 key,别填反了,很多人找到我说为什么不回复,都是填反了。
而且还有一个好处就是,接口不会像 Kimi 一样限制请求频次,相对来说稳定很多。
服务出错可参考: issues/170, issues/180Kimi (请求限制较严重)
可以去 : kimi apikey 获取你的 key
最近比较忙,大家感兴趣可以提交 PR,我会尽快合并。目前 Kimi 刚刚集成,还可以实现上传文件等功能,然后有其它较好的服务也可以提交 PR。dify
地址:dify, 创建你的应用之后, 获取到你的 api key 之后, 填写到 .env 文件中即可, 也支持私有化部署dify版本
# 执行下面命令,拷贝一份 .env.example 文件为 .env cp .env.example .env # 填写完善 .env 文件中的内容 DIFY_API_KEY='你的key' # 如果需要私有化部署,请修改.env中下面的配置 # DIFY_URL='https://[你的私有化部署地址]'ollama
Ollama 是一个本地化的 AI 服务,它的 API 与 OpenAI 非常接近。配置 Ollama 的过程与各种在线服务略有不同
# 执行下面命令,拷贝一份 .env.example 文件为 .env cp .env.example .env # 填写完善 .env 文件中的内容 OLLAMA_URL='http://127.0.0.1:11434/api/chat' OLLAMA_MODEL='qwen2.5:7b' OLLAMA_SYSTEM_MESSAGE='You are a personal assistant.'302.AI
AI聚合平台,有套壳GPT的API,也有其他模型,点这里可以添加API,添加之后把API KEY配置到.env里,如下,MODEL可以自行选择配置
_302AI_API_KEY = 'xxxx' _302AI_MODEL= 'gpt-4o-mini'由于openai充值需要国外信用卡,流程比较繁琐,大多需要搞国外虚拟卡,手续费也都不少,该平台可以直接支付宝,算是比较省事的,注册填问卷可领1刀额度,后续充值也有手续费,用户可自行酌情选择。
claude
前往 官网 注册并获取API KEY后进行配置即可
# 执行下面命令,拷贝一份 .env.example 文件为 .env,如果已存在则忽略此步 cp .env.example .env # 编辑.env文件并添加claude相关配置 CLAUDE_API_VERSION = '2023-06-01' CLAUDE_API_KEY = '你的API KEY' CLAUDE_MODEL = 'claude-3-5-sonnet-latest' # 系统人设 CLAUDE_SYSTEM = ''其他
(待实践)理论上使用 openAI 格式的 api,都可以使用,在 env 文件中修改对应的 api_key、model、proxy_url 即可。
API资源/平台收录
赞助商
目前该项目流量较大,已经上过 27 次 Github Trending 榜,如果您的公司或者产品需要推广,可以在下方二维码处联系我,我会在项目中加入您的广告,帮助您的产品获得更多的曝光。
开发/使用
检查好自己的开发环境,确保已经安装了 nodejs , 版本需要满足 Node.js >= v18.0 ,版本太低会导致运行报错,最好使用 LTS 版本。
- 安装依赖
安装依赖时,大陆的朋友推荐切到 taobao 镜像源后再安装,命令:
npm config set registry https://registry.npmmirror.com
想要灵活切换,推荐使用我的工具 👉🏻 prm-cli 快速切换。
# 安装依赖
npm i
# 推荐用 yarn 吧,npm 安装有时会遇到 wechaty 内部依赖安装失败的问题
yarn
- 运行服务
# 启动服务
npm run dev # 或者 npm run start
# 启动服务
yarn dev # 或者 yarn start
然后就可以扫码登录了,然后根据你的需求,自己修改相关逻辑文件。


为了兼容 docker 部署,避免不必要的选择交互,新增指定服务运行
# 运行指定服务 ( 目前支持 ChatGPT | Kimi | Xunfei )
npm run start -- --serve Kimi
# 交互选择服务,仍然保持原有的逻辑
npm run start
- 测试
安装完依赖后,运行 npm run dev 前,可以先测试下 openai 的接口是否可用,运行 npm run test 即可。
遇到 timeout 问题需要自行用魔法解决。(一般就是代理未成功,或者你的魔法服务限制了 openai api 的服务)
你要修改的
很多人说运行后不会自动收发信息,不是的哈,为了防止给每一条收到的消息都自动回复(太恐怖了),所以加了限制条件。
你要把下面提到的地方自定义修改下。
- 群聊,记得把机器人名称改成你自己微信号的名称,然后添加对应群聊的名称到白名单中,这样就可以自动回复群聊消息了。
- 私聊,记得把需要自动回复的好友名称添加到白名单中,这样就可以自动回复私聊消息了。
- 更深入的可以通过修改
src/wechaty/sendMessage.js文件来满足你自己的业务场景。(大多人反馈可能无法自动回复,也可以通过调试这个文件来排查具体原因)
在.env 文件中修改你的配置即可,示例如下
# 白名单配置
#定义机器人的名称,这里是为了防止群聊消息太多,所以只有艾特机器人才会回复,
#这里不要把@去掉,在@后面加上你启动机器人账号的微信名称
BOT_NAME=@可乐
#联系人白名单
ALIAS_WHITELIST=微信名1,备注名2
#群聊白名单
ROOM_WHITELIST=XX群1,群2
#自动回复前缀匹配,文本消息匹配到指定前缀时,才会触发自动回复,不配或配空串情况下该配置不生效(适用于用大号,不期望每次被@或者私聊时都触发自动回复的人群)
#匹配规则:群聊消息去掉${BOT_NAME}并trim后进行前缀匹配,私聊消息trim后直接进行前缀匹配
AUTO_REPLY_PREFIX=''
可以看到,自动回复都是基于 chatgpt 的,记得要开代理,或者填写代理地址。

注意项
近期微信审查很严格,大量用户反映弹出外挂警告,由于项目内默认使用的是免费版的 web 协议,所以目前来说很容易会被微信检测到,建议使用 pad 协议,或者自行购买企业版协议,避免被封号。
修改可参考: https://github.com/wangrongding/wechat-bot/pull/263/files
自行购买 pad 协议渠道(wechaty 出的,购买仍需谨慎):http://pad-local.com
由于底层依赖的 wechaty 本身不怎么维护了,听说是被腾讯告了,所以大家购买也要谨慎,群友分享目前 pad 协议可正常使用(但频繁登录登出也会收到警告),最好别一次性买太久的。
常见问题
以下是我的微信和群二维码,添加的时候记得备注清楚来意。
希望可以一起交流探讨相关问题和解决方案。
![]() |
![]() |
|---|
运行报错等问题
首先你需要做到以下几点:
拉取最新代码,重新安装依赖(删除 lock 文件,删除 node_modules)
安装依赖时最好不要设置 npm 镜像
遇到 puppeteer 安装失败设置环境变量:
# Mac export PUPPETEER_SKIP_DOWNLOAD='true' # Windows SET PUPPETEER_SKIP_DOWNLOAD='true'确保你们的终端走了代理 (开全局代理,或者手动设置终端走代理)
# 设置代理 export https_proxy=http://127.0.0.1:你的代理服务端口号;export http_proxy=http://127.0.0.1:你的代理服务端口号;export all_proxy=socks5://127.0.0.1:你的代理服务端口号 # 然后再执行 npm run test npm run test
确保你的 openai key 有余额
配置好 .env 文件
执行 npm run test 能成功拿到 openai 的回复(设置完代理后,仍然请求不通? 可以参考: https://medium.com/@chanter2d/%E5%85%B3%E4%BA%8E%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8clash%E5%AE%9E%E7%8E%B0%E7%9C%9F%E6%AD%A3%E7%9A%84%E5%85%A8%E5%B1%80%E4%BB%A3%E7%90%86-385b2d745871)
执行 npm run dev 愉快的玩耍吧~ 🎉
也可以参考这条 issue
- 怎么玩? 完成自定义修改后,群聊时,在白名单中的群,有人 @你 时会触发自动回复,私聊中,联系人白名单中的人发消息给你时会触发自动回复。
- 运行报错?检查 node 版本是否符合,如果不符合,升级 node 版本即可,检查依赖是否安装完整,如果不完整,大陆推荐切换下 npm 镜像源,然后重新安装依赖即可。(可以用我的 prm-cli 工具快速切换)
- 调整对话模式?可以修改openai/index.js ,具体可以根据官方文档给出的示例(非常多,自己对应调整参数即可) :https://beta.openai.com/examples
使用 Docker 部署
$ docker build . -t wechat-bot
$ docker run -d --rm --name wechat-bot -v $(pwd)/.env:/app/.env wechat-bot
- 如果docker build过程中node反复下载超时,可先下载nodejs镜像到本地镜像库,并将DockerFile中的'node:19'修改为本地nodejs镜像版本
Star History Chart
该项目于 2023/2/13 日成为 Github Trending 榜首。
License
MIT.
版本历史
0.0.22024/03/260.0.12022/12/07常见问题
相似工具推荐
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
NextChat
NextChat 是一款轻量且极速的 AI 助手,旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性,以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发,NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。 这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言,它也提供了便捷的自托管方案,支持一键部署到 Vercel 或 Zeabur 等平台。 NextChat 的核心亮点在于其广泛的模型兼容性,原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型,让用户在一个界面即可自由切换不同 AI 能力。此外,它还率先支持 MCP(Model Context Protocol)协议,增强了上下文处理能力。针对企业用户,NextChat 提供专业版解决方案,具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能,满足公司对数据隐私和个性化管理的高标准要求。
ML-For-Beginners
ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。
ragflow
RAGFlow 是一款领先的开源检索增强生成(RAG)引擎,旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体(Agent)能力相结合,不仅支持从各类文档中高效提取知识,还能让模型基于这些知识进行逻辑推理和任务执行。 在大模型应用中,幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构(如表格、图表及混合排版),显著提升了信息检索的准确度,从而有效减少模型“胡编乱造”的现象,确保回答既有据可依又具备时效性。其内置的智能体机制更进一步,使系统不仅能回答问题,还能自主规划步骤解决复杂问题。 这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统,还是致力于探索大模型在垂直领域落地的创新者,都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口,既降低了非算法背景用户的上手门槛,也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目,它正成为连接通用大模型与行业专有知识之间的重要桥梁。
PaddleOCR
PaddleOCR 是一款基于百度飞桨框架开发的高性能开源光学字符识别工具包。它的核心能力是将图片、PDF 等文档中的文字提取出来,转换成计算机可读取的结构化数据,让机器真正“看懂”图文内容。 面对海量纸质或电子文档,PaddleOCR 解决了人工录入效率低、数字化成本高的问题。尤其在人工智能领域,它扮演着连接图像与大型语言模型(LLM)的桥梁角色,能将视觉信息直接转化为文本输入,助力智能问答、文档分析等应用场景落地。 PaddleOCR 适合开发者、算法研究人员以及有文档自动化需求的普通用户。其技术优势十分明显:不仅支持全球 100 多种语言的识别,还能在 Windows、Linux、macOS 等多个系统上运行,并灵活适配 CPU、GPU、NPU 等各类硬件。作为一个轻量级且社区活跃的开源项目,PaddleOCR 既能满足快速集成的需求,也能支撑前沿的视觉语言研究,是处理文字识别任务的理想选择。
OpenHands
OpenHands 是一个专注于 AI 驱动开发的开源平台,旨在让智能体(Agent)像人类开发者一样理解、编写和调试代码。它解决了传统编程中重复性劳动多、环境配置复杂以及人机协作效率低等痛点,通过自动化流程显著提升开发速度。 无论是希望提升编码效率的软件工程师、探索智能体技术的研究人员,还是需要快速原型验证的技术团队,都能从中受益。OpenHands 提供了灵活多样的使用方式:既可以通过命令行(CLI)或本地图形界面在个人电脑上轻松上手,体验类似 Devin 的流畅交互;也能利用其强大的 Python SDK 自定义智能体逻辑,甚至在云端大规模部署上千个智能体并行工作。 其核心技术亮点在于模块化的软件智能体 SDK,这不仅构成了平台的引擎,还支持高度可组合的开发模式。此外,OpenHands 在 SWE-bench 基准测试中取得了 77.6% 的优异成绩,证明了其解决真实世界软件工程问题的能力。平台还具备完善的企业级功能,支持与 Slack、Jira 等工具集成,并提供细粒度的权限管理,适合从个人开发者到大型企业的各类用户场景。



