资讯动态

MaaAssistantArknights 命令行工具 maa-cli 完整使用指南:任务运行、MaaCore 管理与日志排查

发布时间:2026/9/13 4:13:38 来源:尧图企业网站定制
MaaAssistantArknights 命令行工具 maa-cli 完整使用指南任务运行、MaaCore 管理与日志排查【免费下载链接】MaaAssistantArknights《明日方舟》小助手全日常一键长草| A one-click tool for the daily tasks of Arknights, supporting all clients.项目地址: https://gitcode.com/GitHub_Trending/ma/MaaAssistantArknightsmaa-cli 是《明日方舟》小助手 MaaAssistantArknights 的官方 Rust 命令行客户端通过调用 MaaCore 自动化完成游戏内的日常任务同时提供 MaaCore 的安装、更新与资源热更新等管理能力。本文以 使用文档 为主线完整覆盖预定义任务、自定义任务、任务总结、日志控制等核心操作并深入结合配置文档与仓库源码帮助你从零开始用命令行一键挂机、自动化排班。一、maa-cli 的定位与安装前提maa-cli 本身只是一个命令行界面CLI它不包含游戏识别与自动化逻辑——真正干活的是MaaCore。因此使用前需要先完成两件事安装 maa-cli参考 安装及编译支持预编译二进制、Homebrew、AUR、Nix、cargo install等方式安装 MaaCore 及资源通过maa install或包管理器安装。::: tip 使用 Windows 包管理器winget安装 maa-cli 的用户以下命令中的maa需要替换为maa-cli。 :::maa-cli 的主要功能可以分为两类运行任务调用 MaaCore 自动化完成明日方舟的游戏任务管理 MaaCore安装、更新 MaaCore 及资源方便维护运行环境。二、管理 MaaCore安装、更新与资源热更新maa-cli 可以安装和更新 MaaCore 及资源只需运行以下命令maa install # 安装 MaaCore 及资源 maa update # 更新 MaaCore 及资源一些与安装/更新相关的补充事实maa install下载的是 MAA 官方预编译的 MaaCore而通过包管理器安装的 MaaCore 可能使用与官方预编译版本不同的编译选项和依赖版本性能和功能上可能有细微差异见 安装文档 的警告说明。Windows 用户运行maa install前需要以管理员身份安装 VC 运行库winget install Microsoft.VCRedist.2015.x64 --override /repair /passive /norestart --uninstall-previous --accept-package-agreements --force。Nix 用户无需也不应该手动安装 MaaCore因为 Nix 上的 maa-cli 强制依赖 MaaCore。maa install与maa update是否可用取决于编译时是否启用了core_installer特性该特性默认启用。除了随 MaaCore 一起安装的基础资源MAA 还提供热更新资源如活动关卡信息。热更新相关配置位于$MAA_CONFIG_DIR/cli.toml的[resource]段详见 CLI 配置[resource] auto_update true # 是否在每次运行任务时自动更新资源默认为 false warn_on_update_failure true # 更新失败时发出警告而不是直接报错 backend libgit2 # 资源热更新后端可选 git 或 libgit2默认为 git需要特别注意的是即使启动了资源热更新你依然需要先安装 MaaCore 的基础资源因为热更新只包含部分可更新的资源文件不包含全部资源。若backend git则系统必须可用git命令行工具若使用 SSH 协议拉取远程仓库还需在[resource.remote]中配置ssh_key、passphrase或use_ssh_agent等字段。三、更新 maa-cli 自身maa self update::: warning 使用包管理器如 Homebrew、AUR、Nix安装 maa-cli 的用户请使用包管理器更新 maa-climaa self update在这些用户中无效。 :::该命令是否可用取决于编译时是否启用了cli_installer特性默认启用。通过安装脚本安装的用户后续即可用maa self update持续更新。四、初始化配置MaaCore 安装完成后通常情况下无需额外配置就可以直接运行任务。但如果默认配置不适用于你的环境例如模拟器连接地址不同、需要指定海外客户端资源可以运行maa init该命令会交互式引导你配置 MaaCore 的相关配置配置项写入$MAA_CONFIG_DIR/profiles目录下的 profile 文件默认读取default涵盖连接、资源、静态选项、实例选项、行为等五大类完整字段说明参见 MaaCore 相关配置。下面是一个典型配置示例[connection] preset MuMuPro adb_path adb address emulator-5554 config CompatMac [resource] global_resource YoStarEN platform_diff_resource iOS user_resource true [static_options] cpu_ocr false gpu_ocr 1 [instance_options] touch_mode MaaTouch deployment_with_pause false adb_lite_enabled false kill_adb_on_exit false [behavior] auto_reconnect true五、运行任务完成 MaaCore 的安装和配置后就可以运行任务了。maa-cli 支持两种类型的任务预定义任务和自定义任务。5.1 预定义任务对于常见任务maa-cli 提供了开箱即用的预定义任务命令功能参数说明maa startup [client]启动游戏并进入主界面[client]是客户端类型留空则不会启动游戏客户端maa closedown [client]关闭游戏客户端[client]是客户端类型默认为Officialmaa fight [stage]运行战斗任务[stage]是关卡名称例如1-7留空选择上次或当前关卡maa copilot maa_uri...自动抄作业maa_uri是作业 URI多个 URI 依次执行可以是maa://1234或本地文件路径./1234.jsonmaa sscopilot maa_uri自动保全派驻maa_uri是保全派驻作业的 URImaa paradoxcopilot maa_uri...自动悖论模拟maa_uri是悖论模拟作业的 URI多个 URI 依次执行maa roguelike theme自动集成战略theme可选Phantom、Mizuki、Sami、Sarkaz、JieGardenmaa reclamation theme自动生息演算theme目前仅Tales可用上述任务都接受一些附加参数可通过maa task --help查看具体参数例如maa fight --help查看理智药数量-m、关卡次数等选项。例如官服玩家想要打开游戏、使用 3 个理智药刷 BB-7、然后关闭游戏可以一条命令串联执行maa startup Official maa fight BB-7 -m 3 maa closedown5.2 自定义任务由于 MAA 支持的任务繁多maa-cli 无法为所有任务提供预定义选项同时你可能需要像上面的例子一样组合多个任务。为此maa-cli 提供了自定义任务功能能够组合不同的任务精细控制每个任务的参数与执行顺序支持条件判断可以根据时间、星期、活动等条件决定是否执行某个任务或以何种参数执行适合用于自动化你的每日例行操作。自定义任务通过配置文件定义每个任务是一个单独的文件放在$MAA_CONFIG_DIR/tasks目录中配置目录可通过maa dir config获取也可用环境变量MAA_CONFIG_DIR更改。编写好配置文件后通过maa run task运行task是自定义任务文件名不包括扩展名。一个最简单的自定义任务文件支持 TOML / YAML / JSON 三种格式文件扩展名须与格式一致[[tasks]] name 启动游戏 # 任务的名字可选默认为任务类型 type StartUp # 任务的类型 params { client_type Official, start_game_enabled true } # 对应任务的参数具体的任务类型与参数可在 MAA 集成文档 - 任务类型一览 中查找。注意目前 maa-cli 并不会验证参数名和参数值是否正确出错时也不会产生错误信息除非 MaaCore 在运行时检测到错误——因此编写自定义任务时务必仔细核对参数名。除了tasks任务文件还支持以下顶层字段client_type指定客户端类型自动填充到StartUp、Fight、CloseDown任务的client_type参数中startup是否自动启动游戏。设为true时若任务列表中没有StartUp任务将在开头自动添加一个若已有StartUp任务但未开启start_game_enabled也会自动开启closedown是否自动关闭游戏。设为true时若任务列表中没有CloseDown任务将在末尾自动添加一个若已有CloseDown任务但enable为false也会自动开启。5.2.1 任务条件variants如果你希望根据条件运行不同参数的任务可以为一个任务定义多个变体variants每个变体包含一个condition字段和一个params字段匹配到的变体的params会被合并进任务参数[[tasks]] name 基建换班 type Infrast [tasks.params] mode 10000 facility [Trade, Reception, Mfg, Control, Power, Office, Dorm] dorm_trust_enabled true filename normal.json # 自定义基建计划文件位于 $MAA_CONFIG_DIR/infrast # 在 18:00:00 到第二天的 04:00:00 使用计划 0在 12:00:00 之前使用计划 1之后使用计划 2 [[tasks.variants]] condition { type Time, start 18:00:00, end 04:00:00 } # 结束时间小于开始时间时结束时间视为第二天的时间 params { plan_index 0 } [[tasks.variants]] condition { type Time, end 12:00:00 } # 省略开始时间只要当前时间小于结束时间即匹配 params { plan_index 1 } [[tasks.variants]] condition { type Time, start 12:00:00 } # 省略结束时间只要当前时间大于开始时间即匹配 params { plan_index 2 }maa-cli 支持的条件类型有Time、DateTime、Weekday、DayMod、OnSideStory并且可以通过And/Or/Not组合逻辑Time指定一天内的时段结束时间小于开始时间时视为跨天DateTime指定一个绝对时间段如{ type DateTime, start 2023-08-01T16:00:00, end 2023-08-21T03:59:59 }Weekday指定一周中的某些天如{ type Weekday, weekdays [Tue, Thu, Sat], timezone Official }DayMod指定自定义周期的某些天通过divisor周期与remainder偏移量控制偏移量等于num_days_since_ce % divisor0001-01-01 为第一天当天偏移量可用maa remainder divisor获取OnSideStory依赖热更新资源判断当前是否有正在开启的活动如{ type OnSideStory, client Official }活动更新后只需更新要刷的关卡无需手动编辑活动开放时间。所有时间相关条件都支持timezone参数可以填数字表示与 UTC 的偏移量如东八区timezone 8也可以填客户端类型如Official使用官服服务器时间——注意官服时区是东四区而非东八区因为游戏每日从 04:00:00 开始不指定则使用本地时区。例如一个活动期间刷特定关卡的完整自定义任务[[tasks]] type Fight # 在夏活期间刷 SL-8 [[tasks.variants]] params { stage SL-8 } condition { type DateTime, start 2023-08-01T16:00:00, end 2023-08-21T03:59:59 } # 在夏活期间以外的周二、周四和周六刷 CE-6 [[tasks.variants]] condition { type Weekday, weekdays [Tue, Thu, Sat], timezone Official } params { stage CE-6 } # 其他时间刷 1-7 [[tasks.variants]] params { stage 1-7 }对于基建多天排班可将DayMod与Time组合实现每两天换六次班之类的排班方案。跨天时段如 20:00 到次日 04:00必须用Or拆成两个And组合因为直接用Time { start 20:00:00, end 04:00:00 }无法覆盖第二天的 00:00-04:00。完整示例见 自定义任务配置。匹配策略默认策略first下多个变体被匹配时使用第一个没有条件的变体总是被匹配因此可放在最后作为默认分支。若改用strategy merge则后面的变体参数会合并进前面的变体参数同名参数以后者覆盖前者如果没有变体被匹配任务将不会执行——这恰好可用于只在特定条件下运行子任务例如# 只在 18:00:00 之后进行信用商店相关的操作 [[tasks]] type Mall [[tasks.variants]] condition { type Time, start 18:00:00 }5.2.2 用户输入部分任务支持在运行时由用户输入参数如关卡名。把参数设置为Input或Select类型即可[[tasks]] type Fight # 运行时会提示选择一个关卡Select [[tasks.variants]] condition { type DateTime, start 2023-08-01T16:00:00, end 2023-08-21T03:59:59 } [tasks.variants.params.stage] alternatives [ SL-7, # 将显示为 1. SL-7 { value SL-8, desc 轻锰矿 } # 将显示为 2. SL-8 (轻锰矿) ] default_index 1 # 默认值索引从 1 开始不设置则使用第一个可选值 description a stage to fight in summer event allow_custom true # 允许输入自定义值默认为 false # 无需输入 [[tasks.variants]] condition { type Weekday, weekdays [Tue, Thu, Sat] } params { stage CE-6 } # 输入一个关卡Input [[tasks.variants]] [tasks.variants.params.stage] default 1-7 # 默认值可选无默认值时输入空值会重新提示 description a stage to fight # 当输入的关卡是 1-7 时还需要输入使用理智药的数量条件参数 [tasks.variants.params.medicine] conditions { stage 1-7 } # 只有当 stage 为 1-7 时才提示输入 default 1000 description medicine to use行为说明Input类型运行任务时提示输入一个值输入空值时使用默认值没有默认值则重新提示Select类型提示输入索引或自定义值如果allow_custom为 true输入空值使用默认值--batch选项可跳过所有输入直接使用默认值如果有任何输入没有默认值--batch模式会报错。5.3 任务总结无论是预定义任务还是自定义任务maa-cli 都会在任务运行结束后输出任务总结包含每个子任务的运行时间开始时间、结束时间、运行时长。对于部分任务还会输出结果汇总fight任务关卡名称、次数、消耗理智药个数以及掉落统计infrast各设施进驻的干员制造站和贸易站还会输出产物类型recruit每次公招的 tag、星级以及状态以及总共的招募次数roguelike探索次数、投资次数。如果不需要任务总结可以通过--no-summary参数关闭。5.4 任务日志maa-cli 会输出日志日志级别从低到高依次为Error、Warn、Info、Debug、Trace。默认日志级别为Warn可以通过以下三种方式调节环境变量MAA_LOG例如MAA_LOGdebug-v增加日志级别可重复使用-q减少日志级别。默认情况下日志输出到标准错误stderr。--log-file选项可将日志写入文件日志保存在$(maa dir log)/YYYY/MM/DD/HH:MM:SS.log$(maa dir log)为日志目录可通过maa dir log获取也可以用--log-filepath/to/log指定自定义路径。日志前缀时间戳 日志级别行为由环境变量MAA_LOG_PREFIX控制Always总是包含前缀Auto默认输出到日志文件时包含前缀输出到 stderr 时不包含Never即使写入日志文件也不包含前缀。5.5 其他子命令除了上述命令外maa-cli 还提供了以下实用子命令命令功能maa list列出所有可用的任务maa hot-update手动更新热更新资源基础资源仍需随 MaaCore 一起安装maa remainder divisor获取当天在DayMod条件中使用的偏移量--timezone可指定时区maa dir dir获取特定目录的路径如maa dir config获取配置目录maa version获取maa-cli及MaaCore的版本信息maa convert input [output]将 JSON、YAML 或 TOML 格式文件转换为其他格式maa complete shell生成 shell 自动补全脚本maa activity [client]获取游戏的当前活动信息client默认为Officialmaa cleanup清除maa-cli和MaaCore的缓存maa import file [-t type]导入配置文件-t可指定类型如cli、profile、infrast等更多命令的使用方法可通过maa help查看具体命令的使用方法可通过maa help command查看。六、实用建议与常见问题目录速查maa dir config获取配置目录maa dir log获取日志目录maa dir hot-update获取热更新资源仓库位置更改远程仓库地址需通过git手动操作或删除对应目录。模拟器连接[connection].address常见写法为127.0.0.1:端口号或emulator-四位数字常用模拟器端口参见 连接设置如 MuMu 模拟器127.0.0.1:16384/16416/16448/16480/16512/16544/16576、雷电模拟器 9emulator-5554等。adb_path可直接填adb要求 adb 在 PATH 中或填写模拟器自带 adb 的完整路径。macOS 配置目录默认使用 Apple 风格目录若想使用 XDG 风格如$HOME/.config/maa可设置XDG_CONFIG_HOME$HOME/.config或通过mkdir -p $HOME/.config/maa ln -s $HOME/.config/maa $(maa dir config)建立符号链接详见 常见问题。配置校验与自动补全maa-cli 在crates/maa-cli/schemas/目录提供 JSON Schematask.schema.json、asst.schema.json、cli.schema.json可用于编辑器自动补全与配置文件校验。七、相关文档maa-cli 安装及编译maa-cli 配置详解自定义任务、MaaCore 配置、CLI 配置maa-cli 常见问题MAA 连接设置模拟器端口参考【免费下载链接】MaaAssistantArknights《明日方舟》小助手全日常一键长草| A one-click tool for the daily tasks of Arknights, supporting all clients.项目地址: https://gitcode.com/GitHub_Trending/ma/MaaAssistantArknights创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价