保留 Git 自动更新并简化 MAA 任务流程,加入 MaaEnd

This commit is contained in:
2026-11-01 22:41:35 +08:00
parent 8cf86bc408
commit 2527560772
7 changed files with 211 additions and 145 deletions
+52
View File
@@ -0,0 +1,52 @@
#!/usr/bin/env python3
"""MaaEnd 只补齐当前官方终端包的路径和 ADB 界面适配。"""
import json
import os
from pathlib import Path
import shutil
import subprocess
import sys
sys.path.insert(0, str(Path(__file__).resolve().parents[1]))
from ArknightsMaaConfig.maa import ADDRESS, REDROID, DIRECT, command, wait_android
def prepare(configure=False):
source = Path("/app/maaend")
version = json.loads((source / "interface.json").read_text())["version"]
target = Path("/state") / f"maaend-{version}"
if not target.exists():
shutil.copytree(source, target, symlinks=True)
# 保留原文件;CLI 不支持 hotkey 设置,ADB 使用原始 pipeline 的默认值。
original = target / "interface.upstream.json"
if not original.exists():
shutil.copyfile(target / "interface.json", original)
interface = json.loads(original.read_text())
interface["controller"] = [c for c in interface["controller"] if c["name"] == "ADB"]
interface["import"] = [p for p in interface["import"] if p != "tasks/setting/Keymap.json"]
(target / "interface.json").write_text(json.dumps(interface, ensure_ascii=False, indent=2))
work = target / "maafw"
config = json.loads(Path(__file__).with_name("maa_pi_config.json").read_text())
if not configure and not config.get("task"):
raise RuntimeError("请先配置 MaaEnd 任务并提交到 MAAsConfig,再启用 maaend。")
config["adb"].update(address=ADDRESS, adb_path="/usr/bin/adb")
(work / "config").mkdir(exist_ok=True)
(work / "config/maa_pi_config.json").write_text(json.dumps(config, ensure_ascii=False, indent=2))
return work
def main():
configure = sys.argv[1:] == ["configure"]
work = prepare(configure)
if command(["docker", "restart", REDROID]):
return 1
try:
if not wait_android():
return 1
return subprocess.run([str(work / "MaaPiCli")] + ([] if configure else ["-d"]), cwd=work, env=DIRECT).returncode
finally:
command(["docker", "stop", REDROID])
if __name__ == "__main__":
sys.exit(main())
+6
View File
@@ -0,0 +1,6 @@
{
"controller": {"name": "ADB"},
"adb": {"name": "ReDroid", "adb_path": "/usr/bin/adb", "address": "127.0.0.1:5555"},
"resource": "官服",
"task": []
}