Skip to content

overflow65537/MFW-PyQt6

Repository files navigation

LOGO

MFW-链程助手

简体中文 | English

基于 PySide6MAAFramework 通用 GUI 项目

license Python platform commit

开发环境

  • Python 3.12

使用方法

直接使用

  • pip install -r requirements.txt
  • python main.py

使用GitHub action 自动构建

  • 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,企业微信机器人 五种通知方式

doc协议

使用类似[color:red]文本内容[/color]的标记来定义文本样式

支持的标记包括

  • [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 做出贡献的开发者。

Contributors to MFW-PyQt6

界面预览

task_interface bundle_interface task_cooldown sp_task

About

一个基于PySide6的MAAFramework图形化操作界面

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •