资讯动态

MaaAssistantArknights maa-cli 命令行工具实战指南:从安装、任务执行到自定义条件调度

发布时间:2026/9/13 7:47:28 来源:尧图企业网站定制
MaaAssistantArknights maa-cli 命令行工具实战指南从安装、任务执行到自定义条件调度【免费下载链接】MaaAssistantArknights《明日方舟》小助手全日常一键长草| A one-click tool for the daily tasks of Arknights, supporting all clients.项目地址: https://gitcode.com/GitHub_Trending/ma/MaaAssistantArknightsmaa-cli 是 MaaAssistantArknightsMAA项目配套的、使用 Rust 编写的轻量级命令行工具其核心职责是调用 MaaCore 自动执行《明日方舟》的各类游戏任务同时提供 MaaCore 与资源的安装更新、日志输出、自定义任务调度等能力。本文以官方 CLI 手册为骨架完整覆盖安装编译、MaaCore 管理、预定义/自定义任务、日志体系与全套配置文件自定义任务、连接、资源、CLI 选项并给出可直接运行的命令示例与多日轮班等实战配置帮助你从零上手并在日常自动化中落地 maa-cli。本文基于仓库内的 CLI 用户指南日文版 及其同目录下的 使用说明、配置说明、安装与编译、常见问题 编写仓库还维护了对应的 英文版 与 中文版 手册。当前仓库中src/maa-cli目录对应 maa-cli 的源码模块位置其余语言与平台绑定由 MaaCore 提供。maa-cli 能做什么从 CLI 用户指南 的概述看maa-cli 的核心能力可以概括为三点执行任务运行预定义或自定义任务例如maa fight刷关卡、maa run task运行自定义任务管理 MaaCore通过maa install与maa update安装、更新 MaaCore 及其资源文件自我更新通过maa self update将 maa-cli 自身更新到新版本。它的定位非常明确maa-cli 只是一个命令行前端CLI真正的游戏自动化逻辑由 MaaCore 完成。因此无论使用哪种方式安装 maa-cli都必须先安装 MaaCore 与对应资源才能运行任务。安装与编译maa-cli 提供了预编译二进制、系统包管理器、cargo源码编译三种安装路径你可以根据自己的平台与习惯选择。方式一预编译二进制安装脚本最简单的安装方式是使用官方安装脚本Linux 与 macOSbashcurl -fsSL https://raw.githubusercontent.com/MaaAssistantArknights/maa-cli/main/install.sh | bashWindowsPowerShellInvoke-WebRequest -Uri https://raw.githubusercontent.com/MaaAssistantArknights/maa-cli/main/install.ps1 -OutFile install.ps1; .\install.ps1安装完成后可以直接用maa self update命令把 maa-cli 更新到最新版本。如果你的平台不在脚本支持列表内请改用源码编译。方式二系统包管理器macOSHomebrew官方提供了一个非官方 tap稳定版与预发布版分别安装brew install MaaAssistantArknights/tap/maa-cli # 稳定版 brew install MaaAssistantArknights/tap/maa-cli-beta # 不稳定版 / 预发布版Arch LinuxAUR使用 AUR 助手安装paru -S maa-cli # 或 yay -S maa-cliNix稳定版已打包进 nixpkgs可直接运行另有 NUR 中的每夜构建版本使用 Rust beta 工具链由 GitHub Actions 每日自动构建验证nix run nixpkgs#maa-cli # 稳定版 nix run github:Cryolitia/nur-packages#maa-cli-nightly # 每夜构建Linux 上的 Homebrew 用户参考上述 macOS 的安装方式即可。对于其他发行版请使用安装脚本或源码编译。文档同时欢迎开发者将 maa-cli 提交到更多发行版的官方或用户仓库。方式三cargo 源码编译Rust 开发者可以直接从源码编译# 稳定版本 cargo install --git https://github.com/MaaAssistantArknights/maa-cli.git --bin maa --tag stable --locked # 开发版本 cargo install --git https://github.com/MaaAssistantArknights/maa-cli.git --bin maa --locked注意maa-cli 当前的最低支持 Rust 版本MSRV为1.88。MSRV 可能随时变更为获得最佳体验建议始终使用最新的 Rust 工具链。编译特性cargo features源码编译时可以通过--no-default-features关闭默认特性、--features启用指定特性。当前可用的特性如下特性作用默认cli_installer启用maa self update用于更新 maa-cli 自身启用core_installer启用maa install与maa update用于安装/更新 MaaCore 与资源启用git2提供基于libgit2的资源热更新后端启用安装 MaaCore 与资源maa-cli 只提供命令行接口运行任务必须依赖 MaaCore 与资源文件不同安装方式下的操作有所区别预编译二进制或源码编译用户直接执行maa install由 maa-cli 负责下载并安装Windows 用户执行maa install前需要先以管理员身份在命令提示符或 PowerShell 中安装 VC 运行时winget install Microsoft.VCRedist.2015.x64 --override /repair /passive /norestart --uninstall-previous --accept-package-agreements --forceArch Linux 用户可以用maa install安装官方预编译 MaaCore也可以用 AUR 安装paru -S maa-assistant-arknights # 或 yay -S maa-assistant-arknightsNix 用户Nix 版 maa-cli 强依赖 MaaCore无需也不应手动安装。需要了解的是maa install下载的是 MAA 官方预编译的 MaaCore而包管理器安装的 MaaCore 可能采用不同的编译选项或依赖版本从而在性能与功能上存在细微差异。MaaCore 管理与 maa-cli 自身更新安装完成后日常维护主要通过以下命令完成maa install # 安装 MaaCore 与资源 maa update # 更新 MaaCore 与资源 maa self update # 更新 maa-cli 自身两点提醒命令名差异通过 Windows 包管理器winget安装的 maa-cli其可执行文件名为maa-cli上面所有命令中的maa都要替换为maa-cli包管理器用户通过 Homebrew、AUR 等包管理器安装的用户请使用包管理器更新 maa-climaa self update对这类安装方式不生效。初始化配置MaaCore 安装完成后通常无需额外配置即可直接运行任务。不过默认配置未必适合所有用户可以用交互式命令初始化配置maa init该命令会引导你交互式地设置 MaaCore 相关配置即后文profiles目录下的连接、资源、OCR、触摸模式等选项。运行任务预定义任务maa-cli 支持两类任务预定义任务与自定义任务。常见玩法场景对应如下预定义命令命令作用maa startup [client]启动游戏并进入主界面[client]为客户端类型留空则不启动任何客户端maa closedown [client]关闭游戏客户端[client]默认Officialmaa fight [stage]运行战斗任务[stage]为关卡名如1-7留空则选择上次/当前关卡maa copilot maa_uri...自动运行作业MAA Copilotmaa_uri可为maa://1234或本地文件路径./1234.json多个 URI 依次执行maa sscopilot maa_uri自动运行保全派驻maa_uri为作业 URImaa paradoxcopilot maa_uri...自动运行悖论模拟多个 URI 依次执行maa roguelike theme自动运行集成战略theme可选Phantom、Mizuki、Sami、Sarkaz、JieGardenmaa reclamation theme自动运行生息演算当前仅提供Tales主题这些任务还接受多种参数可用maa task --help查看具体选项。官方文档给出的典型示例是启动游戏、消耗 3 瓶理性药剂刷 BB-7、然后关闭游戏maa startup Official maa fight BB-7 -m 3 maa closedown自定义任务maa run taskMAA 支持的任务种类繁多maa-cli 不可能为所有任务都提供预定义选项同时你可能需要像上面那样串联多个任务。为此 maa-cli 提供了自定义任务机制它可以把不同任务自由组合精细控制每个任务的参数与执行顺序还支持条件判断——根据条件决定是否执行某个任务、或使用哪套参数执行非常适合日常任务自动化。自定义任务通过配置文件定义存放位置与写法详见 配置文档。配置文件创建好后用maa run task运行其中task是自定义任务的文件名不含扩展名。任务摘要与日志任务摘要无论预定义还是自定义任务执行结束后 maa-cli 都会输出任务摘要包含每个子任务的开始时间、结束时间与耗时。部分任务还会输出结果概要fight关卡名、运行次数、消耗的理性药剂数、掉落统计infrast各设施安排的干员制造站与贸易站还包含产物类型recruit每次公开招募的标签、星级、状态以及总招募次数roguelike探索次数、投资次数。不需要摘要时加上--no-summary参数即可关闭。日志体系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即使写入日志文件也不带前缀其他实用子命令除上述命令外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-cli 配置文件都位于特定配置目录中用maa dir config查询配置目录路径用环境变量MAA_CONFIG_DIR修改配置目录下文统一用$MAA_CONFIG_DIR指代该目录。配置文件支持TOML、YAML、JSON三种格式只要扩展名正确三种格式可以任意混用。文档示例统一使用 TOML.toml扩展名。另外部分任务接受filename参数。使用相对路径时路径以配置目录下的对应子目录为基准例如自定义基建方案文件相对$MAA_CONFIG_DIR/infrast保全派驻作业文件相对$MAA_CONFIG_DIR/ssscopilot。自定义任务的配置每个自定义任务是一个独立文件必须放在$MAA_CONFIG_DIR/tasks目录下。基本结构任务文件包含多个子任务每个子任务对应一个 MAA 任务[[tasks]] name 启动游戏 # 任务名可选默认取任务类型 type StartUp # 任务类型 params { client_type Official, start_game_enabled true } # 任务参数具体任务类型与参数见 MAA 集成文档。注意maa-cli 目前不校验参数名与参数值写错也不会立刻报错只有 MaaCore 在运行时检测到错误才会暴露问题。任务条件variants当你希望在不同条件下用不同参数运行同一任务时可以为任务定义多个变体variants通过condition字段决定使用哪个变体。以下示例按时间段切换基建方案[[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 使用方案 012: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 } # 省略 start当前时间小于 end 时匹配 params { plan_index 1 } [[tasks.variants]] condition { type Time, start 12:00:00 } # 省略 end当前时间大于 start 时匹配 params { plan_index 2 }这里的condition决定使用哪个变体匹配到的变体的params会合并进任务参数。基建文件的重要提醒自定义基建方案文件使用相对路径时以$MAA_CONFIG_DIR/infrast为基准并且基建文件是由 MaaCore 读取的不是 maa-cli因此格式必须是 JSON。同时 maa-cli 不会读取基建文件内容也不会根据其中定义的时间段自动选择子方案所以你必须在condition中为对应时间段显式指定正确的plan_index参数才能保证在合适的时间使用正确的基建方案。除了Time条件还有DateTime指定日期时间段、Weekday指定星期几、DayMod自定义周期中的特定日期等条件[[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 }关于时区timezone上面所有时间相关条件都可通过timezone参数指定时区。它的取值有两种数值表示相对 UTC 的偏移例如 UTC8 写timezone 8客户端类型例如timezone Official表示按官服对应的服务器时间判定。注意官服时区不是 UTC8 而是UTC4因为游戏内一天的开始是 04:00:00 而不是 00:00:00。不指定timezone时默认使用本地时区。事件条件OnSideStory除上述确定性条件外还有一个依赖热更新资源的条件OnSideStory。启用后 maa-cli 会加载对应资源判断当前是否有进行中的活动有则匹配对应变体。例如上面的夏活刷SL-8条件可以简化为{ type OnSideStory, client Official }。这里的client参数决定使用的客户端不同客户端活动时间不同官服或 B 服用户可省略。这个条件的价值在于每次活动更新时你只需更新要刷的关卡而不用手动编辑活动举办时间。条件逻辑组合可以使用{ type And, conditions [...] }、{ type Or, conditions [...] }、{ type Not, condition ... }进行逻辑运算。多日轮班实战示例想排跨多日的基建轮班可以把DayMod与Time组合使用。例如实现2 天 6 班的轮班[[tasks]] name 基建换班 (2天6班) type Infrast [tasks.params] mode 10000 facility [Trade, Reception, Mfg, Control, Power, Office, Dorm] dorm_trust_enabled true filename normal.json # 第 1 班第 1 天 4:00:00 - 12:00:00 [[tasks.variants]] params { plan_index 0 } [tasks.variants.condition] type And conditions [ # divisor 指定周期remainder 指定偏移 # 偏移等于 num_days_since_ce % divisor # num_days_since_ce 是以公元 1 年 1 月 1 日0001-01-01为第 1 天的累计天数 # 当日偏移可用 maa remainder divisor 获取 # 例如 2024-1-27 是第 738,912 天738912 % 2 0当日偏移为 0匹配此条件 { type DayMod, divisor 2, remainder 0 }, { type Time, start 04:00:00, end 12:00:00 }, ] # 第 2 班第 1 天 12:00:00 - 20:00:00 [[tasks.variants]] params { plan_index 1 } [tasks.variants.condition] type And conditions [ { type DayMod, divisor 2, remainder 0 }, { type Time, start 12:00:00, end 20:00:00 }, ] # 第 3 班第 1 天 20:00:00 - 第 2 天 4:00:00 [[tasks.variants]] params { plan_index 2 } [tasks.variants.condition] # 这里必须用 Or不能直接用 Time { start 20:00:00, end 04:00:00 } # 否则第 2 天的 00:00:00 - 04:00:00 无法匹配 # 当然调整班次时间避免跨日才是更好的选择这里仅作演示 type Or conditions [ { type And, conditions [ { type DayMod, divisor 2, remainder 0 }, { type Time, start 20:00:00 }, ] }, { type And, conditions [ { type DayMod, divisor 2, remainder 1 }, { type Time, end 04:00:00 }, ] }, ] # 第 4 班第 2 天 4:00:00 - 12:00:00 [[tasks.variants]] params { plan_index 3 } [tasks.variants.condition] type And conditions [ { type DayMod, divisor 2, remainder 1 }, { type Time, start 04:00:00, end 12:00:00 }, ] # 第 5 班第 2 天 12:00:00 - 20:00:00 [[tasks.variants]] params { plan_index 4 } [tasks.variants.condition] type And conditions [ { type DayMod, divisor 2, remainder 1 }, { type Time, start 12:00:00, end 20:00:00 }, ] # 第 6 班第 2 天 20:00:00 - 第 3 天新的第 1 天4:00:00 [[tasks.variants]] params { plan_index 5 } [tasks.variants.condition] type Or conditions [ { type And, conditions [ { type DayMod, divisor 2, remainder 1 }, { type Time, start 20:00:00 }, ] }, { type And, conditions [ { type DayMod, divisor 2, remainder 0 }, { type Time, end 04:00:00 }, ] }, ]匹配策略first与merge默认策略下多个变体同时匹配时采用第一个未写condition的变体恒匹配因此常把无条件的变体放在最后充当默认情况。通过strategy字段可以切换匹配策略[[tasks]] type Fight strategy merge # 或 first默认 # 周日晚上把快过期的理性药剂全部用掉 [[tasks.variants]] params { medicine_expire_days 2 } [tasks.variants.condition] type And conditions [ { type Time, start 18:00:00 }, { type Weekday, weekdays [Sun] }, ] # 默认刷 1-7 [[tasks.variants]] params { stage 1-7 } # 火、木、六刷 CE-6 [[tasks.variants]] condition { type Weekday, weekdays [Tue, Thu, Sat] } params { stage CE-6 } # 夏活期间刷 SL-8 [[tasks.variants]] params { stage SL-8 } condition { type DateTime, start 2023-08-01T16:00:00, end 2023-08-21T03:59:59 }merge策略下多个变体匹配时后匹配变体的参数会合并进先匹配变体的参数多个变体携带同一参数时后者覆盖前者。上面的例子与前面刷关示例效果相同但周日晚会额外使用临期药剂。没有变体匹配时任务不执行——这可以用于实现仅在特定条件下执行子任务# 仅在 18:00:00 之后执行信用商店相关操作 [[tasks]] type Mall [[tasks.variants]] condition { type Time, start 18:00:00 }用户输入Input与Select部分任务希望在运行时输入参数如关卡名。将需要输入的参数设置为Input或Select类型即可[[tasks]] type Fight # 选择关卡 [[tasks.variants]] condition { type DateTime, start 2023-08-01T16:00:00, end 2023-08-21T03:59:59 } [tasks.variants.params.stage] # 可选关卡至少提供 1 个选项 # 选项可以是纯值也可以是同时包含值与说明的表格 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 } # 输入关卡 [[tasks.variants]] [tasks.variants.params.stage] default 1-7 # 默认关卡可选无默认值时输入空值会要求重新输入 description a stage to fight # 说明可选 # 当输入的关卡是 1-7 时还需要输入使用的理性药剂数 [tasks.variants.params.medicine] # 参数可设为条件参数仅在满足条件时要求输入 # conditions 字段是表格键为同一层级其他参数名值为期望值 # 这里的条件是 stage 为 1-7多个条件需全部满足 conditions { stage 1-7 } default 1000 description medicine to use行为说明Input类型任务执行时提示输入值输入空值时若有默认值则使用默认值否则要求重新输入Select类型任务执行时提示输入下标或自定义值若允许输入空值则使用默认值--batch选项可以跳过任务执行时的所有输入直接使用默认值存在无默认值的输入时会报错。MaaCore 相关配置profilesMaaCore 相关配置存放在$MAA_CONFIG_DIR/profiles目录该目录下每个文件都是一份配置。通过-p或--profile选项指定配置文件名不指定时尝试加载名为default的配置文件。当前支持的配置字段完整示例如下[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连接配置[connection]该节用于指定 MaaCore 连接游戏的参数[connection] adb_path adb # adb 可执行文件路径默认 adb表示在 PATH 中查找 address emulator-5554 # 连接地址如 emulator-5554 或 127.0.0.1:5555 config General # 连接配置一般无需修改adb_pathadb 可执行文件路径。可以显式指定路径也可以把它放进环境变量PATH让 MaaCore 自动查找。大多数模拟器自带 adb可直接使用无需额外安装不附带的需要自行安装 adb。addressadb 连接地址。模拟器一般用127.0.0.1:[端口号]常用模拟器端口号见 常见问题。不指定address时会尝试用adb devices获取已连接的设备多台设备取第一台找不到设备则尝试连接emulator-5554。config平台/模拟器相关配置。Linux 默认CompatPOSIXShellmacOS 默认CompatMacWindows 默认General。更多可选配置可在资源文件夹的config.json文件中查看。模拟器预设preset对常用模拟器可以直接使用预设[connection] preset MuMuPro # 使用 MuMuPro 预设连接配置 adb_path /path/to/adb # 如需覆盖预设的 adb 路径多数情况不需要 address 127.0.0.1:7777 # 如需覆盖预设的地址当前内置两个模拟器预设MuMuPro与Androws。Androws面向 Windows 上的腾讯应用宝模拟器会通过注册表自动检测其自带的 adb默认连接地址为127.0.0.1:5555。欢迎为其他常用模拟器提交预设issue 或 PR。特殊预设PlayCovermacOS用于直连 macOS 上通过 PlayCover 原生运行的游戏客户端。此模式无需指定adb_pathaddress也不是 adb 连接地址而是 PlayTools 的地址。具体用法见 PlayCover 支持文档。WaydroidLinux用于直连 Linux 上通过 Waydroid 原生运行的游戏客户端。此模式仍需指定adb_path。具体用法见 Waydroid 支持文档。资源配置[resource]该节指定 MaaCore 加载的资源[resource] global_resource YoStarEN # 非简中客户端资源 platform_diff_resource iOS # 非 Android 客户端资源 user_resource true # 是否加载用户自定义资源使用非简中游戏客户端时MaaCore 默认加载的资源是简中版需要通过global_resource指定非简中资源使用 iOS 客户端时需要通过platform_diff_resource指定 iOS 资源。两者均可省略不需要时可置空。它们也可能被自动设置startup任务指定了client_type时global_resource会自动设为对应客户端资源使用PlayTools连接时platform_diff_resource会自动设为iOS。最后若要加载用户自定义资源需将user_resource设为true。静态选项[static_options][static_options] cpu_ocr false # 是否使用 CPU OCR默认使用 CPU OCR gpu_ocr 1 # 使用 GPU OCR 时的 GPU ID该值为空时使用 CPU OCR实例选项[instance_options][instance_options] touch_mode ADB # 触摸模式ADB、MiniTouch、MaaTouch、MacPlayTools 或 MaaFwAdb deployment_with_pause false # 部署时是否暂停游戏 adb_lite_enabled false # 是否使用 adb-lite kill_adb_on_exit false # 退出时是否强制结束 adb注意touch_mode的可选值MacPlayTools与连接方式PlayTools绑定——使用PlayTools连接时touch_mode会被强制设为MacPlayTools。CLI 相关配置cli.tomlCLI 自身配置位于$MAA_CONFIG_DIR/cli.toml当前包含的配置项如下# GitHub 代理前缀。设置后GitHub release 的下载地址会被透明改写为经由该代理的地址 # github_proxy https://gh-proxy.org/ # MaaCore 安装与更新相关配置 [core] channel Stable # 更新频道Alpha、Beta、Stable默认 Stable test_time 0 # 测试镜像速度所用时间0 表示不测试默认 3 # 查询 MaaCore 最新版本的 API 地址留空使用默认地址 api_url https://api.maa.plus/MaaAssistantArknights/api/version/ # 是否安装 MaaCore 的对应组件。已弃用单独安装可能因版本不一致产生问题此选项可能在未来版本移除 [core.components] library true # 是否安装 MaaCore 库默认 true resource true # 是否安装 MaaCore 资源默认 true # CLI 更新相关配置 [cli] channel Stable # 更新频道Alpha、Beta、Stable默认 Stable # 查询 maa-cli 最新版本的 API 地址留空使用默认地址 api_url https://github.com/MaaAssistantArknights/maa-cli/raw/version/ # 预编译二进制下载地址留空使用默认地址 download_url https://github.com/MaaAssistantArknights/maa-cli/releases/download/ # 是否安装 maa-cli 的对应组件 [cli.components] binary true # 是否安装 maa-cli 二进制默认 true # 资源热更新相关配置 [resource] auto_update true # 每次运行任务前是否自动更新资源默认 false warn_on_update_failure true # 更新失败时是直接报错还是仅告警 backend libgit2 # 资源热更新后端git 或 libgit2默认 git # 资源热更新的远程仓库配置 [resource.remote] branch main # 远程仓库分支留空使用远程仓库默认分支 # 远程资源仓库 URL留空使用默认 URL # GitHub 仓库可用 HTTPS 与 SSH 两种协议访问HTTPS 无需额外配置推荐使用 url https://github.com/MaaAssistantArknights/MaaResource.git # url gitgithub.com:MaaAssistantArknights/MaaResource.git # 使用 SSH 协议时需提供 SSH 密钥最简单的方式是指定密钥路径 ssh_key ~/.ssh/id_ed25519 # SSH 密钥路径 # maa 的默认密钥未加密。若密钥有口令保护需要提供解密口令 # 注意只有使用 libgit2 后端时maa 才会把口令传给 libgit2 # 使用 git 后端时由 git 自行提示输入口令 # 使用 git 后端且密钥有口令保护时请用 ssh-agent 管理密钥 passphrase password # SSH 密钥口令 # 但把明文口令写进配置文件不安全有几种替代方案 # 1. 将 passphrase 设为 truemaa-cli 每次询问口令安全但繁琐batch 模式不可用 # passphrase true # 2. 将 passphrase 设为环境变量名maa-cli 从环境变量读取口令 # 比明文安全但环境变量可能被任意程序访问仍有一定风险 # passphrase { env MAA_SSH_PASSPHRASE } # 3. 将 passphrase 设为一条命令maa-cli 执行该命令获取口令 # 若用密码管理器管理口令这是最安全方便的方式 # passphrase { cmd [pass, show, ssh/id_ed25519] } # 4. 用 ssh-agent 管理密钥推荐 # ssh-agent 把密钥保存在内存中无需每次输入口令 # 需确保 ssh-agent 已启动、密钥已添加、SSH_AUTH_SOCK 环境变量已设置 # use_ssh_agent true # 设为 true 时忽略 ssh_key 与 passphrase 字段 # 活动信息与热更新资源文件的下载配置 [hot_update] # 查询活动信息与下载热更新资源文件的 API 地址留空使用默认地址 api_url https://api.maa.plus/MaaAssistantArknights/api # 检查间隔秒超过该时间会重新下载文件0 表示禁用缓存默认 600 check_interval 600配置注意事项MaaCore 更新频道中的Alpha仅 Windows 可用部分默认链接指向 GitHub国内访问可能存在问题。可以通过设置api_url、download_url使用镜像也可以设置顶层github_proxy让 GitHub release 下载经由代理加速即使启用了资源热更新仍需安装 MaaCore 资源热更新只包含部分可更新的资源文件基础资源文件必须随 MaaCore 一起安装资源热更新通过 Git 拉取远程仓库实现backend设为git时需要系统可用git命令行工具通过 SSH 协议拉取远程仓库时需设置ssh_key字段指向 SSH 私钥路径SSH 私钥受口令保护时需要提供解密口令或用 ssh-agent 管理密钥远程仓库的url配置目前仅在资源首次安装时生效。想更换远程仓库地址需用git命令行手动修改或删除对应仓库仓库位置可用maa dir hot-update查询。配置参考与 JSON Schema官方提供了 配置示例 供参考。此外maa-cli 提供 JSON Schema 文件可用于校验配置文件或在编辑器中获得自动补全自定义任务文件task.schema.jsonMaaCore 配置asst.schema.jsonCLI 配置cli.schema.json常见问题macOS 下改用 XDG 风格配置目录由于 Rust 的 Directories 库在 macOS 上默认采用 Apple 风格目录maa-cli 在 macOS 上默认也会使用 Apple 风格配置目录。但 XDG 风格目录对命令行程序更合适。想要 XDG 风格目录有两种方式设置环境变量export XDG_CONFIG_HOME$HOME/.configmaa-cli 会改用 XDG 风格配置目录创建符号链接不想设置环境变量时mkdir -p $HOME/.config/maa ln -s $HOME/.config/maa $(maa dir config)小结从 CLI 用户指南 出发可以看到 maa-cli 是围绕MaaCore 的调用与管理构建的完整命令行生态预定义命令覆盖启动/关闭、刷关、自动作业、保全派驻、悖论模拟、集成战略与生息演算等主流玩法自定义任务通过 variants condition 实现了按时间、星期、周期甚至游戏活动动态调度的能力profiles 与 cli.toml 则分别管理 MaaCore 运行参数与 CLI 自身的安装更新行为。建议新手先maa install完成环境准备再以maa fight 1-7验证链路随后逐步尝试自定义任务与条件调度即可将日常长草流程完全自动化。更多任务类型与参数细节可查阅 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 小时内与您沟通定制方案

免费获取报价