一个基于计算机视觉和AI的魔法工艺游戏自动化系统,支持实时检测、法术构建、门选择等核心功能。
-
实时检测 (realtime_detect.py)
- 使用YOLOv5模型实时检测游戏窗口
- 支持动态调整每个分类的检测阈值
- 自动瞄准、闪避、攻击等控制功能
-
法术构建 (spell_construct_flow.py)
- 智能分析和构建法术配置
- 自动识别危险法术并避免使用
- 支持多法杖配置管理
-
门选择 (door_handler.py)
- 自动分析门场景
- 智能选择最优门选项
- 集成法术分析流程
-
选项选择 (option_selector.py)
- 使用OCR和多模态AI识别游戏选项
- 智能决策选择最优选项
- Python 3.8+
- Windows 10/11(游戏运行环境)
- CUDA支持的GPU(推荐,用于YOLO模型加速)
- 魔法工艺游戏(需要运行在本地)
# 如果使用git
git clone <repository-url>
cd train_MAGIC# 使用venv
python -m venv venv
# 激活虚拟环境
# Windows:
venv\Scripts\activate
# Linux/Mac:
source venv/bin/activatepip install -r requirements.txt复制 .env.example 文件为 .env:
# Windows PowerShell
Copy-Item .env.example .env
# Windows CMD
copy .env.example .env
# Linux/Mac
cp .env.example .env然后编辑 .env 文件,填写你的实际配置(见下方配置说明)。
你需要准备训练好的YOLO模型文件:
-
模型权重文件 (
.pt文件)- 将模型文件放在项目目录下的
weights/文件夹 - 或修改
.env中的MODEL_WEIGHTS_PATH指向你的模型路径
- 将模型文件放在项目目录下的
-
数据配置文件 (
.yaml文件)- 包含类别名称等配置信息
- 将文件放在项目根目录
- 或修改
.env中的MODEL_DATA_YAML指向你的配置文件路径
项目使用 .env 文件管理所有敏感配置。以下是所有可配置项:
# 阿里云百炼API密钥(用于AI模型调用)
API_KEY=your_api_key_here
# API基础URL
BASE_URL=https://router.shengsuanyun.com/api/v1# 多模态模型(用于图像识别和分析)
MULTIMODAL_MODEL=ali/qwen3-vl-plus
# 文本模型(用于决策和文本分析)
TEXT_MODEL=ali/qwen3-max
# 思考模型(用于复杂推理任务)
THINK_MODEL=deepseek/deepseek-v3.2-think# 法术API端点(游戏内服务地址)
SPELLS_ENDPOINT=http://localhost:1234/spells
# 商店API端点(游戏内服务地址)
STORE_ENDPOINT=http://localhost:1234/store# 模型权重文件路径
# 可以使用相对路径(相对于项目根目录)或绝对路径
MODEL_WEIGHTS_PATH=weights/best.pt
# 数据配置文件路径
# 可以使用相对路径(相对于项目根目录)或绝对路径
MODEL_DATA_YAML=data.yaml-
阿里云百炼API
- 访问 阿里云百炼平台
- 注册/登录账号
- 创建API密钥
- 将密钥填入
.env文件的API_KEY
-
游戏API端点
- 确保游戏内服务正在运行
- 默认地址为
http://localhost:1234 - 如果端口不同,请修改
.env中的对应配置
运行实时检测脚本:
python realtime_detect.py功能说明:
- 自动检测游戏窗口
- 实时显示检测结果
- 支持按键调整检测阈值
- 自动控制功能(瞄准、闪避、攻击)
按键控制:
Q- 退出程序T- 切换显示模式- 其他按键根据代码中的配置
python spell_construct_flow.py功能说明:
- 分析当前法术配置
- 智能构建最优法术组合
- 自动识别并避免危险法术
门选择功能集成在 realtime_detect.py 中,当检测到门时会自动触发。
python option_selector.py功能说明:
- 截取游戏窗口
- 使用OCR识别选项
- AI智能选择最优选项
train_MAGIC/
├── .env # 环境变量配置(需要自己创建)
├── .env.example # 环境变量模板
├── requirements.txt # Python依赖包
├── README.md # 本文件
│
├── realtime_detect.py # 实时检测主程序
├── spell_construct_flow.py # 法术构建
├── door_handler.py # 门处理逻辑
├── option_selector.py # 选项选择
│
├── get_game_window.py # 游戏窗口捕获
├── capture_and_analyze.py # 捕获和分析
├── store_auto_flow.py # 商店自动流程
├── store_purchase_decision.py # 商店购买决策
├── mark_spell_slots.py # 标记法术槽位
│
├── auto_attack.py # 自动攻击
├── auto_dodge.py # 自动闪避
├── control_thread.py # 控制线程
│
├── omni_models/ # AI模型模块
│ ├── omni.py # 多模态和文本模型
│ └── think_model.py # 思考模型
│
├── utils/ # 工具函数
│ ├── paths.py # 路径配置
│ └── logger.py # 日志工具
│
├── weights/ # YOLO模型权重(需要自己准备)
│ └── best.pt
│
├── data.yaml # YOLO数据配置(需要自己准备)
│
└── *.json # 各种配置文件
├── slots_*.json # 法术槽位配置
├── spell_slot.json # 法术槽位信息
└── store_*.json # 商店缓存文件
问题: 运行程序时提示"无法找到Magicraft游戏窗口"
解决方案:
- 确保游戏正在运行
- 检查游戏窗口标题是否包含"Magicraft"或"魔法工艺"
- 尝试以管理员权限运行程序
问题: 提示"模型文件不存在"
解决方案:
- 检查
.env文件中的MODEL_WEIGHTS_PATH和MODEL_DATA_YAML配置 - 确保模型文件路径正确
- 如果使用相对路径,确保文件在项目目录下
问题: AI模型调用失败,返回错误
解决方案:
- 检查
.env文件中的API_KEY是否正确 - 确认网络连接正常
- 检查API配额是否用完
- 验证
BASE_URL是否正确
问题: 无法连接到 http://localhost:1234
解决方案:
- steam右键游戏 -> 属性 -> 测试版 输入AIBetaTest1107。 进入游戏后按~呼出控制台,输入aidata_server开启端口
- 确保游戏内服务正在运行
- 检查端口号是否正确(默认1234)
- 如果端口不同,修改
.env中的SPELLS_ENDPOINT和STORE_ENDPOINT
问题: pip install -r requirements.txt 失败
解决方案:
- 确保Python版本 >= 3.8
- 尝试升级pip:
python -m pip install --upgrade pip - 对于PyTorch,可能需要根据你的CUDA版本安装:
# CPU版本 pip install torch --index-url https://download.pytorch.org/whl/cpu # CUDA版本(根据你的CUDA版本选择) pip install torch --index-url https://download.pytorch.org/whl/cu118
问题: YOLO模型检测结果不准确
解决方案:
- 调整
realtime_detect.py中各类别的阈值 - 使用训练更好的模型
- 检查游戏窗口是否被正确捕获
- 不要将
.env文件提交到版本控制系统 .env文件包含敏感信息(API密钥等)- 建议将
.env添加到.gitignore
- 在
.env.example中添加新配置项 - 在代码中使用
os.getenv('YOUR_VAR', 'default_value')读取 - 更新本README的配置说明部分
- 核心功能模块:
realtime_detect.py,spell_construct_flow.py等 - AI模型模块:
omni_models/目录 - 工具函数:
utils/目录 - 配置文件:JSON格式的配置文件
[根据实际情况填写]
欢迎提交Issue和Pull Request!
注意: 本项目仅供学习和研究使用,请遵守游戏服务条款。