Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
一个让微信(非WEB版)定时循环发送消息/文件(cron表达式精确到分钟),批量群发消息,定时检查聊天记录的小工具🚀,提供了简易直观的界面,并支持邮箱报警等功能,可部署到任意平台
| Date | Stars |
|---|---|
| 2026-07-24 | 886 |
| 2026-07-25 | 887 |
| 2026-07-28 | 887 |
| 2026-07-30 | 887 |
| 2026-08-06 | 887 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
15.0
growth rate 0.00%/day
<h1 align="center">YuYuWechat V3</h1>
<p align="center">
基于 Django、Celery 与 Windows UI Automation 的微信自动化管理工具
</p>
YuYuWechat 用于批量发送消息、定时发送消息和文件、检测聊天记录、记录执行日志并在异常时报警
> V3 当前只支持 Windows 10/11、微信 `4.1.8` 和简体中文界面。需要控制微信 3.x 时,请切换到 `V2` 分支并使用 `YuYuWechatV2_Server`。
## 目录
- [功能概览](#功能概览)
- [系统结构](#系统结构)
- [运行要求](#运行要求)
- [部署 V3 服务端](#部署-v3-服务端)
- [服务端接口](#服务端接口)
- [部署管理客户端](#部署管理客户端)
- [配置自动化任务](#配置自动化任务)
- [自动领取红包和转账](#自动领取红包和转账)
- [日志与可靠性](#日志与可靠性)
- [开发与测试](#开发与测试)
- [常见问题](#常见问题)
## 功能概览
- 批量发送不同文本消息
- 使用五段式 Cron 表达式定时、循环发送消息
- 定时发送服务端本地文件
- 获取聊天记录并按时间分块检测关键词或正则表达式
- 获取聊天中的图片、视频以及临时下载链接
- 置顶或取消置顶指定聊天
- 手动领取红包、收取转账
- 监听未读单聊,自动领取红包和转账,并可发送感谢消息
- 服务端请求串行执行,避免多个请求同时抢占微信窗口
- 客户端任务日志、服务端请求日志、漏执行检测和邮件报警
- Django Admin 数据管理、数据库备份和自定义脚本








## 系统结构
```mermaid
flowchart LR
Browser["浏览器"] --> Client["YuYuWechatV2_Client<br/>Django 管理端"]
Client --> Tasks["Celery 定时任务"]
Client -->|"HTTP /wechat/*"| Server["YuYuWechatV3_Server"]
Tasks -->|"HTTP /wechat/*"| Server
Server --> Queue["单队列 / 单 Worker"]
Queue --> Bridge["wechat_bridge"]
Bridge --> Core["pywechat / pyweixin"]
Core --> Weixin["PC 微信 4.1.6+"]
Client --> PostgreSQL[(PostgreSQL)]
Tasks --> Redis[(Redis)]
```
项目分为三个主要部分:
- `YuYuWechatV3_Server`:部署在安装微信的 Windows 电脑上,接收 HTTP 请求并执行微信 UI 自动化。
- `YuYuWechatV2_Client`:管理页面和定时任务中心,可部署在 Windows、macOS 或 Linux。
- `pywechat/pyweixin`:V3 使用的微信 4.x 自动化核心库。源码部署时必须与 V3 服务端保持同仓、同级目录结构。
V3 保留了服务端全局任务队列和互斥锁。即使多个客户端同时连接同一个服务端,微信操作也会按顺序执行。
## 运行要求
### 服务端
- Windows 10 或 Windows 11
- Python 3.10+,推荐 Python 3.11
- PC 微信 `4.1.8`
- 微信界面语言为简体中文,即 `zh-CN`
- Windows 用户已经登录微信
- 桌面保持解锁,运行期间不能进入锁屏或睡眠状态
### 让微信 UI 可被自动化识别
微信 4.x 可能默认隐藏部分 UI Automation 元素。根据 `pywechat/Weixin4.0.md` 的说明,建议首次配置时执行以下操作:
1. 完全退出微信。
2. 在启动微信前打开 Windows 讲述人,可使用 `Win + Ctrl + Enter`。
3. 启动微信并登录,保持讲述人运行约 5 分钟。
4. 关闭讲述人,然后再启动 YuYuWechat V3 服务端。
5. 在 Windows 电源设置中关闭自动睡眠、自动息屏和锁屏。
如果接口提示无法定位微信主窗口,先重复以上流程,而不是修改 UI 定位代码。
## 部署 V3 服务端
### 使用批处理自行编译 EXE(推荐)
V3 建议用户在 Windows 上从 `v3` 分支源码自行编译。仓库已经提供 `YuYuWechatV3_Server/build_pyinstaller_windows.bat`,不需要手动安装和调用 PyInstaller。
编译前确认:
- 已安装 Python 3.10+,推荐 Python 3.11。
- 已完整获取仓库,`pywechat` 和 `YuYuWechatV3_Server` 必须是同级目录。
- 已关闭正在运行的 `YuYuWechatV3_Server.exe`。
- 电脑可以访问 Python 包索引,脚本需要安装构建依赖。
获取源码并编译:
```powershell
git clone -b v3 https://github.com/xieyumc/YuYuWechat.git
cd YuYuWechat\YuYuWechatV3_Server
.\build_pyinstaller_windows.bat
```
> 脚本每次都会删除旧 `dist`。不要直接把生产数据库和日志长期放在源码的 `dist` 目录中;重新编译前请备份 `dist\YuYuWechatV3_Server\db.sqlite3` 和 `logs`,或者把编译结果复制到单独的运行目录。
编译成功后,进入产物目录并初始化:
```powershell
cd dist\YuYuWechatV3_Server
.\YuYuWechatV3_Server.exe migrate
.\YuYuWechatV3_Server.exe createsuperuser
```
> 每次运行服务端前,都必须先完全退出微信,打开 Windows 讲述人,再启动并登录微信。确认微信已经登录后,最后启动 YuYuWechat V3 服务端。不要先登录微信再打开讲述人。
按上述顺序准备完成后,启动服务端:
```powershell
.\YuYuWechatV3_Server.exe
```
不带参数启动时,服务端默认监听 `0.0.0.0:8000`。运行数据保存在 EXE 同目录的 `db.sqlite3`,滚动日志保存在 `logs/server.log`。
> 编译结果采用 PyInstaller 目录模式。部署或备份时必须复制整个 `dist\YuYuWechatV3_Server` 文件夹,不能只复制 EXE,因为程序依赖同目录的 `_internal`。
### 从源码运行
源码目录需要保持如下结构:
```text
YuYuWechat/
├── pywechat/
└── YuYuWechatV3_Server/
```
在 Windows PowerShell 中运行:
```powershell
cd YuYuWechatV3_Server
py -3.11 -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install --upgrade pip
python -m pip install -r requirements.txt
python manage.py migrate
python manage.py createsuperuser
```
> 运行服务端前,必须先完全退出微信,打开 Windows 讲述人,再启动并登录微信。确认微信已经登录后,最后执行服务端启动命令。不要先登录微信再打开讲述人。
```powershell
python manage.py runserver 0.0.0.0:8000 --noreload
```
服务端会自动从仓库根目录的 `pywechat` 加载 `pyweixin`。如果移动了目录,服务端会返回 `pywechat core library not found`。
### 首次配置
启动后访问:
- 服务端首页:`http://127.0.0.1:8000/`
- Django Admin:`hExcerpt of 11,476 characters
Read on GitHub316
Would you bet a product on this? Bounded 0–100 and slow moving.
matched fp:fd681282a40ac0f7, topic:chatbot, topic:webui