- Python 3.12
pip install -r requirements.txtpython main.py
- 将
deploy\install.yml中MaaXXX修改为你的项目名并上传至GitHub仓库的.github/workflows目录 - 推送新版本
- 在计划任务界面点击资源的添加按钮即可添加资源
- 每个资源可以有多个配置,互相独立
- 结束后操作可以选择启动其他资源中的某项配置文件
- 配合启动后执行任务可以实现多资源的无缝启动
- -r参数可接受资源名称 例如
python main.py -r resource1或者MFW.exe -r resource1 - -c参数可接受配置文件名称 例如
python main.py -c config1或者MFW.exe -c config1 - -d参数可以在运行后直接启动任务 例如
python main.py -d或者MFW.exe -d
- 在
interface.json文件中添加MFW_min_req_version键,值为MFW的版本号
"MFW_min_req_version": "1.5.4"- 添加后,如果MFW在更新时发现新资源中
MFW_min_req_version的值大于当前MFW的版本号,则会停止更新并提示原因
- 在interface.json同级目录放置
Announcement.md文件,内容为公告内容
- 每个任务可以单独配置
计划任务 - 支持模式
每天,每周,每月 - 例1:每天5点后可以运行,最多运行3次,最小间隔8小时
- 例2:每周一5点后可以运行,最多运行两次,最小间隔1天
- 目前支持 钉钉,飞书,SMTP,WxPusher,企业微信机器人 五种通知方式
- 支持用户输入参数至pipeline
-
[color:color_name]:颜色,例如[color:red]。 -
[size:font_size]:字号,例如[size:20]。 -
[b]:粗体。 -
[i]:斜体。 -
[u]:下划线。 -
[s]:删除线。 -
[align:left/center/right]:居左,居中或者居右,只能在一整行中使用。
- 需要启用对应node的
Focus功能 - 格式为doc协议
- 例子:
{
"task": {
"focus": {
"start": "[size:15][color:gray]任务启动时通知[/color][/size]",
"succeeded": "[size:15][color:green]任务成功时通知[/color][/size]",
"failed": "[size:15][color:tomato]任务失败时通知[/color][/size]"
},
"next": [
"next_task"
]
}
}- 格式为doc协议
- 在interface文件中,格式为:
{
"task": [
{
"name": "任务名称",
"entry": "任务入口",
"doc": "[size:15][color:tomato]任务说明[/color][/size]"
}
]
}- 什么是自定义动作/识别器
- 要求自定义动作/识别器使用python3.12
- 如果自定义动作/识别器中含有第三方库,需要将第三方库安装到
_internal文件夹中 - 编写
costom.json并放置于custom文件夹内 - 这是一个例子
- 内容为
{
"动作名字1": {
"file_path": "{custom_path}/任意位置/任意名字_动作1.py",
"class": "动作对象1",
"type": "action"
},
"动作名字2": {
"file_path": "{custom_path}/任意位置/任意名字_动作1.py",
"class": "动作对象2",
"type": "action"
},
"识别器名字1": {
"file_path": "{custom_path}/任意位置/任意名字_识别器1.py",
"class": "识别器对象1",
"type": "recognition"
},
"识别器名字2": {
"file_path": "{custom_path}/任意位置/任意名字_识别器2.py",
"class": "识别器对象2",
"type": "recognition"
}
}- 其中,动作名字1,动作名字2,识别器名字1,识别器名字2为在pipeline中所使用的名字,比如
"我的自定义任务": {
"recognition": "Custom",
"custom_recognition": "识别器名字1",
"action": "Custom",
"custom_action": "动作名字1"
}
- 动作对象1,动作对象2,识别器对象1,识别器对象2为python文件中定义的对象名,比如
class 动作对象1(CustomAction):
def apply(context,...):
# 获取图片,然后进行自己的图像操作
image = context.tasker.controller.cached_image
# 返回图像分析结果
- custom路径中的{custom_path}为MFW-PyQt6根目录中的custom文件夹MFW-PyQt6 使用 GPL-3.0 许可证 开源。
- PyQt-Fluent-Widgets
A fluent design widgets library based on C++ Qt/PyQt/PySide. Make Qt Great Again. - MaaFramework
基于图像识别的自动化黑盒测试框架。 - MirrorChyan
Mirror酱更新服务 - AutoMAA
明日方舟MAA的插件|MAA的多账号管理与自动化工具,定时自动完成代理,轻松完成多账号日常,究极长草方案!
感谢所有为 MFW-PyQt6 做出贡献的开发者。




{ "task": [ { "name": "测试A", "entry": "任务A", "advanced": ["高级设置A","高级设置B"] } ], "advanced": { "高级设置A": { "field": "ce",//一次更改一个参数,其他参数会用下拉框表示 "type": "string", "default": ["cs.png", "cs2.png"],//可输入的下拉框中会显示cs.png和cs2.png,默认选中cs.png "pipeline_override": { "任务A": { "template": "{ce}" } } }, "高级设置B": { "field": ["x","y"],//一次更改多个参数 "type": ["int", "int"], "default": [["1", "3"],["2","4"]],//可输入的下拉框中会分别显示1和2 "pipeline_override": { "任务A": { "roi": ["{x}","{y}",3,4] } } } } }