FH6Auto Mystic 是基于上游 FH6Auto v3.2 维护的本地增强版本,围绕远程挂机、窗口焦点恢复、中文路径兼容和加速键配置做了补丁。它仍然保留循环跑图、批量买车、超级抽奖、技能路径配置、模块串联、运行统计、停止控制,以及可选的 AI 辅助选车。
本项目仅用于 Python 自动化、图像识别与本地脚本技术交流学习。请勿用于商业用途、破坏游戏平衡或违反相关服务条款。因使用本工具造成的任何后果,包括但不限于账号异常、封禁、数据损失等,均由使用者自行承担。
本项目来自 YOUSTHEONE/FH6Auto,并基于 AxeroYF/FH6 的 v3.2 代码继续维护。Mystic 版本主要面向本地远程运行和挂机场景,保留上游功能的同时加入少量兼容性补丁。
- 新增加速键 GUI 配置,默认仍为
w,up,可以在主界面改成其他按键组合,不再需要修改main.py。 - 发送按键或鼠标点击前会检查游戏窗口焦点;如果检测到失焦,会按
forzahorizon6.exe进程尝试恢复窗口焦点,恢复失败时跳过本次输入。 - 修复 OpenCV 在中文路径下读取模板图不稳定的问题,模板读取改为 Unicode 兼容路径。
- 新增 Parsec 断连测试日志工具
tools/run_with_file_log.py,可以记录前台窗口、截图状态和 Forza 窗口位置,便于排查远程断开后的运行状态。 - 保持上游 v3.2 的 AI 预加载、智能页码、纯 AI 选车和蓝图输入框等待逻辑。
- 优化蓝图共享代码输入流程:按下
Enter后不再依赖固定延时,而是等待共享代码输入框出现后再输入,提升慢加载客户端兼容性。 - AI 选车模型改为软件启动后后台预加载,减少超级抽奖首次进入选车时的等待。
- 移除
F9暂停快捷键和运行栏暂停按钮,保留F8停止入口,并调整运行栏按钮布局。 - 纯 AI 选车模式继续保留:纯 AI 模式下超级抽奖目标车辆识别不会回退模板匹配。
- 优化循环跑图流程中的主菜单识别、蓝图搜索等待和赛事入口等待,减少固定延时导致的错位。
- 优化超级抽奖流程中的“上车 -> 喷漆车辆 -> 返回车辆菜单 -> 升级与调校”状态链路,降低误点到其他菜单项的概率。
- 收紧
skillcar反向识别阈值,减少非目标车辆被误判为刷图车的情况。 - 优化
SPNE提示识别,并改为每次技能点击后立即检查,避免出现无技能点后仍继续按方向键。 - 新增循环跑图首次启动提示框,提醒用户在开始前确认兼容性设置。
- 优化超级抽奖循环:点完技能树返回车辆菜单后,通过
designpaint进入设计与涂装流程,再进入choosecar选择下一辆全新车辆,减少反复从外层菜单进入车辆列表的不稳定性。 - 适配设计编辑器提示弹窗:点击
designpaint后会先尝试识别choosecar,如果没有出现才按一次Enter确认提示,兼容已勾选“不再显示该消息”的用户。 - 新增
designpaint-w.png/designpaint-b.png识别模板,用于进入设计与涂装入口。 - 保留并复用原有严格选车逻辑:
全新标签 -> B600 等级 -> 目标车辆卡片多段验证。 - 调整
AI辅助逻辑:开启后超级抽奖选车会优先使用 YOLO 模型识别,再使用模板检测兜底。 - 新增
智能页码开关,用于控制超级抽奖选车时是否启用记忆页码跳转。 - 保留
AI自动截图,便于保存 pass/miss 样本继续训练和排查。 - 继续支持超级抽奖结束后切回带收藏标签的刷图车。
- 重写主界面 UI,保持黑色主题,优化整体布局、字体、卡片比例和运行信息展示。
- 新增日志面板折叠 / 展开功能,折叠后释放下方日志区域占用空间。
- 新增
AI自动截图开关,默认关闭;开启后才会保存 AI/严格选车识别截图作为训练数据。 - 调整 AI 辅助逻辑,
AI辅助只负责启用 YOLO 兜底识别,不再默认保存训练截图。 - 新增蓝图失效识别模板与处理流程,识别到失效蓝图后会返回漫游界面并中断流程。
- 优化作者评价界面处理,兼容
likeauthor/dislikeauthor偶发弹窗。 - 拆分
main.py中的基础功能,将 UI、资源路径、图片匹配逻辑拆到独立模块,方便后续维护。
主要更新:
- 适配当前游戏版本的 UI 流程与图像识别状态。
- 重构主界面布局,移除独立信息监视窗口,运行状态、暂停/停止和统计信息整合到主 UI。
- 删除“支持作者”入口。
- 优化超级抽奖选车逻辑,按“全新标签 + B600 等级 + 目标车辆卡片”进行多段验证。
- 修复超级抽奖结束后切回刷图车的流程,支持自动寻找带收藏标签的刷图车并上车。
- 修复车辆菜单焦点偏移导致误进“车房宝物”等问题。
- 新增可选
AI辅助,在模板识别失败时使用 YOLO 模型兜底选车。 - 可选开启
AI自动截图保存识别样本,便于后续继续训练和适配。
建议在 GitHub Release 中提供两个压缩包:
FH6Auto-3.0-Standard.zip
FH6Auto-3.0-AI.zip
适合大多数用户直接使用。
- 不包含 AI 推理依赖,体积较小。
- 解压后运行
FH6Auto.exe。 - 不需要用户安装 Python。
- 超级抽奖默认使用普通模板识别逻辑。
- 不建议开启
AI辅助;如果误开但缺少 AI 依赖,程序会回退到普通识别并在日志中提示。
适合需要更强选车适配能力的用户,尤其是分辨率、UI 缩放或画面表现与 1080p 标准环境不同的情况。
- 包含预训练模型:
models/fh6_car_select_yolo.pt。 - 打开
AI辅助:模板识别失败后使用 YOLO 兜底。 - 打开
AI辅助:优先使用 YOLO 识别,失败后使用模板兜底。 - AI 模型主要基于 1080p 截图训练,对非 1080p 通常比纯模板更宽容,但不保证适配所有分辨率、HDR、滤镜或画质设置。
- Windows 系统。
- 游戏语言:简体中文。
- 输入法:英文键盘。
- 推荐分辨率:1920x1080。
- 建议关闭 HDR、滤镜或明显改变画面颜色的后处理。
- 运行脚本时仍建议保持游戏在前台。Mystic 版本会在输入前尝试恢复失焦窗口,但最小化、锁屏、远程桌面断开导致无画面时,截图和输入仍可能失效。
请准备用于循环跑图的车辆:
- 斯巴鲁 Impreza 22B-STi Version。
- 调校到 S2 900。
- 加入收藏。
- 保持默认涂装。
超级抽奖结束后,如果下一步设置为循环跑图,程序会尝试在“我的车辆”中切换回这辆带收藏标签的刷图车。
- 自动进入菜单和 EventLab。
- 自动输入蓝图分享代码。
- 自动匹配目标车辆与赛事。
- 支持按设定次数重复执行。
- 支持超时检测和异常恢复。
- 自动进入车辆收藏。
- 自动定位目标品牌和目标车辆。
- 自动重复购买指定数量车辆。
- 自动进入车辆与收藏、购买与出售页面。
- 通过
designpaint/choosecar进入可复用选车界面。 - 自动筛选全新目标消耗车辆。
- 自动上车并进入升级与调校、车辆专精。
- 按用户配置的技能路径点技能。
- 点完技能后返回车辆菜单,继续下一轮
designpaint -> choosecar -> 选车 -> 点技能循环。 - 技能点耗尽或车辆已处理时自动结束。
选车时依次验证:
全新标签 -> B600 等级 -> 目标车辆卡片
可以将多个模块串联为流水线:
循环跑图 -> 批量买车 -> 超级抽奖 -> 下一轮循环
每个模块完成后是否继续到下一模块、总循环次数,都可以在主界面配置。
主界面超级抽奖区域有四个相关开关:
AI辅助:启用 YOLO 模型参与选车。智能页码:启用超级抽奖选车的记忆页码跳转;如果遇到跳过目标车辆的问题,可以关闭此项。纯AI:只使用 AI 识别目标车辆,AI 未找到时不再回退模板匹配。AI自动截图:保存 AI/严格模板识别过程中的样本图,便于复盘和训练。
识别顺序:
AI辅助逻辑:
AI 模型识别 -> 严格模板兜底
纯AI逻辑:
AI 模型识别 -> 未找到则直接翻页
AI 会同时判断 new_tag、class_b600、target_car 三类目标。更多训练、验证和数据集说明请看 README-AI.md。
源码运行不会自动安装依赖,需要手动安装。
python -m venv .venv
.\.venv\Scripts\activate
python -m pip install -r requirements.txt
python main.pypython -m pip install -r requirements-ai.txt然后准备模型文件:
models/fh6_car_select_yolo.pt
检查 AI 环境:
python -c "import ultralytics, torch; print(ultralytics.__version__); print(torch.cuda.is_available()); print(torch.cuda.get_device_name(0) if torch.cuda.is_available() else 'CPU')"AI 可以使用 CPU,但速度会慢一些。推荐 NVIDIA 显卡用户安装匹配 CUDA 的 PyTorch。
主界面可以配置:
- 跑图次数。
- 买车次数。
- 超级抽奖次数。
- 蓝图分享代码。
- 大循环次数。
- 单局超时时间。
- 模块完成后是否继续。
- 技能路径。
AI辅助开关。智能页码开关。纯AI开关。AI自动截图开关。- 加速键配置,默认
w,up。
主界面运行监控会显示:
- 运行状态。
- 当前任务。
- 当前任务进度。
- 大循环进度。
- 本任务耗时。
- 总运行时间。
- 跑图 / 买车 / 超抽累计耗时。
- 暂停 / 停止控制。
F8:停止当前任务并释放按键。F3:测试找图流程。
停止任务时,程序会尝试释放方向键、确认键、返回键、空格、当前配置的加速键等输入,避免异常退出后卡键。
项目使用 images 目录中的模板图进行识别。程序会优先读取外部 images 目录,方便用户自行替换模板以适配不同分辨率、画质和游戏 UI 状态。
常见模板包括:
designpaint-w.png/designpaint-b.png:设计与涂装入口。choosecar.png/choosecar-b.png:选择车辆入口。CCbrand.png:消耗车辆品牌。consumablecar.png:用于点技能的消耗品车辆。newcartag.png:黄色“全新”标签。classB600.png:B 600等级标签。newCC.png:目标车辆卡片。UandT-w.png/UandT-b.png:升级与调校。clsldcnw.png/clsldcnb.png:车辆专精。skillcar.png:刷图技能点车辆。liketag.png:收藏标签。
如果识别失败,优先考虑重新截图替换对应模板。
用户配置保存在项目根目录的 config.json。程序启动时会自动补全缺失字段,并兼容迁移旧版配置。
重要配置包括:
race_countbuy_countcj_countshare_codeglobal_loopsskill_dirsauto_restartrestart_cmdrace_timeoutai_assistai_onlysmart_pageai_auto_captureai_model_pathdrive_keys
标准版打包需要:
python -m pip install -r requirements.txt
python -m pip install pyinstallerAI 版打包还需要:
python -m pip install -r requirements-ai.txtAI 版需要准备模型:
models/fh6_car_select_yolo.pt
模型文件不建议提交到源码仓库,建议放入 GitHub Release 的 AI 压缩包中。
customtkinter:桌面 UI。opencv-python:模板匹配与图像识别。numpy:图像数组处理。pyautogui:截图与基础自动化。pydirectinput:游戏场景输入模拟。pynput:全局热键监听。Pillow:图像加载与处理。pywin32/ctypes:窗口聚焦、API 适配与底层输入。ultralytics/torch:可选 AI 辅助选车。
感谢原项目 YOUSTHEONE/FH6Auto 提供的基础实现与思路。