Skip to content

项目简介

什么是 Wingman?

Wingman 是一个游戏自动化可编程控制引擎,基于 C++ 和 Lua 构建。

设计目标

核心目标

  1. 高性能 - C++ 核心引擎,Lua 脚本执行,毫秒级响应
  2. 安全可靠 - 纯用户态运行,使用合法 Windows API
  3. 可编程 - Lua 脚本控制,无限扩展可能
  4. 易调试 - 强大的调试能力,支持断点、变量查看、性能分析

不做什么

Wingman 遵循单一职责原则,以下功能不在项目范围内:

功能说明
❌ 内核驱动不开发驱动,纯用户态
❌ 内存读写不读取/修改游戏内存
❌ DLL 注入不注入代码到游戏进程
❌ 游戏破解不修改游戏文件/协议
❌ 分布式网络不做分布式网络
❌ 账号管理不管理游戏账号
❌ 任务调度不做调度逻辑

项目边界

┌─────────────────────────────────────────────────────────────────┐
│                      ✅ Wingman 边界内                            │
├─────────────────────────────────────────────────────────────────┤
│                                                                  │
│   屏幕操作           截图、像素检测、颜色匹配、图像查找            │
│   输入模拟           鼠标点击/移动、按键发送、文本输入              │
│   窗口管理           查找窗口、激活窗口、获取位置                   │
│   进程管理           启动/等待/终止进程                            │
│   脚本引擎           Lua 脚本执行、API 暴露                         │
│   工具函数           延迟、日志、配置                               │
│   人性化模拟         随机延迟、自然鼠标轨迹、操作节奏                │
│   远程控制           TCP Server/Client,暴露 API 供外部调用           │
│   调试器             断点、变量查看、性能分析                        │
│                                                                  │
└─────────────────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────────────────┐
│                      ❌ Wingman 边界外                            │
├─────────────────────────────────────────────────────────────────┤
│                                                                  │
│   内核驱动            不开发驱动,纯用户态                         │
│   内存读写            不读取/修改游戏内存                           │
│   DLL 注入           不注入任何代码到游戏进程                       │
│   游戏破解            不修改游戏文件/协议                          │
│   网络功能            不做分布式网络                              │
│   账号管理            不管理账号                                  │
│   调度系统            不做调度                                    │
│   多机协同            不做分布式(单机引擎)                        │
│                                                                  │
└─────────────────────────────────────────────────────────────────┘

核心设计原则

1. 安全第一

  • 纯用户态运行,不进入内核
  • 使用合法 Windows API(SendInput 等)
  • 不读写游戏内存
  • 不注入任何代码到游戏进程
  • 模拟真实人类操作模式

2. 性能优先

  • C++ 实现性能敏感操作
  • Lua 提供高效的脚本执行
  • 零拷贝数据传递
  • 批量操作减少跨语言调用

3. 可编程

  • Lua 脚本控制,用户可扩展
  • 不限制使用场景
  • 丰富的 API 暴露
  • 支持复杂业务逻辑

4. 单一职责

  • 只做游戏自动化
  • 不涉及账号管理
  • 不涉及任务调度
  • 不涉及分布式

5. 人性化

  • 模拟真实人类操作
  • 降低检测风险
  • 可配置的"人性化"参数

目标用户

用户类型使用方式
游戏工作室编写 Lua 脚本自动化
高级玩家编写个人辅助脚本

技术栈

核心引擎
├── C++17
├── Windows API
├── Lua
├── OpenCV (可选)
└── sol2 (C++/Lua 绑定)

构建系统
├── CMake
└── Visual Studio 2022

调试器
├── Debug Adapter Protocol
└── VS Code 插件

文档
└── VitePress

许可证

Apache License 2.0 - 详见 LICENSE