AI prompts
base on 基于图像识别的自动化黑盒测试框架 | An automation black-box testing framework based on image recognition <!-- markdownlint-disable MD033 MD041 -->
<p align="center">
<img alt="LOGO" src="https://cdn.jsdelivr.net/gh/MaaAssistantArknights/design@main/logo/maa-logo_512x512.png" width="256" height="256" />
</p>
<div align="center">
# MaaFramework
<!-- prettier-ignore-start -->
<!-- markdownlint-disable-next-line MD036 -->
_✨ 基于图像识别的自动化黑盒测试框架 ✨_
<!-- prettier-ignore-end -->
</div>
<p align="center">
<img alt="license" src="https://img.shields.io/github/license/MaaXYZ/MaaFramework">
<img alt="C++" src="https://img.shields.io/badge/C++-20-%2300599C?logo=cplusplus">
<img alt="platform" src="https://img.shields.io/badge/platform-Windows%20%7C%20Linux%20%7C%20macOS%20%7C%20Android-blueviolet">
<img alt="commit" src="https://img.shields.io/github/commit-activity/m/MaaXYZ/MaaFramework?color=%23ff69b4">
<img alt="stars" src="https://img.shields.io/github/stars/MaaXYZ/MaaFramework?style=social">
</p>
<div align="center">
[English](./README_en.md) | [简体中文](./README.md)
</div>
## 简介
**MaaFramework** 是基于图像识别技术、运用 [MAA](https://github.com/MaaAssistantArknights/MaaAssistantArknights) 开发经验去芜存菁、完全重写的新一代自动化黑盒测试框架。
低代码的同时仍拥有高扩展性,旨在打造一款丰富、领先、且实用的开源库,助力开发者轻松编写出更好的黑盒测试程序,并推广普及。
## 即刻开始
- [快速开始](docs/zh_cn/1.1-快速开始.md)
- [集成文档](docs/zh_cn/2.1-集成文档.md)
- [Pipeline 协议](docs/zh_cn/3.1-任务流水线协议.md)
## 最佳实践
- [M9A](https://github.com/MaaXYZ/M9A) 1999 小助手 ![Pipeline](https://img.shields.io/badge/Pipeline-%23454545?logo=paddypower&logoColor=%23FFFFFF)
基于全新架构的 亿韭韭韭 小助手。图像技术 + 模拟控制,解放双手!由 MaaFramework 强力驱动!
- [MAABH3](https://github.com/MaaXYZ/MAABH3) 《崩坏3》小助手 | A one-click tool for the daily tasks of Honkai Impact. ![cpp](https://img.shields.io/badge/C%2B%2B-00599C?logo=c%2B%2B&logoColor=white)
基于全新架构的 蹦蹦蹦 小助手。图像技术 + 模拟控制,解放双手!由 MaaFramework 强力驱动!
- [MAALimbusCompany](https://github.com/hxdnshx/MAALimbusCompany) 边狱公司 小助手 ![Pipeline](https://img.shields.io/badge/Pipeline-%23454545?logo=paddypower&logoColor=%23FFFFFF)
基于全新架构的 边狱公司 小助手。图像技术 + 模拟控制,解放双手!由 MaaFramework 强力驱动!
- [MAS](https://github.com/MaaXYZ/MaaAssistantSkland) 森空岛 小助手 ![Pipeline](https://img.shields.io/badge/Pipeline-%23454545?logo=paddypower&logoColor=%23FFFFFF)
基于全新架构的 森空岛 小助手。图像技术 + 模拟控制,解放双手!由 MaaFramework 强力驱动!
- [MaaHatsuboshiTA](https://github.com/Carpenter-MK1/MaaHatsuboshiTA) 学院偶像大师 初星助教 ![Pipeline](https://img.shields.io/badge/Pipeline-%23454545?logo=paddypower&logoColor=%23FFFFFF)
基于全新架构的制作人代肝工具,养肝护眼 + 节省时间,~~出轨美铃!~~ 由 MaaFramework 强力驱动!
- [MCCA](https://github.com/MaaXYZ/MCCA) 交错战线 小助手 ![Pipeline](https://img.shields.io/badge/Pipeline-%23454545?logo=paddypower&logoColor=%23FFFFFF)
基于全新架构的 交错战线 小助手。图像技术 + 模拟控制,解放双手!由 MaaFramework 强力驱动!
- [MSBA](https://github.com/overflow65537/MAA_SnowBreak) 尘白禁区 小助手 ![Pipeline](https://img.shields.io/badge/Pipeline-%23454545?logo=paddypower&logoColor=%23FFFFFF)
基于全新架构的 尘白禁区 小助手。图像技术 + 模拟控制,解放双手!由 MaaFramework 强力驱动!
- [MaaAeonFantasy](https://github.com/Andl-Liu/MaaAeonFantasy) 星神少女 预言之子 小助手 ![Pipeline](https://img.shields.io/badge/Pipeline-%23454545?logo=paddypower&logoColor=%23FFFFFF)
基于全新架构的 星神少女 小助手。图像技术 + 模拟控制,让手去做它该做的事!由 MaaFramework 强力驱动!
- [maa-whmx](https://github.com/MAWHA/maa-whmx) 物华弥新 小助手 ![cpp](https://img.shields.io/badge/C%2B%2B-00599C?logo=c%2B%2B&logoColor=white) ![qt](https://img.shields.io/badge/Qt6-41CD52?logo=Qt&logoColor=white)
基于全新架构的 物华弥新 小助手。图像技术 + 模拟控制,解放双手!由 MaaFramework 强力驱动!
- [MAA-for-Millennium-Tour](https://github.com/Ostwind23/MAA-for-Millennium-Tour) 千年之旅 小助手 ![Pipeline](https://img.shields.io/badge/Pipeline-%23454545?logo=codecademy&logoColor=%23FFFFFF&color=%23454545) ![python](https://img.shields.io/badge/Python-3776AB?logo=python&logoColor=white)
基于全新架构的 千年之旅 小助手。图像技术 + 模拟控制,解放侍主的大手!由 MaaFramework 强力驱动!
- [MFAWPF](https://github.com/SweetSmellFox/MFAWPF) MFA 任务管理器 ![csharp](https://img.shields.io/badge/C%23-239120?logo=csharp&logoColor=white)
基于 MAA 全新架构的 通用 GUI。由 MaaFramework 强力驱动!
- [MET](https://github.com/shanchuan001/MET) 悠久之树 小助手 ![Pipeline](https://img.shields.io/badge/Pipeline-%23454545?logo=paddypower&logoColor=%23FFFFFF)
基于全新架构的 悠久之树 小助手。图像技术 + 模拟控制,解放双手!由 MaaFramework 强力驱动!
- [MaaYYs](https://github.com/TanyaShue/MaaYYs) 阴阳师小助手 ![python](https://img.shields.io/badge/Python-3776AB?logo=python&logoColor=white) ![qt](https://img.shields.io/badge/Qt6-41CD52?logo=Qt&logoColor=white)
基于全新架构的 阴阳师小助手。图像技术 + 模拟控制,当赛博屯屯鼠,自动日常,解放你的双手!由 MaaFramework 强力驱动!
- [MaaJR](https://github.com/Saratoga-Official/MaaJR) 战舰少女R 小助手 ![Pipeline](https://img.shields.io/badge/Pipeline-%23454545?logo=paddypower&logoColor=%23FFFFFF)
基于全新架构的 战舰少女R 小助手。图像技术 + 模拟控制,解放双手!由 MaaFramework 强力驱动!
- [MPA](https://github.com/overflow65537/MAA_Punish) 战双 小助手 ![Pipeline](https://img.shields.io/badge/Pipeline-%23454545?logo=paddypower&logoColor=%23FFFFFF)
基于全新架构的 战双帕弥什 小助手。图像技术 + 模拟控制,解放双手!由 玛丽的黑咖啡 2.0 强力驱动!
- [MaaYuan](https://github.com/syoius/MaaYuan) 代号鸢/如鸢 一键长草小助手 ![Pipeline](https://img.shields.io/badge/Pipeline-%23454545?logo=paddypower&logoColor=%23FFFFFF)
基于全新架构的 代号鸢/如鸢 小助手。图像技术 + 模拟控制,解放双手!由 MaaFramework 强力驱动!
- [MFW-ELE-GUI](https://github.com/Night-stars-1/maa-gui) MFW-ELE-GUI ![Typescript](https://img.shields.io/badge/Typescript-8A2BE2?logo=typescript) ![Electron](https://img.shields.io/badge/Electron-3776AB?logo=electron&logoColor=black)
基于全新架构的 MFW-ELE-GUI。由 MaaFramework 强力驱动!
- [Maa-HBR](https://github.com/KarylDAZE/Maa-HBR) 炽焰天穹/HBR 小助手 ![Pipeline](https://img.shields.io/badge/Pipeline-%23454545?logo=paddypower&logoColor=%23FFFFFF)
基于全新架构的 炽焰天穹/HBR 小助手。图像技术 + 模拟控制,解放双手!由 MaaFramework 强力驱动!
## 生态共建
MAA 正计划建设为一类项目,而非舟的单一软件。
若您的项目依赖于 MaaFramework ,我们欢迎您将它命名为 MaaXXX, MXA, MAX 等等。当然,这是许可而不是限制,您也可以自由选择其他与 MAA 无关的名字,完全取决于您自己的想法!
同时,我们也非常欢迎您提出 PR ,在上方的最佳实践列表中添加上您的项目!
## 许可证
`MaaFramework` 采用 [`LGPL-3.0`](./LICENSE.md) 许可证进行开源。
## 开发
_请留意,仅当您准备开发 MaaFramework 本身时,才需要阅读本章节内容。若您仅希望基于 MaaFramework 开发自己的应用,则请参考 [即刻开始](#即刻开始)。_
- [构建指南](docs/zh_cn/4.1-构建指南.md)
- [接口设计](docs/zh_cn/4.2-标准化接口设计.md)
## 鸣谢
### 开源库
- [opencv](https://github.com/opencv/opencv)
Open Source Computer Vision Library
- [fastdeploy](https://github.com/PaddlePaddle/FastDeploy)
⚡️An Easy-to-use and Fast Deep Learning Model Deployment Toolkit for ☁️Cloud 📱Mobile and 📹Edge. Including Image, Video, Text and Audio 20+ main stream scenarios and 150+ SOTA models with end-to-end optimization, multi-platform and multi-framework support.
- [onnxruntime](https://github.com/microsoft/onnxruntime)
ONNX Runtime: cross-platform, high performance ML inferencing and training accelerator
- [boost](https://www.boost.org/)
Boost provides free peer-reviewed portable C++ source libraries.
- [meojson](https://github.com/MistEO/meojson)
A modern all-platform Json/Json5 parser/serializer, which is header-only and used magic!
- [minitouch](https://github.com/DeviceFarmer/minitouch)
Minimal multitouch event producer for Android.
- [maatouch](https://github.com/MaaAssistantArknights/MaaTouch)
Android native implementation of minitouch input protocol
- [minicap](https://github.com/DeviceFarmer/minicap)
Stream real-time screen capture data out of Android devices.
- [zlib](https://github.com/madler/zlib)
A massively spiffy yet delicately unobtrusive compression library.
- [gzip-hpp](https://github.com/mapbox/gzip-hpp)
Gzip header-only C++ library
- ~~[protobuf](https://github.com/protocolbuffers/protobuf)~~
~~Protocol Buffers - Google's data interchange format~~
- ~~[grpc](https://github.com/grpc/grpc)~~
~~The C based gRPC (C++, Python, Ruby, Objective-C, PHP, C#)~~
- ~~[thrift](https://github.com/apache/thrift)~~
~~Apache Thrift~~
### 开发者
感谢以下开发者对 MaaFramework 作出的贡献:
[![Contributors](https://contrib.rocks/image?repo=MaaXYZ/MaaFramework&max=1000)](https://github.com/MaaXYZ/MaaFramework/graphs/contributors)
## 讨论
- 集成/开发交流 QQ 群: 595990173
## 赞助
<!-- markdownlint-disable MD045 -->
<a href="https://afdian.com/a/misteo">
<img width="200" src="https://pic1.afdiancdn.com/static/img/welcome/button-sponsorme.png">
</a>
", Assign "at most 3 tags" to the expected json: {"id":"10417","tags":[]} "only from the tags list I provide: [{"id":77,"name":"3d"},{"id":89,"name":"agent"},{"id":17,"name":"ai"},{"id":54,"name":"algorithm"},{"id":24,"name":"api"},{"id":44,"name":"authentication"},{"id":3,"name":"aws"},{"id":27,"name":"backend"},{"id":60,"name":"benchmark"},{"id":72,"name":"best-practices"},{"id":39,"name":"bitcoin"},{"id":37,"name":"blockchain"},{"id":1,"name":"blog"},{"id":45,"name":"bundler"},{"id":58,"name":"cache"},{"id":21,"name":"chat"},{"id":49,"name":"cicd"},{"id":4,"name":"cli"},{"id":64,"name":"cloud-native"},{"id":48,"name":"cms"},{"id":61,"name":"compiler"},{"id":68,"name":"containerization"},{"id":92,"name":"crm"},{"id":34,"name":"data"},{"id":47,"name":"database"},{"id":8,"name":"declarative-gui "},{"id":9,"name":"deploy-tool"},{"id":53,"name":"desktop-app"},{"id":6,"name":"dev-exp-lib"},{"id":59,"name":"dev-tool"},{"id":13,"name":"ecommerce"},{"id":26,"name":"editor"},{"id":66,"name":"emulator"},{"id":62,"name":"filesystem"},{"id":80,"name":"finance"},{"id":15,"name":"firmware"},{"id":73,"name":"for-fun"},{"id":2,"name":"framework"},{"id":11,"name":"frontend"},{"id":22,"name":"game"},{"id":81,"name":"game-engine "},{"id":23,"name":"graphql"},{"id":84,"name":"gui"},{"id":91,"name":"http"},{"id":5,"name":"http-client"},{"id":51,"name":"iac"},{"id":30,"name":"ide"},{"id":78,"name":"iot"},{"id":40,"name":"json"},{"id":83,"name":"julian"},{"id":38,"name":"k8s"},{"id":31,"name":"language"},{"id":10,"name":"learning-resource"},{"id":33,"name":"lib"},{"id":41,"name":"linter"},{"id":28,"name":"lms"},{"id":16,"name":"logging"},{"id":76,"name":"low-code"},{"id":90,"name":"message-queue"},{"id":42,"name":"mobile-app"},{"id":18,"name":"monitoring"},{"id":36,"name":"networking"},{"id":7,"name":"node-version"},{"id":55,"name":"nosql"},{"id":57,"name":"observability"},{"id":46,"name":"orm"},{"id":52,"name":"os"},{"id":14,"name":"parser"},{"id":74,"name":"react"},{"id":82,"name":"real-time"},{"id":56,"name":"robot"},{"id":65,"name":"runtime"},{"id":32,"name":"sdk"},{"id":71,"name":"search"},{"id":63,"name":"secrets"},{"id":25,"name":"security"},{"id":85,"name":"server"},{"id":86,"name":"serverless"},{"id":70,"name":"storage"},{"id":75,"name":"system-design"},{"id":79,"name":"terminal"},{"id":29,"name":"testing"},{"id":12,"name":"ui"},{"id":50,"name":"ux"},{"id":88,"name":"video"},{"id":20,"name":"web-app"},{"id":35,"name":"web-server"},{"id":43,"name":"webassembly"},{"id":69,"name":"workflow"},{"id":87,"name":"yaml"}]" returns me the "expected json"