尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
不碰内存,用图像识别代打日常:MAA 的明日方舟自动化思路拆解
不碰内存用图像识别代打日常MAA 的明日方舟自动化思路拆解【免费下载链接】MaaAssistantArknights《明日方舟》小助手全日常一键长草| A one-click tool for the daily tasks of Arknights, supporting all clients.项目地址: https://gitcode.com/GitHub_Trending/ma/MaaAssistantArknightsMAAMaaAssistantArknights是一款基于图像识别的《明日方舟》自动化工具一键跑完理智刷图、基建换班、公开招募等全部日常。它不往游戏里注入脚本、也不读内存只认屏幕上的像素然后模拟点击。核心引擎用 C20 编写支持 Windows、Linux、macOS并提供 CLI 以及 Python、Rust、Golang 等多语言接口可以接进你自己的自动化流程。MAA 替你解决的日常麻烦先看活本身。明日方舟的日常高度重复刷战斗关卡烧理智、给基建换班、做公开招募、收委托、访友。单个动作都不难但每天手动来一遍是纯体力活而且刷完还得自己数刷了几次、掉了什么材料、基建下一班该换谁效率最高。再看手段的麻烦。按键宏只认固定按键游戏换个布局就失效读内存或注入脚本能直接操作游戏数据但会不会触发反作弊要自己赌。MAA 走的是第三条路把游戏画面当作唯一的信息来源先判断我现在在哪个界面再决定下一步点什么全程不碰游戏进程。跑完还能识别屏幕上的掉落数字把统计上传到企鹅物流这类数据站。MAA 的图像识别是怎么实现的为什么任务流程写成 JSON 配置MAA 的调度核心是一台配置驱动的状态机。仓库里 resource/tasks 下的任务就是一堆 JSON每个节点声明用什么算法识别algorithm、识别到后做什么动作action、成功后去哪个节点next、失败时去哪里兜底onErrorNext、最多跑几次maxTimes。以公招为例识别开始招募按钮、点击、识别公招结果界面的干员信息、记录、跳回按钮节点继续循环直到次数用尽。调度代码在 src/MaaCore/Task/ProcessTask 的循环本质就两步find_first 在候选列表里找出当前屏幕上第一个能识别到的节点run_action 执行该节点对应的点击、滑动或输入。这个拆分的意义在于游戏更新导致按钮换皮或挪位置时需要改的是资源里的模板图和 JSON 参数而不是重新编译 C 代码。维护者和社区在版本更新后修工具的成本被压到最低仓库里还专门有一份 task-schema 协议文档逐个字段解释规则。配置里也有几处为性能留的后门roi 可以缩小识别区域cache 表示这个目标位置永远不会变首次识别后只查同一个位置。代价是位置可能变化的目标必须显式关掉缓存配置者得自己判断。图像识别如何定位游戏界面元素游戏不暴露任何 API屏幕上的像素才是唯一可信的信息源。src/MaaCore/Vision/ 模块把识别拆成四种可按任务选择的算法在 JSON 里直接声明用哪种MatchTemplate 模板匹配把按钮截图存成模板图在屏幕上找最相似的区域匹配阈值由 templThreshold 控制OcrDetect 文字识别用 ONNX Runtime一个跨平台的机器学习模型推理引擎跑轻量模型认出屏幕上的数字和文本掉落数、理智值靠它FeatureMatch 特征点匹配应对光照、角度有变化的复杂场景JustReturn 不识别直接执行动作相当于流程里的纯干步骤。拆成四种而不是统一用一个模型是因为不同元素适合不同手段固定 UI 按钮用模板匹配最快会变的数字必须走 OCR而写死坐标只对一种分辨率有效所以 MAA 把所有 roi 和点击坐标统一到 1280x720 坐标系运行时自动缩放换分辨率不用改配置。跨平台控制层为什么有这么多 Controller看见是一半点到是另一半。识别出位置后总得有个东西执行点击而这个东西取决于你在哪跑游戏安卓模拟器MuMu、夜神之类走 ADB 接口——ADB 即 Android Debug Bridge控制安卓设备的命令行通道Windows 上游戏窗口走 Win32 APImacOS 用截屏加输入模拟真机触屏则交给 minitouch。打开 src/MaaCore/Controller/ 目录能看到这些平台实现并列存放但上层任务调用的始终是同一个抽象接口 Controller不关心背后是 ADB 还是 Win32。这层抽象解决的是一个很现实的问题同一套 JSON 任务流要能在不同模拟器、不同操作系统上零改动地跑起来。MAA 的安装与首次运行步骤只想用的话不用碰代码。从官网或 Releases 下载对应系统的安装包Windows x64 / macOS 通用版完整解压到一个不需要管理员权限的路径。在解压目录里以管理员身份运行 DependencySetup_依赖库安装.bat装 VC 运行库依赖。双击 MAA.exe 启动按界面引导连接你的游戏客户端即可。Linux 用户没有图形界面文档明确 GUI 暂不支持 Linux走 maa-cli 命令行。安装核心、初始化配置后开游戏、用 3 个理智药刷 BB-7、关游戏这个日常就是maa startup Official maa fight BB-7 -m 3 maa closedown更多预定义任务肉鸽、保全派驻、抄作业和自定义任务配置maa-cli 使用文档 里有完整说明。想自己编译的话比如改点识别逻辑Linux 下先克隆仓库注意要带上子模块git clone --recurse-submodules https://gitcode.com/GitHub_Trending/ma/MaaAssistantArknights然后运行 python tools/maadeps-download.py 拉取预构建的 OpenCV、ONNX Runtime 等第三方库再用 CMake 配置构建cmake -B build -DINSTALL_RESOURCEON -DCMAKE_TOOLCHAIN_FILEsrc/MaaUtils/MaaDeps/cmake/maa-x64-linux-toolchain.cmake cmake --build buildWindows 更简单cmake --preset windows-x64 之后用 Visual Studio 打开解决方案就能编译。MAA 的设计取舍与局限选图像识别就是选它的代价。模板匹配是像素级的看游戏把按钮图标换一版、你换了 UI 主题它就不认识了必须同步更新资源而读内存的方案没有这个问题但触发反作弊的风险是 MAA 不愿意押注的。图像识别也比读数据慢所以才有 roi 缩小搜索区域、cache 只查固定位置这类优化——本质是用假设位置不变换速度。核心用 C20 写图的是实时处理的性能和一套代码交叉编译到三个平台的能力代价是上手门槛高第三方依赖要么下载预构建库、要么自己编文档也坦言构建方式仍在讨论中建议以 CI 脚本为准。插件机制继承 AbstractTaskPlugin 注册新逻辑降低了加一种识别的成本但前提还是你会写 C。局限要如实说外服美、日、韩、繁中按文档说法大部分功能已支持但没有进行全面测试JSON 不支持注释任务流 schema 字段多、学习曲线陡官方建议装 VS Code 的 Maa Pipeline Support 插件辅助编写GUI 目前只有 Windows 和 macOS 两份。写在最后MAA 把没有 API、只有屏幕的游戏自动化做成了一套可维护的工程配置与代码分离、识别算法按场景拆分、控制层抽象统一多平台。想深入的话从 task-schema 协议文档读起再翻 src/MaaCore/Task/ 里 ProcessTask 的调度循环是最快的路径改配置则从 docs/zh-cn/protocol/task-schema.md 的字段对照表下手。【免费下载链接】MaaAssistantArknights《明日方舟》小助手全日常一键长草| A one-click tool for the daily tasks of Arknights, supporting all clients.项目地址: https://gitcode.com/GitHub_Trending/ma/MaaAssistantArknights创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

Flask 项目布局:从单文件应用到 flaskr 博客包的完整目录结构设计

Flask 项目布局:从单文件应用到 flaskr 博客包的完整目录结构设计

Flask 项目布局:从单文件应用到 flaskr 博客包的完整目录结构设计 【免费下载链接】flask The Python micro framework for building web applications. 项目地址: https://gitcode.com/gh_mirrors/fl/flask 本文基于 Flask 官方教程的第一节“Project Layou…

📅 2026/10/27 23:26:00
CPython C API 中 Py_None 单例对象的设计与使用:从 Py_IsNone 到 Py_RETURN_NONE 的源码级解析

CPython C API 中 Py_None 单例对象的设计与使用:从 Py_IsNone 到 Py_RETURN_NONE 的源码级解析

CPython C API 中 Py_None 单例对象的设计与使用:从 Py_IsNone 到 Py_RETURN_NONE 的源码级解析 【免费下载链接】cpython The Python programming language 项目地址: https://gitcode.com/GitHub_Trending/cp/cpython 本文围绕 CPython 官方文档 Doc/c-api…

📅 2026/10/23 3:45:06
Gopeed BT下载路径设置指南:让文件存到你想要的位置

Gopeed BT下载路径设置指南:让文件存到你想要的位置

Gopeed BT下载路径设置指南:让文件存到你想要的位置 【免费下载链接】gopeed A fast, modern download manager for HTTP, BitTorrent, Magnet, and ed2k. Cross-platform, built with Golang and Flutter. 项目地址: https://gitcode.com/GitHub_Trending/go/go…

📅 2026/10/26 3:45:55
MORE NEWS

更多资讯

📰

Hermes Agent自进化AI框架架构与实战部署指南

1. Hermes Agent技术架构概览 Hermes Agent作为新一代AI Agent框架,其核心创新点在于将"自进化"这一抽象概念转化为可落地的工程实现。不同于传统AI系统的静态架构,Hermes通过模块化设计实现了动态演化的能力框架。我在实际部署中发现&#xf…

📰

TI HDQ协议详解:单线电池通信的硬件时序实现

简介:本资源是一套面向嵌入式开发工程师与电池管理系统(BMS)研发人员的TI HDQ协议全平台实现方案,聚焦于与bq27xxx系列电量计芯片的底层通信开发。资源涵盖STM32、Arduino及Linux三大主流平台的HDQ单总线协议驱动代码,…

📰

Vue+Spring Cloud构建高并发在线考试系统架构实践

简介:这是一套基于Vue与Spring Cloud微服务架构开发的完整在线考试系统源码,面向Java全栈开发者、微服务学习者及高校课程设计实践者,解决传统单体考试系统扩展性差、前后端耦合高、权限控制粗粒度等典型问题。资源包共200个文件,…

📰

计算机视觉第一个程序:从读图到边缘检测的完整实践

1. 项目概述:从“Hello World”到“看见世界”的第一脚印“二、计算机视觉-第一个程序”——这个标题看起来像教科书里的章节编号,但对刚推开CV大门的人来说,它不是序号,而是临界点。我带过不少零基础转行的学员,他们常…

📰

AI营销系统如何破解高净值行业获客难题

1. 项目背景:高净值行业获客困境与AI破局之道在高端服务业和奢侈品、金融、医疗等高净值行业,获客成本常年居高不下已成为行业共识。根据我过去五年服务高端客户的经验,这些行业普遍面临三个核心痛点:目标客户画像模糊导致营销资源…

📰

Lua脚本在游戏动态道具系统中的设计与优化

1. 项目概述:Lua脚本在现代游戏开发中的独特价值十年前我第一次接触游戏开发时,就发现了一个有趣的现象:几乎所有大型游戏项目都在使用Lua。从《魔兽世界》的插件系统到《愤怒的小鸟》的关卡逻辑,这个轻量级脚本语言无处不在。直到…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬