这是一个基于 截图 + OCR + AI 实现的微信群聊自动化助手。针对新版微信(Weixin.exe)聊天界面采用 Chromium 渲染、传统的 UI Automation 无法直接读取文字的问题,本项目采用了视觉识别方案,能够稳定获取聊天记录并进行智能回复。
- 视觉识别方案:利用
RapidOCR对微信窗口进行截屏识别,彻底解决新版微信无法通过 UI 树获取消息的痛点。 - 智能身份识别:通过头像颜色(绿色气泡判断)和感知哈希(dHash)算法,精准区分“我”和群友,避免自言自语。
- 仿真真人输入:模拟真人打字节奏,采用“分段粘贴+随机停顿”的方式输入文字,极大降低被系统检测的风险。
- 主动暖场功能:支持“冷场检测”,当群内长时间没人说话时,AI 会根据上下文自动找话题打破沉默。
- 高度可配置:通过
.env文件轻松配置 AI 角色(Persona)、API 地址、回复频率和冷场阈值。
- Python 3.10+
- RapidOCR: 基于 PaddleOCR 的轻量级 OCR 引擎,识别速度极快。
- pywinauto: 用于微信窗口的控制和输入模拟。
- OpenAI API (Compatible): 支持任何符合 OpenAI 标准的 API 接口。
- PyWin32: 底层窗口捕获与图形处理。
确保你的系统是 Windows,并已安装 Python 3.10 或更高版本。
# 克隆/下载本项目后,进入目录
pip install -r requirements.txt- 复制项目根目录下的
.env.example文件。 - 将其重命名为
.env。 - 打开
.env并根据需要修改配置:
# AI 配置
AI_API_KEY=your_api_key_here
AI_BASE_URL=https://api.example.com/v1
AI_MODEL=gpt-4-turbo
AI_TEMPERATURE=0.8
# 角色设定
AI_SYSTEM_PROMPT=你是一个幽默、博学且随和的微信群聊参与者,说话要简短自然,像个真人朋友。- 打开微信 PC 客户端,并进入目标群聊窗口。
- 确保微信窗口可见(不要最小化,但可以被其他非全屏窗口遮挡)。
- 双击
run.bat或在终端运行:
python main.pymain.py: 主程序逻辑,负责监听循环、AI 调用和消息发送。chat_reader.py: 核心视觉模块,负责窗口截取、聊天区域裁剪及 OCR 识别。run.bat: Windows 便捷启动脚本。scratch/: 存放调试脚本和临时文件。
- 窗口状态:微信窗口不可最小化,但可以被其他窗口部分或全部遮挡(本方案通过
PrintWindow依然可以抓取画面)。 - 缩放配置:为保证 OCR 识别率,建议 Windows 系统缩放设为 100% 或 125%。
- 窗口大小:建议将微信窗口拉大,以便 AI 能够获取更多的上下文背景。
本项目仅供 技术研究 与 学术交流 使用,请在下载后 24 小时内删除。在使用本项目前,请认真阅读以下条款:
- 封号风险:本项目通过模拟人工操作与视觉识别实现自动化,虽然最大程度模拟了真人行为,但仍存在被微信官方检测并封号的风险。开发者不对任何形式的账号限制、封禁或损失承担责任。
- 数据安全:本项目涉及屏幕截图与 OCR 文字识别。所有处理均在本地完成,但由于调用了第三方 AI API,聊天内容会被发送至你所配置的 API 供应商。请勿在包含敏感信息(如财务、密码、隐私)的群聊中使用。
- 合规性:用户在使用本项目时,必须遵守所在地法律法规及微信相关服务协议。禁止将本项目用于任何非法用途,包括但不限于骚扰他人、散布违规信息等。
- 无担保:本项目按“原样”提供,不提供任何形式的明示或暗示担保。用户须自行承担使用本项目的全部风险。
一旦开始使用本项目,即视为你已充分理解并接受上述所有条款。
MIT License