MaaFramework实战教程:5个步骤创建自定义识别与操作模块

MaaFramework实战教程:5个步骤创建自定义识别与操作模块

【免费下载链接】MaaFramework基于图像识别的自动化黑盒测试框架 | An automation black-box testing framework based on image recognition 项目地址: https://gitcode.com/gh_mirrors/ma/MaaFramework

MaaFramework是一款基于图像识别的自动化黑盒测试框架,通过自定义识别与操作模块,开发者可以轻松扩展框架功能以适应各种复杂场景。本文将详细介绍如何在5个简单步骤内完成自定义模块的创建与集成,帮助新手快速掌握框架核心能力。

1. 准备开发环境

首先确保已正确安装MaaFramework开发环境,克隆官方仓库:

git clone https://gitcode.com/gh_mirrors/ma/MaaFramework 

项目中提供了多种语言的示例代码,其中NodeJS版本的自定义模块开发文档位于docs/zh_cn/NodeJS/J1.2-自定义识别_操作.md,建议先阅读该文档了解基本概念。

2. 定义自定义识别模块

自定义识别模块用于识别屏幕上的特定元素,需要定义识别规则和返回格式。创建识别配置文件,指定识别类型为"Custom"并设置唯一标识符:

{ "Task": { "recognition": "Custom", "custom_recognition": "myReco", "custom_recognition_param": { "msg": "Hello world!" } } } 

在代码中实现识别逻辑,通过注册函数将自定义识别器添加到框架中:

export interface CustomRecognizerSelf { context: Context id: maa.TaskId name: string param: unknown image: maa.ImageData } res.register_custom_recognizer('myReco', function (this: CustomRecognizerSelf, self: CustomRecognizerSelf) { return [ { x: 0, y: 0, width: 0, height: 0 }, '识别结果详情' ] }) 

3. 创建自定义操作模块

自定义操作模块用于执行特定的交互动作,如点击、滑动等。类似地,先定义操作配置:

{ "Task": { "action": "Custom", "custom_action": "myAct", "custom_action_param": { "msg": "Hello world!" } } } 

然后实现操作逻辑,注册自定义动作:

interface CustomActionSelf { context: Context id: maa.TaskId name: string param: unknown box: maa.Rect detail: string } inst.register_custom_action('myAct', function (this: CustomActionSelf, self: CustomActionSelf) => { // 执行自定义操作逻辑 return true }) 

4. 模块集成与测试

将自定义模块集成到MaaFramework项目中,建议参考sample/nodejs/main.ts中的示例代码。测试时可使用项目提供的测试图片:

该图片分辨率为1920x1080,适合用于测试各种屏幕识别场景。通过Agent进程托管自定义模块,便于承载复杂逻辑,相关测试代码可参考test/agent/agent_child_test.py

5. 高级应用:模块间调用

MaaFramework支持自定义模块间的相互调用,实现复杂业务逻辑。例如在识别模块中调用其他任务进行辅助识别:

inst.register_custom_recognizer('forward', (self) => { return self.context.run_recognition('another_task', self.image) }) 

在操作模块中调用其他任务执行复合操作:

inst.register_custom_action('forward', (self) => { return self.context.run_action('another_task', box, detail) }) 

通过这种方式,可以构建出功能强大的自动化测试流程,满足各种复杂场景需求。

通过以上5个步骤,你已经掌握了MaaFramework自定义识别与操作模块的创建方法。更多高级技巧和最佳实践,请参考官方文档docs/zh_cn/2.2-集成接口一览.md,开始你的自动化测试框架扩展之旅吧!

【免费下载链接】MaaFramework基于图像识别的自动化黑盒测试框架 | An automation black-box testing framework based on image recognition 项目地址: https://gitcode.com/gh_mirrors/ma/MaaFramework

Read more

Stable Diffusion 秋叶大神2025最新整合一键安装包

Stable Diffusion 秋叶大神2025最新整合一键安装包

这段时间我在折腾 Stable Diffusion,期间试过很多安装方式。有手动安装的,也有别人做好的整合包。手动安装的方式对环境要求高,步骤也多,系统要装 Python,要装依赖,还要配好运行库,哪一步出错都要重新查资料,挺消耗时间。后来了解到秋叶大神做的整合一键安装包,这个版本省掉了很多折腾,对新手比较友好。 我自己把安装流程整理了一遍,又结合网上的信息,把一些需要注意的地方写下来,希望能帮到想尝试 Stable Diffusion 的人。 这里完整下载链接 秋叶整合包是什么 这个整合包属于别人已经帮你配好的版本,里面把 Stable Diffusion WebUI、模型管理、插件、运行环境都准备好了。下载之后按照提示解压,点一下启动脚本就能跑起来,不需要另外去折腾环境。 整合包里放的 WebUI 是常见的 AUTOMATIC1111 版本,所以大部分教程都能直接用。适合想直接出图、想先体验一下模型效果的人。 系统环境方面 我现在用的是 Windows 电脑,所以下面写的内容主要基于

【大模型应用篇】用 OpenClaw + 飞书打造 7x24 小时服务器运维机器人

【大模型应用篇】用 OpenClaw + 飞书打造 7x24 小时服务器运维机器人

前言 本文基于OpenClaw,也是最近超火的可在本地运行的AI Agent网关,记录从零搭建通过飞书对话管理服务器运维机器人的全过程。该机器人支持随时随地通过飞书查看服务器状态、检索日志、管理进程,其核心机制在于:由OpenClaw将聊天平台(飞书等)的消息路由至大模型,模型调用本地工具(如Shell、文件系统、浏览器)执行相应任务,最终将结果自动返回至飞书会话中,实现自动化运维交互。 架构概览 飞书 App (WebSocket 长连接)         ↕ OpenClaw Gateway (服务器上 systemd 常驻)         ↕ AI 模型 (DeepSeek v3.2/GLM 4.7)         ↕ 服务器 Shell (受白名单限制的命令执行) 核心组件: * OpenClaw Gateway:Agent 网关,管理会话、工具调用、渠道连接 * 飞书插件:通过

qwen论文阅读笔记

论文: Qwen: https://arxiv.org/abs/2309.16609 相关论文: Qwen-vl: https://arxiv.org/pdf/2308.12966 qwen2-vl: https://arxiv.org/pdf/2409.12191 代码:https://github.com/QwenLM/Qwen2-VL 1、为什么要做这个研究(理论走向和目前缺陷) ? 之前LLaMA开源并且使用的是完全开源的数据,本文基于LLaMA做了后续的一些工作,整体看算法上的创新不大,工程上工作比较多。 2、他们怎么做这个研究 (方法,尤其是与之前不同之处) ? 模型架构和LLaMA基本相同,但是准备了比较充分的数据,也加了一些小trick, 比如参考NTK理论根据上下文长度动态调整RoPE 的底数以支持推理更长上下文输入,qwen重点强调了对齐(SFT和RLHF)的重要性。 3、发现了什么(

Flutter 三方库 eip55 的鸿蒙化适配指南 - 在鸿蒙系统上构建极致、严谨、符合 Web3 标准的以太坊地址校验与防串改引擎

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 三方库 eip55 的鸿蒙化适配指南 - 在鸿蒙系统上构建极致、严谨、符合 Web3 标准的以太坊地址校验与防串改引擎 在鸿蒙(OpenHarmony)系统的区块链钱包应用、数字资产管理工具(如鸿蒙版 NFT 浏览器)或需要处理加密货币转账的场景中,如何确保用户输入的以太坊(Ethereum)地址既符合基本格式,又通过了大小写混合的校验和(Checksum)验证,防止因为单个字符手误导致的资产永久丢失?eip55 为开发者提供了一套工业级的、基于 EIP-55 提案的地址转换与验证方案。本文将深入实战其在鸿蒙 Web3 安全基座中的应用。 前言 什么是 EIP-55?它是由以太坊创始人 Vitalik Buterin 提出的地址校验和提案。通过在地址字符串中引入特定的。大小写混合模式(基于 Keccak-256 哈希)