1. 项目定位与用途
wx4py 是一个 Python 库,专注于为 Windows 平台上的微信 4.x 客户端提供自动化能力。其核心用途是通过编程方式模拟用户操作,实现批量消息发送、文件分发、群管理、聊天记录导出等功能,适用于需要频繁进行微信沟通与管理的个人或团队,如社群运营、日常通知、数据分析等场景,目标是将重复性操作简化为几行代码。
claw-codes/wx4py:wx4py 是一个专为 Windows 平台微信 4.x 客户端设计的 Python 自动化库,通过简洁的 API 实现批量群发、文件分发、群公本页整理它解决什么问题、适用场景、安装方式和使用方法。
wx4py 是一个专为 Windows 平台微信 4.x 客户端设计的 Python 自动化库,通过简洁的 API 实现批量群发、文件分发、群公告管理等高频操作,5 分钟即可上手,大幅提升日常工作效率。
wx4py 是一个 Python 库,专注于为 Windows 平台上的微信 4.x 客户端提供自动化能力。其核心用途是通过编程方式模拟用户操作,实现批量消息发送、文件分发、群管理、聊天记录导出等功能,适用于需要频繁进行微信沟通与管理的个人或团队,如社群运营、日常通知、数据分析等场景,目标是将重复性操作简化为几行代码。
项目主要解决微信 4.x 客户端缺乏官方自动化接口导致的效率瓶颈:1)手动逐个群发通知耗时且易遗漏;2)同一文件需反复上传至多个群;3)微信本身不支持定时发送消息;4)聊天记录无法直接导出分析;5)批量管理多个群的公告、免打扰等设置操作繁琐。wx4py 通过 UI 自动化技术绕过这些限制,提供一站式解决方案。
从仓库信息可见,适用场景包括:日常工作中向多个部门群批量发送通知或提醒;将周报、文件等材料快速分发到多个群聊;设置定时任务在固定时间自动发送日报提醒;导出特定群聊记录为 CSV 进行活跃度或关键词分析;批量更新多个项目群的公告内容;以及获取群成员列表用于统计。此外,通过 AI 技能集成,也适合希望用自然语言控制微信的用户。
安装方式在 README 中明确给出:使用 pip 直接安装,命令为 `pip install wx4py`。依赖包包括 pywin32>=305、comtypes>=1.2.0、pyperclip、markdown、beautifulsoup4 和 Pillow,这些在 pyproject.toml 和 requirements.txt 中列出。环境要求为 Windows 10/11 系统、Python 3.9+ 版本,并需安装并登录微信 4.x 客户端(已测试版本 4.1.7.59、4.1.8.29)。
基本使用方式在 README 快速开始部分有明确示例:通过 `from wx4py import WeChatClient` 导入,使用上下文管理器 `with WeChatClient() as wx:` 连接微信,然后调用 `wx.chat_window` 或 `wx.group_manager` 等对象的方法。例如批量群发使用 `batch_send`,发送文件使用 `send_file_to`,获取聊天记录使用 `get_chat_history`。更丰富的示例可在 examples/ 目录中找到,如 batch_send.py、send_file.py 等。AI 集成方式参考 wx4-skill/SKILL.md。
从代码证据可见,项目采用分层架构:底层基于 UIAutomation 实现原始 UI 访问,中间层 UIAWrapper 封装通用控件操作,上层 WeChatWindow 管理窗口生命周期与健康检查。关键实现特点包括:UIA 树健康检查机制(通过节点数判断并自动修复注册表重启微信)、托盘图标处理、配置驱动的超时与间隔参数、覆盖窗口/控件/注册表等场景的自定义异常体系。项目仅支持 Windows 平台,构建系统使用 setuptools,许可证为 AGPL-3.0-or-later。
使用 pip 命令 `pip install wx4py` 即可安装。依赖包括 pywin32、comtypes、pyperclip、markdown、beautifulsoup4 和 Pillow。环境要求:Windows 10/11 系统、Python 3.9+ 版本,并需安装微信 4.x 客户端并保持登录状态。
根据 README 和 pyproject.toml,wx4py 仅支持 Windows 10/11 平台上的微信 4.x 客户端(已测试版本如 4.1.7.59、4.1.8.29)。不支持 macOS 或 Linux 系统,也不支持微信旧版或其他版本。
可结合第三方调度库如 schedule。在 README 中展示了示例:定义发送函数,使用 `schedule.every().day.at("17:00").do(remind_daily_report)` 设置每日定时任务,在函数内调用 `wx.chat_window.batch_send` 方法发送消息。需保持脚本持续运行。
支持。项目提供了 AI Skill 集成方式,可在 Claude Code 或 OpenClaw 等工具中直接使用自然语言指令。具体步骤参考 wx4-skill/SKILL.md,安装 wx4py 后加载技能文件,即可通过对话让 AI 生成并执行自动化代码。
项目定义了完善的异常体系(如 WeChatNotFoundError、ControlNotFoundError)。常见原因包括微信未运行、窗口未找到或 UIA 服务异常。建议确保微信已登录并置于前台,检查是否以管理员权限运行脚本。部分错误可能触发健康检查机制自动修复,若持续失败可查看日志或提交 Issue 并提供微信版本、wx4py 版本及截图。