WeAutoCommon 2.1.9
dotnet add package WeAutoCommon --version 2.1.9
NuGet\Install-Package WeAutoCommon -Version 2.1.9
<PackageReference Include="WeAutoCommon" Version="2.1.9" />
<PackageVersion Include="WeAutoCommon" Version="2.1.9" />
<PackageReference Include="WeAutoCommon" />
paket add WeAutoCommon --version 2.1.9
#r "nuget: WeAutoCommon, 2.1.9"
#:package WeAutoCommon@2.1.9
#addin nuget:?package=WeAutoCommon&version=2.1.9
#tool nuget:?package=WeAutoCommon&version=2.1.9
<div align="center">
WECHATAUTO.SDK - 安全构建微信Agent的开发基座
一款为Harness/SI提供操作微信核心能力的SDK,不注入(内存Hook),不数据库破解,不越权访问微信数据,通过 UI Automation 操作微信,不写一行代码获取微信消息
让你的微信 Agent/Wechat Bot 快速开发、快速上线、并安全发布到用户端
</div>
支持微信版本为 >= 4.1.9.30 and ⇐ 最新版微信,推荐使用最新版本的微信;
<div align="center"> <br />
<img src="Images/main_1.png" alt="WECHATAUTO.SDK主界面" width="1200" />
<br/>
<img src="Images/second.png" alt="WECHATAUTO.SDK 吸附框" width="1200" /> <br/> </div>
体验提示:如果需要体验WeChatAuto.SDK的通力,我架设了一个测试导航机器人,欢迎添加微信好友体验,👉 我要体验.
📋 系统要求
- Windows 操作系统,不支持Linux和MacOS;
- 风控风险:频繁操作可能触发微信风控机制,建议:
- 控制操作频率
- 避免短时间内大量操作
- 使用键鼠模拟器降低风险
✨ 快速入门
新人推荐(一键试用)
- 下载 community_allin.rar
- 解压
- 打开并登录微信(Win10+;微信版本 >= 4.1.9.30,推荐最新版)
- 运行解压目录里的
Server.exe - 用吸附条,或打开 http://localhost:5000/swagger ,发一条消息验收
HTTP WebAPI 方式不写代码即可接消息,说明见 HTTP Server 使用。
SDK支持两种使用方式: 内嵌方式(Embedded) 与 HTTP WebAPI 方式
本质上HTTP WebAPI的方式为: WeChatAuto.SDK直接把微信消息帮你抓取,然后送到你指定的数据库,你的应用直接访问数据库即可!接入指南
进阶:.NET 内嵌开发
已有 .NET 项目、需要把 SDK 嵌进自己的程序时,再看本节。
- 新建一个.net10控制台项目
dotnet new console -n demo
- 修改项目属性,打开 demo.csproj 文件,把
TargetFramework修改为net10.0-windows,如果你使用的是.net6.0或.net7.0,请把TargetFramework修改为net6.0-windows或net7.0-windows,如下所示:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net10.0-windows</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
</Project>
- 安装依赖包
dotnet add package Microsoft.Extensions.DependencyInjection
dotnet add package WeChatAuto4x.SDK
- 把OCR模型文件放到项目根目录下(我这里是:
D:\repo\WeChatAuto.SDK\test\demo\bin\Debug\net10.0-windows\models),OCR模型文件下载地址:模型文件下载
注:直接拷贝models文件夹到项目根目录下即可,或者在代码中指定模型文件路径。
- 在 Program.cs 中编写如下代码:
using WeChatAuto.Services;
using WeChatAuto.Components;
using Microsoft.Extensions.DependencyInjection;
var serviceProvider = WeAutomation.Initialize(options =>
{
options.DebugMode = false; // 可选,在生产环境建议关闭
options.EnableOCR = true; // 必须打开OCR
options.IsForceOpenUITree = true; //是否强开微信的UI Tree,如果确认自己的微信UI Tree是开启的,则可以设置为False
});
using var clientFactory = serviceProvider.GetRequiredService<WeChatClientFactory>();
//检查打开有几个微信
var wechat_list = clientFactory.GetWeChatClientNames();
Console.WriteLine($"电脑上打开微信{wechat_list.Count()}个: {string.Join(',',wechat_list)}");
// 打开第一个微信,发送消息
var client = clientFactory.GetWeChatClient(wechat_list.First());
// 给好友 AI.Net_test 发送文本消息,这里应该改成你自己的微信名称.
await client.SendMessage("AI.Net_test","hello world!!");
... 更多功能请参考文档
🚣 项目结构
src/ # WeChatAuto.SDK 仓库根
├── WeAutoCommon/ # 跨版本共用的基础库(无 UI 自动化入口,纯数据/工具)
│ ├── Configs/ # 微信相关配置
│ ├── Enums/ # 消息类型、会话类型、转发类型等枚举
│ ├── Exceptions/ # 自定义异常(如 WindowNotExsitException)
│ ├── Extentions/ # 扩展方法
│ ├── Interface/ # IWeChatWindow 等接口契约
│ ├── Models/ # 会话、好友、消息、朋友圈等通用模型
│ ├── Simulator/ # 键鼠模拟器 Skm(含 x64/x86 原生库)
│ ├── Utils/ # AutomationElement/IME/注册表/随机等待等工具
│ └── WeAutoCommon.csproj
│
├── WeChatAuto4_X/ # 微信 4.x 当前版本 SDK(主仓库)
│ ├── WeChatAuto/ # SDK 核心项目
│ │ ├── Assets/ # UI 图标资源
│ │ ├── Components/ # WeChatClient/Factory、Sender、Search、Group、Moments、消息监控等
│ │ ├── Services/ # WeAutomation 初始化、OCR、Qwen、键鼠模拟器服务
│ │ ├── Models/ # 消息、气泡、好友、语音等模型
│ │ ├── Options/ # 各功能配置项
│ │ ├── Extentions/ # 自动化元素/点击增强/录屏等扩展
│ │ ├── Exceptions/ # 自定义异常
│ │ ├── Utils/ # DPI/剪贴板/窗口/录屏/多开调度/LCS/DIFF BLOCK/CheckPoint等核心工具
│ │ ├── WeChatAuto.csproj
│ │ └── WeChatAuto.sln
│ │
│ ├── WeChatAuto.Tests/ # 微信 4.x 单元测试(Assets/Components/Utils)
│ │
│ ├── HttpSupport/ # HTTP WebAPI 方式
│ │ ├── Server/ # WinForms 服务端(可直接运行) 💎
│ │ │ ├── Forms/ # 主界面、发消息、转发、监控配置、定时任务等窗体
│ │ │ ├── Controls/ # 自定义卡片控件
│ │ │ ├── Services/ # 定时发送、Cron、日志
│ │ │ ├── Utils/ # SDK 版本探测等
│ │ │ ├── Assets/ # 图标、虚拟声卡驱动
│ │ │ ├── models/ # OCR 模型
│ │ │ ├── Docs/ # API 接入指南、发布教程
│ │ │ ├── App.json / Program.cs / Server.csproj / obfuscar.xml
│ │ │ └── README.md
│ │ └── Client/ # 各语言 HTTP 客户端 SDK
│ │ ├── .net/ # C# 客户端
│ │ ├── c++/ # C++ 客户端(CMake)
│ │ ├── go/ # Go 客户端
│ │ ├── java/ # Java 客户端(Maven)
│ │ ├── node/ # Node.js 客户端(npm)
│ │ ├── python/ # Python 客户端
│ │ └── rust/ # Rust 客户端(Cargo)
│ │
│ ├── Examples/ # 示例项目
│ │ ├── FirstDemo/ # 30 秒快速上手示例
│ │ ├── AutoReceiveNewFriends/ # 自动通过加好友申请并聊天 💎
│ │ ├── QrcodeTransfer/ # 二维码转发(待完成中) 💎
│ │ ├── SystemMessageMonitor/ # 系统消息监控 💎
│ │ └── WinForm_Demo/ # WinForms 可视化 Demo
│ │ └── WinFormWithHttpWebAPI/ # Winforms调用HttpWebAPI客户端示例
│ │
│ ├── WeChatAuto4_X.sln
│ └── README.md
│
├── docs/ # 文档站点(docsify + Swagger API)
│ ├── api-site/ # Swagger UI + swagger.json
│ ├── images/ # 文档截图
│ ├── _media/ # logo/icon 素材
│ ├── ability.md / faq.md / why.md / webapi.md / mcpserver.md / httpserveruse.md / inlineuse.md
│ └── README.md / index.html / _coverpage.md / _navbar.md / sw.js
│
├── Resources/ # 资源(VBCABLE 虚拟声卡驱动)
├── Tools/ # 开发辅助工具
│ ├── UISpy.exe / inspect.exe # UI Tree 查看工具
│ ├── FlaUInspect / AutomationSpy # UI 自动化检查器
│ ├── EnableRdpMinimize.bat # 远程桌面最小化自动化脚本
│ └── models/ # OCR 模型(PP-OCRv6)
|
├── WeChatAuto3_9_12_xx/ # 微信 3.9.12.xx 旧版本支持(已归档,不再维护)
│ ├── WeChatAuto/ # 3.9.12 SDK 核心(Components/Services/Models/Utils)
│ ├── WeChatAuto.MCP/ # MCP Server(Prompts/Services/Tools/Utils)
│ ├── WeChatAutoWebSupport/ # Web/HTTP 支持(WinForms:Forms/Models/Utils + Tests)
│ ├── WeChatAuto.Tests/ # 单元测试
│ ├── Examples/ # 示例(autodemo、Chat、demo01~03 等 6 个)
│ ├── WeChatAuto.SDK.sln
│ └── README.md
├── LICENSE
└── README.md
🏇 对比传统方案
| 维度 | 数据库破解 / Hook | WeChatAuto.SDK |
|---|---|---|
| 原理 | 破解/注入/消息钩子 / SendInput | UI 自动化 + 可选硬件模拟,安全合规 |
| 稳定性 | 微信更新即失效 | 随 UI 结构适配,长期维护 |
| 风控 | 特征明显、风险高 | 低特征,可选硬件级 |
| AI 集成 | 无 | 原生 TTS / 语音克隆 / LLM |
| 多微信账号 | 难 | 原生多实例工厂支持 |
| 语言接入 | 单一 | 任意开发语言 |
| 交付 | 脚本 | 工程化 SDK + 文档 + 示例 |
🎯 典型应用场景
- AI 客服 / 微信机器人:监听消息 → 大模型回复/Harness执行 → 自动发送。
- AI 语音外呼 / 电话机器人:TTS + 声音复刻 → 发语音消息。
- 多账号矩阵运营:一个进程管理 N 个微信。
- 群运营自动化:建群、拉人、群公告、欢迎语、好友申请自动通过打标签。
- 跨语言二次开发:通过 REST API 用 Python/Node 快速搭业务。
- 更多应用场景待你开发中...
🎈 关于键鼠模拟器
键鼠模拟器是一类专门的硬件设备,能够模拟物理键盘和鼠标的真实输入。相较于直接调用 PostMessage、SetInput 等 API 进行注入,这类传统软件方式往往会留下可被识别的痕迹,极易被微信等应用检测为自动化行为并引发风控。而键鼠模拟器通过硬件底层发送信号,模拟出的输入和人手操作无异,从而高度还原人类使用方式,在风控安全性和隐蔽性方面具备天然优势。
实际测试表明,在微信某些高敏感操作场景(比如群聊内加好友)下,借助键鼠模拟器能有效降低被风控的概率。需要注意的是,即便是手动操作,部分极端高风险情况下也有可能触发风控。因此,强烈建议在高敏感度和易风控场景优先考虑且规范使用键鼠模拟器,以获得更稳定和安全的自动化体验。
本 SDK 同时支持纯软件自动化以及结合硬件键鼠模拟器的自动化操作,满足不同业务需求和安全等级场景下的使用选择。
关于键鼠模拟器更深度的了解,请参见:键鼠模拟器
🏌️♂️ 关于VIP
Wechatauto.SDK分为社区版和VIP版,社区版是完全开源的,VIP版为专用私库,则提供更多的功能和更深入的技术支持。
具体请参考 WECHATAUTO.SDK社区版 VS VIP版本.
社区版与VIP版本在代码层面,主要区别在于:VIP版本比社区版本多了20%的API接口,这些接口主要是一些高级功能和扩展能力,旨在为VIP客户提供更简单、更强大的微信自动化能力。
🎉 VIP 客户可享受以下专属服务保障:
- 🏌️♂️ 源码完全开放:不限机器,没有一机一码,MIT授权,到期可继续用已获得版本;
- 💡 BUG 优先响应:出现 Bug 或有新的 Enhancement ,第一时间响应、定位和解决,保障 VIP 项目的稳定运行;
- 🚀 专属 VIP 私有仓库:VIP 客户将获专属私有仓库,会不定期提供丰富的应用层扩展与独享内容;
- 🚀 一对一的专属vip服务: 这是你加入 VIP 的核心理由,微信自动化能力由 WeChatAuto.SDK 提供深度支持,业务系统由你自由扩展,实现业务与技术的高效分工;
如需升级成为 VIP,或了解 VIP 具体权益和支持方案,👉请与我联系。
📝 许可证
本项目采用 MIT 许可证。详见 LICENSE 文件。
🔆 FAQ
<details> <summary>❓ 运行WechatAuto.sdk的示例自动化不了微信客户端?</summary> 回答:请按下面的步骤检查:
- 确保待自动化的微信的窗口是打开状态;
- 检查windows版本,仅支持win10+;
- 如果是最新版本的微信4.1.xx,请检查是否有UI Tree,如果没有UI Tree,请参考 我的最新版微信没有UI Tree,这个怎么办?
查看UI Tree的方法:下载并安装 UI Tree查看工具,如: inspect.exe或者FlaUInspect等,下载链接
- 如果经过上面的步骤还不行,请联系作者,并将你的代码发给他看; </details>
<details> <summary>❓ WechatAuto.sdk可以直接运行吗?</summary> 回答:SDK支持两种开发模式
- 内嵌方式,即以DLL或者Nuget包引入的方式,这个不能直接运行,因为是一个SDK开发包,需要整合在你的项目中使用,当然你也可以直接运行示例代码或者单元测试;
- Http WebAPI的方式,这个可以直接运行,请下载后直接运行; </details>
<details> <summary>❓ 请问WeChatAuto.SDK支持最新版的微信吗?</summary> 回答:支持最新版本的微信,并且会随着微信的版本更新而更新; </details>
<details> <summary>❓ WechatAuto.sdk还有计划支持3.1.9.12的旧版本吗?</summary> 回答:仓库对于3.1.9.xx版本支持已处于归档状态,请使用最新的微信版本 </details>
<details> <summary>❓ WeChatAuto.SDK开启录屏不成功?</summary> 问题:我使用了下面的代码开启了录屏后,运行被卡在在那里不往下运行了
WeAutomation.Initialize(builder.Services, options =>
{
//开启调试模式,调试模式会在获得焦点时边框高亮,生产环境建议关闭
options.DebugMode = true;
//开启录制视频功能,录制的视频会保存在项目的运行目录下的Videos文件夹中
options.EnableRecordVideo = true;
});
回答:WechatAuto.SDK使用ffmpeg进行录制,如果系统没有安装ffmpeg,第一次运行会自动从官网下载ffmpeg.exe,此文件比较大,并且需要梯子,如果没有开梯子或者梯子质量不好,会产生上述情况,建议按下面的步骤解决:
- 开VPN,等第一次下载完;
- 手动上传ffmpeg.exe文件至项目运行的ffmepg目录下:
- 开发环境为:bin\Debug\net9.0-windows\ffmpeg\ffmpeg.exe
- 运行环境为: 你的执行文件所在目录\ffmpeg\ffmpeg.exe </details>
<details> <summary>❓ SDK安装在服务器运行,并且用远程桌面连接服务器,远程桌面最小化的时候自动化异常?</summary> 回答:请在"发起远程桌面的客户端电脑"上,而不是服务器上执行下面脚本:
- 下载脚本
- 下载脚本后按下面的步骤执行:
- 执行作业之前,注销机器人(服务器)计算机上的所有用户。
- 执行作业之后,重新打开远程桌面连接。
- 现在,即使 RDP 窗口已最小化,您也可以自动化用户界面操作。 </details>
<details> <summary>❓ 远程桌面连接服务器后SDK发送消息不了?</summary> 回答: 请远程桌面打开服务器的时候,远程桌面按下面步骤执行: 打开远程桌面->本地资源->剪切板 打上勾,让远程桌面支持剪切板;
如下图所示:
</details>
🤝 贡献
如果发现BUG或者有功能增强需求,欢迎提交 Issue 和 Pull Request!
🙏 致谢
在这里感谢那些还在为自由和正义而奋斗的人们🎉🎉
⚒️ 免责声明
本 SDK 仅供学习和研究使用,请遵守微信使用条款,不得用于任何违法违规用途。使用本 SDK 产生的任何后果由使用者自行承担。
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net6.0-windows7.0 is compatible. net7.0-windows was computed. net7.0-windows7.0 is compatible. net8.0-windows was computed. net8.0-windows7.0 is compatible. net9.0-windows was computed. net9.0-windows7.0 is compatible. net10.0-windows was computed. net10.0-windows7.0 is compatible. |
-
net10.0-windows7.0
- FlaUI.Core (>= 5.0.0)
- FlaUI.UIA2 (>= 5.0.0)
- FlaUI.UIA3 (>= 5.0.0)
- MessagePack (>= 3.1.12)
- Newtonsoft.Json (>= 13.0.3)
- OneOf (>= 3.0.271)
- System.Security.Cryptography.Pkcs (>= 9.0.21)
-
net6.0-windows7.0
- FlaUI.Core (>= 5.0.0)
- FlaUI.UIA2 (>= 5.0.0)
- FlaUI.UIA3 (>= 5.0.0)
- MessagePack (>= 3.1.12)
- Newtonsoft.Json (>= 13.0.3)
- OneOf (>= 3.0.271)
- System.Security.Cryptography.Pkcs (>= 9.0.21)
- System.Threading.Channels (>= 9.0.10)
-
net7.0-windows7.0
- FlaUI.Core (>= 5.0.0)
- FlaUI.UIA2 (>= 5.0.0)
- FlaUI.UIA3 (>= 5.0.0)
- MessagePack (>= 3.1.12)
- Newtonsoft.Json (>= 13.0.3)
- OneOf (>= 3.0.271)
- System.Security.Cryptography.Pkcs (>= 9.0.21)
- System.Threading.Channels (>= 9.0.10)
-
net8.0-windows7.0
- FlaUI.Core (>= 5.0.0)
- FlaUI.UIA2 (>= 5.0.0)
- FlaUI.UIA3 (>= 5.0.0)
- MessagePack (>= 3.1.12)
- Newtonsoft.Json (>= 13.0.3)
- OneOf (>= 3.0.271)
- System.Security.Cryptography.Pkcs (>= 9.0.21)
- System.Threading.Channels (>= 9.0.10)
-
net9.0-windows7.0
- FlaUI.Core (>= 5.0.0)
- FlaUI.UIA2 (>= 5.0.0)
- FlaUI.UIA3 (>= 5.0.0)
- MessagePack (>= 3.1.12)
- Newtonsoft.Json (>= 13.0.3)
- OneOf (>= 3.0.271)
- System.Security.Cryptography.Pkcs (>= 9.0.21)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on WeAutoCommon:
| Package | Downloads |
|---|---|
|
WeChatAuto.SDK
WeChatAuto.SDK is a modern WeChat automation framework for AI integration. |
|
|
WeChatAuto4x.SDK
This is an automation SDK for WeChat 4.x,WeChatAuto.SDK is a modern WeChat automation framework for AI integration. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 2.1.9 | 117 | 11/3/2026 |
| 2.1.8 | 170 | 10/20/2026 |
| 2.1.7 | 103 | 10/20/2026 |
| 2.1.6 | 103 | 10/18/2026 |
| 2.1.5 | 111 | 10/16/2026 |
| 2.1.4 | 107 | 10/15/2026 |
| 2.1.3 | 109 | 10/13/2026 |
| 2.1.2 | 112 | 10/12/2026 |
| 2.1.1 | 108 | 10/12/2026 |
| 2.0.9 | 108 | 10/12/2026 |
| 2.0.8 | 117 | 10/12/2026 |
| 2.0.7 | 110 | 10/5/2026 |
| 2.0.6 | 120 | 10/4/2026 |
| 2.0.5 | 136 | 9/19/2026 |
| 2.0.4 | 121 | 9/17/2026 |
| 2.0.3 | 129 | 9/15/2026 |
| 2.0.2 | 201 | 8/8/2026 |
| 2.0.1 | 199 | 7/15/2026 |
| 2.0.0 | 160 | 7/13/2026 |
| 1.2.99 | 153 | 5/5/2026 |
only support .net core/.net5/6/7/8/9