格式化工具部分: 1. pre-commit 引入 python 的格式化工具,包括 black(代码格式化)和 isort(对“包导入顺序”的规范) 2. 允许 prettier 对文档站的 markdown 文件格式化 3. 不允许 prettier 对 markdown 文件中的代码块的代码本身进行格式化 4. 升级了 pre-commit 的各个 hook 的版本 5. 优化了 pre-commit 的日志文本显示 容器总览部分: 1. 由原来的单一轻量环境转为区分空环境、轻量环境和全量环境 2. 空环境是裸 Linux 镜像(Ubuntu),为默认环境 3. 轻量环境适合开发文档站前端 4. 全量环境适合开发 MaaCore 5. 目前,全量环境完整包含了轻量环境,轻量环境完整包含了空环境 6. 在仓库 README.md 中更新了三个环境的描述,并将链接分别设置为对应环境的创建链接 **注意:没有修改文档站中的对应文件** 7. 在各个语言的开发指南的最后,移除了 Codespace 部分的“安装额外依赖”相关描述,且将链接设置为全量环境的创建链接 **注意:没有添加“开发文档站”的指南和对应 codespace 的使用方式** 容器的轻量环境和全量环境共有部分: 1. 安装 black 和 isort 包 2. 调整 VS Code 设置,取消先前(对 markdown 文件单独指定 markdownlint 扩展作为格式化工具)的错误设置,现在 markdown 文件仍然使用默认的 prettier 扩展作为格式化工具 3. 引入 markdown-all-in-one 扩展作为语法提示工具 4. 将 node_modules 和 3rdparty 排除在 VS Code 的文本的搜索路径之外 容器的全量环境部分: 1. 为 tools 下的所有 python 脚本安装依赖 2. 使用 tools/maadeps-download.py 下载 maadeps,且将必要二进制文件软链接到 /usr/local/bin/ 3. 使用 apt 安装 cmake 和 clangd-20,将后者通过 update-alternatives 设置为系统 clangd 的默认版本 4. 使用 cmake tools 扩展,并按照 Linux 编译方法进行配置 5. 使用 clang-format 作为 c/cpp 的格式化工具,clang-format 程序主体来自 maadeps(已经软链接到 /usr/local/bin/) 6. 使用 clangd 作为 c/cpp 的语法提示工具 7. 将 MaaDeps、install 和 build 排除在 VS Code 的文本搜索路径之外 其它手动调整: 1. 更新文档站的 package.json,指定 pnpm 包管理器的版本 2. 手动保证 markdown 文件中的列表前后有空行(注意到 MarkdownLint 官方规则不一定能精准定位所有“列表前后空行”的问题,详见:https://github.com/DavidAnson/markdownlint/blob/main/doc/Rules.md#md032---lists-should-be-surrounded-by-blank-lines ) 3. 修改了部分 markdown 文件中的 json 代码块的语法问题 **注意:相同的问题并未全部发现,仅修改了两处** 4. 在 tools 目录中,一处 python 脚本的包名误用(本地包名和某个 pip 包重名),这里修改了相应代码 5. 在 tools 目录中,一处 python 脚本使用了弃用的包 cchardet 的问题,这里更换了推荐使用的功能相近的包并修改了相应代码 自动化脚本提交的修改: 1. 自动格式化了大量 tools 中的 python 脚本 2. 自动格式化了大量 docs 中的 markdown 文件 Commits: * chore: pre-commit引入black和isort规范py文件 * chore: Auto update by pre-commit hooks [skip changelog] * chore: devcontainer添加isort扩展,排序python导入 * chore: pre-commit任务命名及更名 * style: isort fix * chore: Auto update by pre-commit hooks [skip changelog] * chore: 更新pre-commit的hook版本 * fix: 模块名与第三方库重名,大忌 * chore: 容器构建时额外安装isort * docs: md -> markdown * chore: 容器安装python包和maadeps * fix: 修复过时python包 * chore: 指定pnpm版本 * chore: container支持选择轻量环境 * chore: 去掉rust * chore: add plain env * chore: 使用clangd语言服务器 * chore: 无需单独设置markdown的格式化工具 * chore: 更新安装的clangd版本 * docs: 简易文档适配 * docs: 在仓库README中重新编排codespaces相关指引 * chore: Auto update by pre-commit hooks [skip changelog] * style: 调整缩进 * chore: 格式化工具不用特意排除被gitignore忽略的文件 * chore: sh文件在gitattributes中单列一类 * chore: 格式化docs下的markdown文件 * chore: 暂时不修改md文件中的代码块 * style: 人为明确markdown中的部分列表相关格式 * docs: 补上部分markdown的json代码块中缺失的逗号 * chore: Auto update by pre-commit hooks [skip changelog] * chore: Auto update by pre-commit hooks [skip changelog] * fix: 补上tools的服务器排序相关代码中缺失的逗号 Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * chore: 使用maadeps的clangd * build: 更新maadeps工具链版本 * style: prettier fix * revert: 还原maadeps版本 * revert: 取消使用maadeps的clangd依赖,改用系统apt安装 --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
icon, index, dir
| icon | index | dir | ||
|---|---|---|---|---|
| ic:round-home | true |
|
::: center
MAA
MAA는 MAA Assistant Arknights의 약자입니다
명일방주 어시스턴트
이미지 인식을 기반으로, 한 번의 클릭만으로 그날의 모든 작업을 끝내드립니다!
개발 진행 중입니다 ✿✿ヽ(°▽°)ノ✿
:::
다운로드 및 설치
문서 를 읽은 후 공식 웹사이트 또는 Releases 에서 다운로드하세요. 초보자 가이드 를 참고하여 설치하세요.
주요 기능
- 이성을 사용하고, 아이템 드랍을 인식해 자동으로 통계 사이트에 업로드 합니다. 펭귄 물류, Yituliu
- 자동으로 오퍼레이터 효율을 고려해 기반시설 교대를 하며, 동시에 사용자 커스텀 교대 기능도 지원합니다. 기반시설 스키마
- 자동으로 공개모집 및 즉시 모집을 선택할 수 있으며, 자동으로 통계 사이트에 업로드 합니다. 펭귄 물류, Yituliu
- 공개 모집 화면에서 태그 인식을 할 수 있습니다.
- 오퍼레이터 목록을 인식해, 보유중인 오퍼레이터들 및 잠재를 통계화하여 공개모집 태그 인식 시 표시합니다.
- 현재 보유중인 육성 재화를 인식해 다음 사이트로 데이터를 내보낼 수 있습니다. 펭귄 물류 플래너, Arkntools, ark-nights
- 공개 모집 인터페이스에 수동 식별을 지원하여 높은 등급의 오퍼레이터 공개 모집을 용이하게 합니다.
- 오퍼레이터 목록을 식별하고, 보유 및 미보유 오퍼레이터와 그들의 잠재를 계산하며, 이를 공개 모집 인터페이스에서 표시하는 것을 지원합니다.
- 원클릭으로 친구 방문 및 크레딧 획득/구매를 하며, 임무 보상 수령 등의 모든 일과를 수행합니다.
- 통합전략에서 자동으로 오퍼레이터 레벨을 인식하며, 오리지늄 각뿔 획득 및 노드 개방과 레벨을 올려줍니다.
- Copliot 파일을 통한 자동 지휘가 가능합니다. 영상 설명
- C, Python, Java, Rust, Golang, Java HTTP, Rust HTTP 다음과 같은 다양한 환경에서 MAA를 사용할 수 있습니다!
말로만 설명하기보다는 사진으로 보여드리겠습니다!
사용 방법
기능 소개
사용자 매뉴얼을 참조하세요.
해외 서버 지원
현재 글로벌 서버 EN/KR/JP/txwy 서버의 대부분의 기능이 지원됩니다. 그러나, 해외 서버 사용자가 적고 프로젝트 인원이 부족하기 때문에 대부분의 기능이 자세하게 테스트를 거치지 않았습니다. 그러니 직접 사용해서 어떠한지 확인하시기 바랍니다. 만약 버그가 있거나, 특정 기능에 대한 강한 요구가 있다면 Issues 및 토론 에서 요청하거나 참여해주세요! 현지화는 다음을 참조해주세요. 해외 클라이언트 현지화
CLI지원
MAA는 명령줄 인터페이스(CLI)를 지원하며, Linux,macOS 및 Window에서 사용할 수 있으며, 자동화 스크립트 작성 및 그래픽 인터페이스가 없는 서버에서 사용할 수 있습니다. CLI 가이드
관련 프로젝트
주요 관련 프로젝트
현재 프로젝트 팀에 프론트엔드 전문가가 매우 부족합니다! 관련 경험이 있으시다면 함께 참여해 주세요!
- New Framework: MaaFramework
- 전략 파일 저장소: Frontend maa-copilot-frontend
- 전략 파일 저장소: Backend MaaBackendCenter
- 공식 웹사이트: frontend
- Deep Learning: MaaAI
다국어 지원 (i18n)
MAA는 중국어(간체)를 기본 언어로 하며, 번역 단어는 중국어(간체)를 기준으로 합니다.
개발 참여 및 기여
Windows
개발 전 필수 사항을 참조하세요.
Linux | macOS
Linux 가이드을 참조하세요
API
- C 인터페이스:예제
- Python 인터페이스:예제
- Golang 인터페이스:예제
- Dart 인터페이스
- Java 인터페이스:예제
- Java HTTP 인터페이스
- Rust 인터페이스:HTTP 인터페이스
- TypeScript 인터페이스
- Woolang 인터페이스:예제
- 통합문서
- 콜백 스키마
- 전투 스키마
- 작업 스키마
해외 서버 현지화
해외 클라이언트 현지화를 참조하세요. 대부분은 스크린샷 + 간단한 json 수정만 필요합니다.
개발에 기여를 원하지만, GitHub 사용이 어려운 경우?
Issue bot
감사의 말
오픈소스 라이브러리
- 이미지 인식: opencv
글자 인식: chineseocr_lite- 글자 인식: PaddleOCR
- 딥러닝 배포 라이브러리: FastDeploy
- ML accelerator: onnxruntime
아이템 드랍 인식: Penguin Stats recognizer- 맵 타일 인식: Arknights-Tile-Pos
- C++ JSON 라이브러리: meojson
- C++ 오퍼레이터 파서: calculator
C++ Base64 인코딩/디코딩: cpp-base64- C++ ZIP 라이브러리: zlib
- C++ Gzip 라이브러리: gzip-hpp
- 안드로이드 터치 이벤트 구현: Minitouch
- 안드로이드 터치 이벤트 구현: MaaTouch
- WPF MVVM 프레임워크: Stylet
- WPF 조작 라이브러리: HandyControl -> HandyControls
- C# 로그: Serilog
- C# JSON 라이브러리: Newtonsoft.Json & System.Text.Json
다운로더: aria2
데이터 소스
공개모집 데이터: ArkTools오퍼레이터/기반시설 데이터: PRTS Arknights Wiki (Chinese)- 스테이지 데이터: Penguin Stats
- 게임 데이터/리소스: Arknights Game Resource
- 게임 데이터: Arknights Yostar Game Data
기여자
MAA의 개선을 위한 개발/테스트에 기여해준 모든 친구들에게 감사드립니다! (*´▽`)ノノ
주의사항
- 본 소프트웨어는 GNU Affero General Public License v3.0 only 오픈소스 라이선스를 사용합니다, 또한 추가의 사용자 계약이 포함됩니다.
- 이 프로그램의 로고는 AGPL 3.0 라이센스의 적용 대상이 아닙니다. 耗毛와 Vie 두 명의 아티스트와 프로그램의 개발자들이 모든 권리를 가집니다. 프로젝트가 AGPL 3.0 라이센스 하에 있다고 하더라도 프로그램의 로고는 동의 없이 사용되어서는 안 되며, 동의 없는 상업적 이용 또한 금지됩니다.
- 이 프로그램은 오픈소스이자 무료이며 학습 및 커뮤니케이션 전용입니다. 이 프로그램을 이용해 장비값이나 시간당 수수료 등을 대가로 서비스를 제공하는 판매자로 인해 발생하는 문제와 결과는 프로그램의 개발자들에게는 책임이 없습니다.
DirectML 지원 설명
이 소프트웨어는 Microsoft에서 Windows 플랫폼에서 제공하는 독립 구성 요소 DirectML에 의존하는 GPU 가속을 지원합니다. DirectML은 이 프로젝트의 오픈 소스 부분이 아니며 AGPL 3.0의 적용을 받지 않습니다. 사용자의 편의를 위해 설치 패키지에 수정되지 않은 DirectML.dll 파일을 포함했습니다. GPU 가속이 필요하지 않으면 DLL 파일을 안전하게 삭제해도 소프트웨어의 핵심 기능은 정상적으로 실행됩니다.
광고
사용자 그룹: QQ 그룹
Discord 서버: Discord 링크
사용자 그룹: Telegram
전략 JSON 공유
Bilibili 라이브 방송: MrEO 방송 코딩 방송 & MAA-Official 방송 게임/잡담
명일방주 무관 기술 공유 & 만담 (QQ 그룹): 지옥 같아요!
개발자 그룹 (QQ 그룹)
프로그램이 도움이 된다고 생각하시면 Star를 눌러주세요! (페이지 우측 상단의 작은 별) 저희에게 가장 큰 도움이 됩니다!
