ランキングに戻る

ArknightsAutoHelper/ArknightsAutoHelper

Python

Arknights Auto Helper based on ADB and Python | 基于python的明日方舟护肝助手

pythonadbarknights
スター成長
スター
1.2k
フォーク
172
週間成長
Issue
51
5001k
2019年5月2021年9月2024年2月2026年7月
成果物PyPIpip install arknightsautohelper
README

icon Arknights Auto Helper

明日方舟辅助脚本

功能说明:

  • 自动重复刷图,使用理智药、碎石
    • 识别掉落物品,上传企鹅物流数据统计
  • 自动选图(从主界面开始到关卡信息界面)
  • 自动领取任务奖励
  • 公开招募识别

0x01 运行须知

二进制包(Windows)

⬇️ 从 Releases 中下载 二进制包启动器

首次运行启动器时,将从 GitHub 下载通过 Actions 打包的最新代码及运行环境,请保持网络畅通。

运行 akhelper.exe --updateakhelper-gui.exe --update 可更新到最新版本。如果最新版本存在问题,可尝试从 Actions 中下载 90 天内的旧版本覆盖 .bootstrapper 目录内的对应文件。

从源代码安装

不建议使用 GitHub 的 Download ZIP 功能下载源码包:这样做会丢失版本信息,且不便于后续更新。

请参考 wiki/从源代码安装

环境与分辨率

💡 由于游戏内文字渲染机制问题,分辨率过低可能影响识别效果,建议分辨率高度 1080 或以上。

大部分功能可以自适应分辨率(宽高比不小于 16:9,即宽度≥高度×16/9),作者测试过的分辨率有 1280x720、1440x720、1920x1080、2160x1080。

ADB 连接

请确认 adb devices 中列出了目标模拟器/设备:

$ adb devices
emulator-5554   device

如何连接 ADB 请参考各模拟器的文档、论坛等资源。

如果 adb devices 中列出了目标模拟器/设备,但脚本不能正常连接,或遇到其他问题,请尝试使用最新的 ADB 工具

常见问题

ADB server 相关
  • 部分模拟器(如 MuMu、BlueStacks)需要自行启动 ADB server。
  • 部分模拟器(如 MuMu、BlueStacks Hyper-V)不使用标准模拟器 ADB 端口,ADB server 无法自动探测,需要另行 adb connect。
  • 部分模拟器(如夜神)会频繁使用自带的旧版本 ADB 挤掉用户自行启动的新版 ADB。

可以参阅配置说明以配置自动解决以上问题。

其他
  • 部分非 VMM 模拟器(声称“不需要开启 VT”,如 MuMu 星云引擎)不提供 ADB 接口。

额外设置

关于额外设置请移步到 config/config-template.yaml 中查看

日志说明

运行日志(文本)采用import logging在log目录下生成ArknightsAutoHelper.log推荐用Excel打开,分割符号为“!”

相关配置文件在config目录下的logging.yaml,由于过于复杂 其实也没确定理解的对不对 这里请自行研究,欢迎讨论

日志目前启动按照时间自动备份功能,间隔为一天一次,保留最多7份。

图像识别日志为 log/*.html,相应识别模块初始化时会清空原有内容。

多开时日志文件名会出现实例 ID,如 ArknightsAutoHelper.1.log

报告 issue 时,建议附上日志以便定位问题。

0x02 ArknightsHelper GUI 启动

💡 Windows:如果您按照 wiki/从源代码安装 配置了 venv,则可以通过双击 启动GUI.bat 调用。

$ python3 akhelper-gui.pyw

Web GUI 将在一下第一个可用的浏览器环境中打开:

  • 内嵌浏览器
  • Google Chrome、Chromium、Microsoft Edge 的 PWA 模式*
  • 系统默认浏览器*

* 使用外部浏览器时,HTTP 服务器将在最后一个连接关闭后 3 分钟内退出。

0x03 ArknightsHelper 命令行启动

💡 Windows:命令行功能在 Windows 10 1607 (build 14393) 及以上版本上体验最佳。非简体中文系统可能无法在 Windows 命令行窗口中正确显示简体中文文字,可尝试使用 Windows Terminal。

命令行启动说明

💡 Windows:如果您按照 wiki/从源代码安装 配置了 venv,则可以通过双击 整合工具箱(新).bat 调用。

$ python3 akhelper.py
usage: akhelper.py command [command args]
    connect [connector type] [connector args ...]
        连接到设备
        支持的设备类型:
        connect adb [serial or tcpip endpoint]
    quick [+-rR[N]] [n]
        重复挑战当前画面关卡特定次数或直到理智不足
        +r/-r 是否自动回复理智,最多回复 N 次
        +R/-R 是否使用源石回复理智(需要同时开启 +r)
    auto [+-rR[N]] TARGET_DESC [TARGET_DESC]...
        按顺序挑战指定关卡。
        TARGET_DESC 可以是:
            1-7 10      特定主线、活动关卡(1-7)10 次
            grass       一键长草: 检查库存中最少的蓝材料, 然后去 aog 上推荐的地图刷材料
            plan        执行刷图计划: 使用 arkplanner 命令创建刷图计划。执行过程会自动更新计划进度。
    recruit [tags ...]
        公开招募识别/计算,不指定标签则从截图中识别
    collect
        收集每日任务和每周任务奖励
    record
        操作记录模块,使用 record --help 查看帮助。
    riic <subcommand>
        基建功能(开发中)
        riic collect
        收取制造站及贸易站
        riic shift <room> <operator1> <operator2> ...
        指定干员换班
        room: B101 B102 B103 B201 B202 B203 B301 B302 B303 dorm1 dorm2 dorm3 dorm4 meeting workshop office
    arkplanner
        输入材料需求创建刷图计划。使用 auto plan 命令执行刷图计划。

命令可使用前缀(首字母)缩写(类似 Linux iproute2),交互模式下只需输入对应命令名称即可,如:

$ python3 akhelper.py q 5

$ python3 akhelper.py i
akhelper> q 5
    ...
akhelper> c

简略战斗模块

快速启动模块需要手动选关。到如下画面,活动关卡你也可以这么刷。

* 该模块可以自适应分辨率

TIM截图20190513101009.png-1013.8kB

python3 akhelper.py quick 99
# 重复刷当前画面关卡 99 次,也可以不指定次数
python3 akhelper.py quick -r
# 重复刷当前画面关卡,禁用自动回复理智(直到理智不足停止)
python3 akhelper.py quick +r5
# 重复刷当前画面关卡,启用自动回复理智,最多回复 5 次
python3 akhelper.py quick +rR 99
# 重复刷当前画面关卡 99 次,启用自动回复理智,启用碎石回复理智

注意

  • 该模块会识别当前理智和关卡理智消耗,理智不足时会自动停止或补充理智(需在配置中启用)
  • 理论上该模块比完整的模块稳定并且不容易被系统检测。并且该模块所有的点击序列都是随机化的,不容易被检测

主战斗模块

  1. 主战斗模块可以从几乎任何位置(理论上有返回键的页面)开始任务序列。

* 该模块支持主线章节大部分关卡。

python3 akhelper.py auto   5-1 2   5-2 3
# 按顺序刷 5-1 关卡 2 次,5-2 关卡 3 次

通过输入所需材料数量创建刷图计划并执行

arkplanner 命令可以通过企鹅物流的接口, 根据输入的材料创建刷图计划 (支持自动获取当前库存):

# 缓存将在第一次启动脚本时创建, 如果没有新的地图或材料, 这个缓存没必要更新.
是否刷新企鹅物流缓存(缓存时间: ....)[y/N]:
材料列表:
序号: 0, 材料等级: 3, 名称: 赤金
序号: 1, 材料等级: 3, 名称: 提纯源岩
...
...
# 需要 10 个提纯源岩
材料序号/需求数量(输入为空时结束):1/10
材料序号/需求数量(输入为空时结束):

# 默认 n, 输入 y 将自动读取游戏中的库存, 并加入到刷图计划的计算中
是否获取当前库存材料数量(y,N):y

刷图计划:
关卡 [...] 次数 2
...
预计消耗理智: ...
刷图计划已保存至: config/plan.json

auto plan 文件将从上一步生成的 config/plan.json 获取并执行刷图计划.

如果当前的理智不足以完成刷图计划, 将保存已经刷图的次数, 并在下次运行时恢复.

如果完成刷图计划后, 当前的理智可能还有剩余,可以使用其他命令消耗剩余理智(如使用脚本连续运行命令)。

0x04 ArknightsHelper 自定义脚本启动

请参考 scripting_example.pyi 编写自定义脚本。

0x05 已知问题

  • 自动选关功能:点击随机偏移范围大小固定,且与分辨率无关
  • 某些情况下,物品、数量识别会出错

0x06 自定义开发与TODO

如果您已经有一定的 Python 基础,可以通过 wiki 中的开发文档快速上手。

关于一些常见的问题

1. 分辨率/模拟器/路径问题

环境与分辨率

2. 我想跑一些别的关卡,但是提示我关卡不支持。

这些关卡可以通过 quick 命令来启动。

3. OCR 模块可以不装嚒?

最好安装,在之后的版本迭代中会对没有OCR依赖的用户越来越不友好不可以。

4. 我不会python|我电脑里没装Python,我能用这个嚒?

可以使用二进制包

5. 之后会收费么?

不会,该项目一直开源。实际上作者还有别的事情要做,代码可能突然会有一段时间不更新了。欢迎来pull代码以及加群

6. 关于mumu模拟器的adb在哪里的问题【目前已经解决】

常见问题

7. 我想将这个脚本适配到其他服务器

Porting to Another Server

自定义开发与更多功能

详情请联系作者或者提出你的issue!祝大家玩的愉快

欢迎来加开发者QQ 2454225341 或加入QQ群 757689154 Telegram 群(有简单防爬虫验证)

関連リポジトリ
donnemartin/system-design-primer

Learn how to design large-scale systems. Prep for the system design interview. Includes Anki flashcards.

PythonPyPIOtherprogrammingdevelopment
358.7k57.3k
vinta/awesome-python

An opinionated list of Python frameworks, libraries, tools, and resources

PythonPyPIOtherawesomepython
awesome-python.com
309.6k28.4k
practical-tutorials/project-based-learning

Curated list of project-based tutorials

PythonPyPIMIT Licensetutorialproject
274.6k35.4k
TheAlgorithms/Python

All Algorithms implemented in Python

PythonPyPIMIT Licensepythonalgorithm
thealgorithms.github.io/Python/
223k50.9k
tensorflow/tensorflow

An Open Source Machine Learning Framework for Everyone

C++Apache License 2.0tensorflowmachine-learning
tensorflow.org
196.5k75.7k
Significant-Gravitas/AutoGPT

AutoGPT is the vision of accessible AI for everyone, to use and to build on. Our mission is to provide the tools, so that you can focus on what matters.

PythonPyPIOtheraiopenai
agpt.co
185.6k46.1k
CyC2018/CS-Notes

:books: 技术面试必备基础知识、Leetcode、计算机操作系统、计算机网络、系统设计

algorithmleetcode
cyc2018.xyz
184.8k50.8k
yt-dlp/yt-dlp

A feature-rich command-line audio/video downloader

PythonPyPIThe Unlicenseyoutube-dlpython
discord.gg/H5MNcFW63r
179.4k15.3k
521xueweihan/HelloGitHub

:octocat: 分享 GitHub 上有趣、入门级的开源项目。Share interesting, entry-level open source projects on GitHub.

PythonPyPIgithubhellogithub
hellogithub.com
166.5k12.4k
huggingface/transformers

🤗 Transformers: the model-definition framework for state-of-the-art machine learning models in text, vision, audio, and multimodal models, for both inference and training.

PythonPyPIApache License 2.0nlpnatural-language-processing
huggingface.co/transformers
162.8k34k
langgenius/dify

Build Agentic workflows, RAG pipelines, with rich AI model and tool support on one collaborative workspace. Deploy on cloud, VPC, or self-hosted, so teams move from prototype to production without rebuilding the stack.

TypeScriptnpmOtheraigpt
dify.ai
149.7k23.6k
langchain-ai/langchain

The agent engineering platform.

PythonPyPIMIT Licenseaianthropic
docs.langchain.com/langchain/
142.3k23.7k