MaaAssistantArknights 上手指南:从图像识别到一键长草的 4 步拆解
2026/9/15 8:40:19 网站建设 项目流程

MaaAssistantArknights 上手指南:从图像识别到一键长草的 4 步拆解

【免费下载链接】MaaAssistantArknights《明日方舟》小助手,全日常一键长草!| A one-click tool for the daily tasks of Arknights, supporting all clients.项目地址: https://gitcode.com/GitHub_Trending/ma/MaaAssistantArknights

每天上线,清体力、刷材料、巡访好友、领邮件,这套流程重复上百次,手比脑子先累。MaaAssistantArknights(下称 MAA)就是为这类「明日方舟游戏自动化」需求写的:你只管点一次开始,剩下的截屏、判断、点击由它循环完成。

它解决什么问题

  • 日常一键化:理智作战、访问好友、收取信用、领奖励打包成一次操作,跑完即可下线
  • 公招全自动:自动公招可选加急许可,刷完后把数据同步到统计网站
  • 基建排班:自动计算干员效率并安排换班,也支持自定义排班
  • 肉鸽 / 保全派驻:选一个作业 JSON,它按作业自动抄
  • 无界面也能跑:maa-cli 支持 Windows、Linux、macOS,适合挂脚本或无桌面的服务器

工作原理:一条数据链路

把 MAA 的运行过程拉直,就是四步循环,每一步的输入输出都很清楚。

1. 截屏

  • 输入:目标窗口(游戏本体、MuMu/Play 模拟器、Android 设备)
  • 输出:一帧屏幕图像(OpenCV 的cv::Mat
  • 负责模块:src/MaaCore/Controller/。AdbController走 ADB 抓安卓帧,Win32Controller抓 Windows 窗口,macOS 用MacSCKHelper调 ScreenCaptureKit,MumuControllerPlayToolsController走各家模拟器接口

2. 识别

  • 输入:这一帧图像 + JSON 资源里声明的模板、识别区域
  • 输出:「当前在哪个界面」「按钮在 (x, y)」这类结构化结果
  • 负责模块:src/MaaCore/Vision/。Matcher做模板匹配定位图标,OCRer/RegionOCRer做文字识别(底层由 ONNX Runtime 跑 OCR 模型,OnnxHelper负责会话管理),FeatureMatcher处理复杂场景的特征点匹配,MultiMatcher一次比对多张模板

3. 决策

  • 输入:上一步的结构化结果 + 任务配置
  • 输出:下一步动作序列,例如「点 (412, 233),等 1 秒」
  • 负责模块:src/MaaCore/Task/。ProcessTaskInterfaceTaskPackageTask把游戏操作拆成可组合的任务单元,各任务通过AbstractTask的插件机制挂上具体逻辑;识别配置由 src/MaaCore/Config/ 的ResourceLoader从 JSON 资源读取,行为改配置就行,不用改代码

4. 执行

  • 输入:动作序列
  • 输出:真实的点击、滑动、按键事件,游戏状态变化后回到第 1 步
  • 负责模块:仍在 Controller 层。MinitouchController模拟触控事件,SwipeHelper处理滑动轨迹,ControlScaleProxy在控制器分辨率和真实窗口之间换算坐标

模块地图

模块职责路径
MaaCore核心引擎:识别、任务调度、设备控制src/MaaCore/
Vision模板匹配、OCR、特征点匹配src/MaaCore/Vision/
Controller各平台截屏与触控模拟src/MaaCore/Controller/
Task任务单元、插件机制、战斗/基建/肉鸽逻辑src/MaaCore/Task/
Config资源加载、OCR 会话、GPU 选择src/MaaCore/Config/
MaaWpfGuiWindows 桌面端src/MaaWpfGui/
maa-cli命令行入口src/maa-cli/
多语言绑定C 接口之上的各语言封装src/Python/、src/Java/、src/Rust/、src/Golang/、src/Dart/
include对外 C 头文件(AsstCaller、MaaCore 等)include/

从零跑起来

环境依赖

  • CMake ≥ 3.28,构建配置集中在 CMakePresets.json
  • C++20 编译器:Windows 用 Visual Studio,Linux/macOS 用 Ninja
  • OpenCV 4.x、ONNX Runtime、zlib、Boost——不想自己装的话,用仓库自带的依赖工具tools/maadeps-download.py(各平台 preset 里的MAADEPS_TRIPLET变量就是给它用的)

编译 MaaCore

  1. 配置:cmake --preset linux-x64(按系统换成windows-x64macos-arm64等)
  2. 构建:cmake --build --preset linux-x64-Release

跑起来(推荐 CLI,路径最短)

maa install # 安装 MaaCore 与资源 maa init # 交互式初始化配置 maa list # 查看可用任务

最小自动化示例:开官服客户端、用 3 瓶理智药刷 BB-7、收工——

maa startup Official && maa fight BB-7 -m 3 && maa closedown

资源(resource/下的任务 JSON 和模板)独立于二进制分发,游戏更新后跑maa update即可,不必重新编译。

和同类方案怎么选

方案原理与游戏进程的接触界面改动适应性平台覆盖
MAA截屏 + 图像识别 + 模拟触控零接触,纯外部观察强:靠配置资源调整,代码不动Windows / Linux / macOS / Android
内存读取 / 脚本注入类直接读写游戏进程强接触依赖内存结构,更新即失效通常单平台
本地宏工具固定坐标的点击序列只模拟输入弱:窗口移动、UI 变化就点偏单平台
云端托管类远程执行整套操作因方案而异受服务端限制

判断依据都在仓库里可查:MAA 的 CMake 里没有任何注入类依赖,识别行为全部由 JSON 资源驱动(见 Config 模块),更新适配走的是资源更新而不是改代码。

容易踩的坑

  1. 游戏更新后别急着怀疑代码。模板、OCR 区域这些都在独立资源里,先maa update拉新资源;真不行再去看日志。日志默认Warn级别,排障时设MAA_LOG=debug再跑一次。
  2. 外服玩家注意功能完整度。美服、日服、韩服、繁中服大部分功能已支持,但文档明说「很多功能并没有进行全面的测试」,关键功能先手动验证。
  3. 自动化边界要自己把握。MAA 不修改客户端、不读内存,这一点从架构上可验证;但高频自动化对账号的长期影响属于使用方式问题,参考仓库自带的 terms-of-service.md,按自己的风险承受度控制频率。

MAA 适合两类人:想把手头《明日方舟》日常彻底外包的玩家,以及想拿 C++20 写一个「截屏→识别→决策→执行」完整闭环做参考的开发者。核心引擎约万行级规模,模块边界清晰,clone 下来(https://gitcode.com/GitHub_Trending/ma/MaaAssistantArknights)从 Task 模块读起最省力。

【免费下载链接】MaaAssistantArknights《明日方舟》小助手,全日常一键长草!| A one-click tool for the daily tasks of Arknights, supporting all clients.项目地址: https://gitcode.com/GitHub_Trending/ma/MaaAssistantArknights

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询