wechat-message — 微信消息
v1.0.0基于桌面端UI自动化的微信操作工具,支持Windows/macOS双平台,可实现微信窗口管理、联系人操作、消息收发、聊天记录提取及自动化智能回复。
运行时依赖
安装命令
点击复制技能文档
微信桌面自动化工具 基于桌面端UI自动化的微信操作工具,支持Windows/macOS双平台,可实现微信窗口管理、联系人操作、消息收发、聊天记录提取及自动化智能回复。 ⚠️ 重要声明:本工具仅用于个人合法合规的微信操作自动化,请勿用于批量群发、骚扰他人等违规场景。使用前请确保遵守微信用户协议及相关法律法规。
支持平台 ✅ Windows (支持微信Windows版所有主流版本) ✅ macOS (支持微信macOS版) ❌ Linux (暂不支持)
前提条件
- 环境依赖安装
- 权限配置
- 微信准备
- 自动回复的Authentication
使用方法 启动微信 py wechat.py start 激活微信窗口 py wechat.py activate 搜索联系人并发送消息 py wechat.py search_and_send --contact 张三 --message "你好,这是自动发送的消息" 获取聊天记录 py wechat.py get_history --contact 李四 --limit 10 自动处理联系人消息(智能回复) # 基础用法 py wechat.py auto_process --api_key "你的AI接口密钥" # 自定义轮询次数和API地址 py wechat.py auto_process --polling_times 20 --api_url "http://127.0.0.1:8000/api/chat/message" --api_key "密钥" 查看帮助 py wechat.py help
命令参考 命令 功能 示例 start 启动微信客户端 py wechat.py start activate 激活并最大化微信窗口 py wechat.py activate --title 微信 search_and_send 搜索联系人并发送消息 py wechat.py search_and_send --contact 张三 --message 您好 get_history 获取指定联系人聊天记录 py wechat.py get_history --contact 李四 --limit 15 auto_process 自动轮询联系人并智能回复 py wechat.py auto_process --polling_times 10 --api_key xxx help 查看帮助信息 py wechat.py help
核心功能说明
- 微信进程与窗口管理
- 联系人操作
- 消息处理
- 自动化回复
配置说明 界面区域配置 首次运行activate命令会自动生成config/wechat_regions.json 包含微信界面各区域的坐标和尺寸参数 不同平台配置自动区分,避免混用 自定义参数 参数 功能 示例 --contact 指定联系人名称 --contact 张三 --message 发送的消息内容 --message "您好" --limit 聊天记录获取数量 --limit 10 --polling_times 自动轮询次数 --polling_times 20 --api_url AI接口地址 --api_url http://localhost:8000/api/chat/message --api_key AI接口密钥 --api_key "your-api-key" --title 微信窗口标题 --title "微信"
技术说明 核心技术点 跨平台适配:通过platform模块区分Windows/macOS,适配不同的窗口管理API 精准定位:基于微信界面固定布局计算各功能区域坐标,无需图像识别 人机模拟:贝塞尔曲线模拟人类鼠标移动轨迹,随机偏移避免被检测 安全操作:所有点击/输入操作均有异常处理,失败自动降级为基础操作 剪贴板管理:使用前保存、使用后恢复剪贴板内容,避免覆盖用户数据
关键模块说明 模块 功能 WeChatRegion 数据类,定义微信界面所有区域的参数和坐标 WeChatAutomation 核心类,封装所有自动化操作方法 _safe_click 安全点击方法,模拟人类操作行为 _locate_message_bubbles 消息气泡定位,基于OpenCV识别消息区域 auto_process_contacts 自动化主方法,实现轮询和智能回复
日志与调试 日志文件:wechat_automation.log(包含详细操作记录) 调试目录:debug/(存储截图等调试信息) 所有关键操作均有日志输出,便于问题定位
常见问题 错误:无法激活微信窗口 → 确认微信已运行并登录,或先执行start命令启动微信 → macOS需授予辅助功能权限 错误:点击位置不准确 → 确保微信窗口已最大化 → 删除config/wechat_regions.json重新生成区域配置 → 检查微信界面布局是否为默认样式 错误:剪贴板操作失败 → Windows:安装pywin32库(pip install pywin32) → macOS:确保终端有剪贴板访问权限 错误:消息发送成功但对方未收到 → 检查输入框是否真正获得焦点 → 增加发送后的等待时间(修改代码中time.sleep参数) 错误:AI接口调用失败 → 检查API地址和密钥是否正确 → 确认接口支持POST请求,且返回格式符合要求 → 检查网络连接和接口权限 微信界面更新后工具失效 → 更新WeChatRegion中的尺寸参数 → 重新运行activate生成新的区域配置
隐私与安全 ✅ 所有操作均在本地完成,不上传任何数据到网络 ✅ 仅访问微信界面,不读取微信数据库文件 ✅ 剪贴板内容使用后自动恢复,避免信息泄露 ✅ 操作日志仅保存在本地,可随时删除 ⚠️ 自动化操作可能违反微信用户协议,请谨慎使用 ⚠️ 请勿用于商业推广、垃圾信息发送等违规行为
扩展与定制 自定义联系人列表 修改auto_process_contacts调用处的contact_list参数: contact_list = ["客户A", "客户B", "工作群", "家人群"] 调整操作速度 修改_safe_click中的move_duration参数(单位:秒): # 减慢移动速度(更接近人类) self._safe_click(x, y, move_duration=0.8) # 加快移动速度(提高效率) self._safe_click(x, y, move_duration=0.2) 适配不同微信版本 修改WeChatRegion中的尺寸参数: # 调整侧边栏宽度 sidebar_width: int = 65 # 默认60 # 调整联系人高度 contact_item_height: int = 75 # 默认70
扩展功能 可添加文件发送功能(点击文件按钮→选择文件→确认发送) 可添加图片识别