基于 Web 协议的机器人 (itchat / WeChatBot)
这是最经典、最广为人知的方法,它的原理是逆向工程微信网页版,通过模拟浏览器登录,获取消息接口,从而实现接收和发送消息。

核心特点
- 优点:
- 跨平台: 只要有 Python 环境,Windows, macOS, Linux 都能运行。
- 功能强大: 可以获取好友列表、群聊列表、发送文本、图片、文件、表情等,API 丰富。
- 社区活跃: 基于
itchat或WeChatBot库,有大量的示例和第三方插件。
- 缺点:
- 封号风险: 这是最大的问题,微信官方对非官方客户端的打击非常严厉,频繁使用或操作不当极易导致账号被限制(如登录失败、无法收发消息)甚至永久封禁。
- 依赖网页版: 必须保持电脑上的微信网页版登录状态(或者通过库模拟登录),否则机器人会离线。
- 消息延迟: 消息的接收和发送依赖于网页版的同步,可能会有轻微延迟。
如何部署 (以 itchat 为例)
itchat 是一个轻量级的微信个人号接口,非常适合个人使用和开发。
环境准备
确保你的 Linux 系统上安装了 Python 3 和 pip。
# 检查 Python 版本 python3 --version # 安装 pip (如果未安装) sudo apt update && sudo apt install python3-pip # 对于 Debian/Ubuntu 系统 # 或者 sudo yum install python3-pip # 对于 CentOS/RHEL 系统
安装 itchat

pip3 install itchat
编写一个简单的机器人脚本
创建一个名为 wechat_bot.py 的文件,并粘贴以下代码:
# 导入 itchat 库
import itchat
import time
import random
# 登录微信,会弹出二维码,用手机微信扫描即可登录
# hotReload=True 可以缓存登录状态,短时间内不需要重复扫码
itchat.auto_login(hotReload=True)
# 定义一个回复函数
def handle_message(msg):
# 获取消息类型
msg_type = msg['Type']
# 只处理文本消息
if msg_type == 'Text':
# 获取发送者
from_user = msg['FromUserName']
# 获取消息内容
content = msg['Text']
# 打印日志
print(f"收到来自 {from_user} 的消息: {content}")
# 设置自动回复内容
replies = [
"我已经收到你的消息啦!",
f"你说的'{content}',我记下了。",
"正在思考如何回复你...",
"自动回复:收到!"
]
reply_content = random.choice(replies)
# 发送回复
itchat.send(reply_content, toUserName=from_user)
print(f"已回复: {reply_content}")
# 注册消息处理函数
itchat.msg_register(itchat.content.TEXT, handle_message)
# 保持登录,接收消息
print("机器人已启动,请在微信上给我发消息吧!")
itchat.run()
运行机器人
python3 wechat_bot.py
首次运行时,它会生成一个二维码,用你的手机微信扫描登录即可,登录成功后,脚本会持续运行,当有人给你发消息时,就会自动回复。

基于 Reverse Engineering 的机器人 (WeChatBot)
这是目前更流行、更强大的方案,由国人开发者 LuoMei 开发,它同样是逆向微信,但提供了更丰富的功能和更稳定的消息推送机制。
核心特点
- 优点:
- 功能极其丰富: 支持文本、图片、文件、转账、朋友圈、公众号文章等几乎所有微信操作。
- 性能更好: 使用了更高效的消息监听和推送机制。
- 提供 Web 管理界面: 可以通过浏览器访问
http://localhost:8080来查看消息、联系人、发送消息等,非常方便。
- 缺点:
- 封号风险: 同样存在封号风险,甚至可能比
itchat更高,因为功能更强大,更容易触发风控。 - 部署稍复杂: 需要安装 Go 语言环境,编译过程比 Python 稍微复杂一点。
- 资源占用: 相比 Python 脚本,Go 编译后的二进制文件资源占用稍高。
- 封号风险: 同样存在封号风险,甚至可能比
如何部署 (以 WeChatBot 为例)
环境准备
你需要安装 Go 语言环境。
# 以 Ubuntu/Debian 为例 sudo apt update sudo apt install -y golang-go # 验证安装 go version
获取并编译 WeChatBot
# 克隆项目到本地 git clone https://github.com/LuoMei1994/WeChatBot.git cd WeChatBot # 编译项目 (会生成一个 wechatbot 可执行文件) # 如果你的系统是 AMD64 架构 make build # 或者直接运行 make run
运行机器人
# 运行编译好的程序 ./wechatbot
首次运行时,同样会弹出二维码,用手机微信扫描登录,登录成功后,你会在终端看到类似 http://127.0.0.1:8080 的地址。
使用 Web 界面
打开你的浏览器,访问 http://127.0.0.1:8080,你将看到一个功能强大的管理界面,可以:
- 查看所有联系人、群聊。
- 查看实时消息记录。
- 通过界面直接给好友或群聊发送消息、图片、文件。
- 管理机器人配置。
如何选择?
| 特性 | 方案一 (itchat) | 方案二 (WeChatBot) |
|---|---|---|
| 语言 | Python | Go |
| 部署难度 | 非常简单,一行命令安装 | 稍复杂,需要编译 Go 程序 |
| 功能丰富度 | 丰富,但主要围绕消息 | 极其丰富,覆盖微信大部分功能 |
| 易用性 | 需要自己写脚本逻辑 | 提供现成的 Web 管理界面,非常直观 |
| 封号风险 | 高 | 高,甚至可能更高 |
| 资源占用 | 低 | 中等 |
| 推荐场景 | 个人学习、简单自动化任务 | 需要强大功能、图形化管理的用户 |
⚠️ 重要提醒:关于封号风险
- 风险自担: 使用任何非官方的微信客户端都存在被封号的风险,请务必使用小号进行测试,切勿使用你的主工作号或重要社交账号。
- 频率控制: 避免在短时间内频繁地发送消息(如群发、快速连续发送),这最容易触发风控。
- 行为模拟: 尽量让机器人的行为看起来像真人,例如在回复中加入一些随机性,不要每次都回复同样的话。
- 关注动态: 微信的风控策略会不断更新,保持关注相关项目的 GitHub 仓库,了解最新的封号情况和应对方法。
其他替代方案
如果你对上述两种方案的封号风险感到担忧,可以考虑以下更“官方”或“间接”的方式:
- 企业微信机器人: 这是最推荐的稳定方案,企业微信官方提供了 API 和机器人 Webhook,可以让你将消息发送到指定的群聊中,虽然不能主动读取你的个人微信消息,但可以用于日志监控、CI/CD 通知、报警推送等场景,稳定且无封号风险。
- 基于 OpenAI 的机器人: 有一些项目(如
ChatGPT-WeChat-Bot)将微信机器人与 OpenAI 的 API 结合,用户在微信里发送消息,机器人调用 OpenAI 生成回复再发回,这种方式也依赖上述的逆向工程方案,同样有封号风险,但体验非常好。
对于想在 Linux 上玩转微信机器人的你,我的建议是:
- 新手入门: 从
itchat开始,它简单易懂,能快速让你体验到自动化的乐趣。 - 进阶玩家: 如果你需要更强大的功能和便捷的管理界面,
WeChatBot是不二之选。 - 生产环境: 如果用于工作或重要通知,请务必使用 企业微信机器人,稳定可靠是第一位的。
希望这份详细的指南能帮助你顺利在 Linux 上搭建属于自己的微信机器人!
标签: Linux微信机器人搭建教程 Linux微信机器人自动化脚本 Linux微信机器人配置方法