首页/新闻资讯/正文详情

MaaEnd Go Service开发指南:Custom Action与Custom Recognition注册机制详解

发布时间:2026/9/26 1:39:48 来源:云帆数科 栏目:资讯中心
MaaEnd Go Service开发指南:Custom Action与Custom Recognition注册机制详解
MaaEnd Go Service开发指南Custom Action与Custom Recognition注册机制详解【免费下载链接】MaaEndMaaEnd 终末地小助手基于视觉 AI 的「明日方舟终末地」自动化工具项目地址: https://gitcode.com/gh_mirrors/maa/MaaEndMaaEnd 是基于视觉 AI 的《明日方舟终末地》自动化工具其 Go Service 通过Custom Action自定义动作与Custom Recognition自定义识别的注册机制把 Pipeline 难以实现的复杂算法扩展为 Pipeline 节点可直接调用的能力。本指南带你彻底搞懂这套注册机制从哪里注册、如何注册、改完还要同步哪些文件。为什么需要注册机制Pipeline 管流程Go 管难点MaaEnd 的主体流程由 Pipeline JSON 以低代码方式描述——截图、识别、点击、跳转全部声明式完成。但有些能力 JSON 写不出来比如网格扫描、图标识别等复杂图像算法需要维护状态的多步交互如 AutoStockpile 的库存决策需要读取/写入本地数据如 IMS 的物品数据库。这些就由 Go 编写的 go-service 承担。Go 进程通过 MaaFramework 的 Agent Server 协议运行入口见 main.go注册一个Custom Action或Custom Recognition后它就能在 Pipeline 里像原生节点一样被action/recognition字段引用——这就是注册机制的核心价值一次注册全流程可用。注册机制全景两级注册结构MaaEnd 采用「子包自注册 主入口统一接入」的两级结构改动时只需记住两处层级文件职责① 子包级每个功能子包内的 register.go调用maa.AgentServerRegisterCustomAction/maa.AgentServerRegisterCustomRecognition注册本包的组件② 主入口级agent/go-service/register.go 的registerAll()按「Pre-Check / General / Business」三类调用各子包的Register()并接入资源路径 Sink例如 falseaction 子包的注册只有几行一目了然func Register() { maa.AgentServerRegisterCustomAction(FalseAction, FalseAction{}) }对应地主入口 register.go 中会有一行falseaction.Register()。registerAll()里的分组注释Pre-Check Custom / General Custom / Business Custom直接告诉了你组件的定位前置检查类如分辨率、HDR 检测、通用能力类OCR、子任务调度、业务功能类自动配送、仓库囤货等。Custom Action 注册四步走 ️以新增一个名为MyAction的自定义动作为例第 1 步新建子包在 agent/go-service/ 下创建myaction/目录通用能力放common/下。第 2 步实现组件。定义一个结构体实现maa.CustomActionRunner接口Run方法返回执行是否成功type MyAction struct{} var _ maa.CustomActionRunner MyAction{} func (a *MyAction) Run(ctx *maa.Context, arg *maa.CustomActionArg) bool { // 通过 ctx 截图、点击、OCR…… return true }可参考最简实现 falseaction/action.go。第 3 步包内注册在子包的register.go中调用maa.AgentServerRegisterCustomAction(MyAction, MyAction{})。第 4 步主入口接入在 registerAll() 中按分类加一行myaction.Register()。Custom Recognition 注册四步走 ️流程完全对称区别是接口换成识别器。参考 autoecofarm/register.go 的双组件注册示例maa.AgentServerRegisterCustomRecognition( autoEcoFarmCalculateSwipeTarget, autoEcoFarmCalculateSwipeTarget{})四步走新建子包实现maa.CustomRecognitionRunner对截图做识别输出位置/数据包内register.go调用maa.AgentServerRegisterCustomRecognition主入口registerAll()接入子包Register()在 Pipeline 节点的recognition字段中使用注册名即可在 Pipeline JSON 中被调用。批量注册的实际案例可参考 aerosalvage/register.go——一个子包注册了 3 个识别器气球状态、网格、初始状态。注册名改了别忘了同步 Schema ⚠️注册机制还有一条隐藏规则注册名是对外契约。改名或删除组件时除了更新 Pipeline 中的用法还必须同步两处 JSON Schema 的enumCustom Action 名 → tools/schema/custom.action.schema.jsonCustom Recognition 名 → tools/schema/custom.recognition.schema.json同时遵循 AGENTS.md 中的两条「参数极简」约定custom_action_param/custom_recognition_param只保留用户明确需要的参数不要自行设计大接口无参数或允许任意值透传时无需创建空参数 Schema。注册时常见的 5 个坑一次列清只改了子包 register.go忘了registerAll()——组件根本不会被加载注册名拼写与 Pipeline 中不一致——节点静默跳过排查困难Schema enum 未同步——编辑期校验报错或误报把业务流程写进了 Go——违背「Pipeline 管流程Go 管难点」会被 Review 打回忘了提交前格式化——按规范执行pnpm format:goGo、pnpm formatJSON。动手前先看这三份资料 全局规范AGENTS.md编码指南与审查重点公共包用法docs/zh_cn/developers/go-service-pkg.mdAnd 解包、条件计算等pkg/工具节点测试写法docs/zh_cn/developers/node-testing.md——新增识别节点后在 tests/ 目录补充用例掌握「两级注册 Schema 同步」这套机制后你就能像 MaaEnd 维护者一样把任意复杂视觉算法安全地扩展进整个自动化流程中了。【免费下载链接】MaaEndMaaEnd 终末地小助手基于视觉 AI 的「明日方舟终末地」自动化工具项目地址: https://gitcode.com/gh_mirrors/maa/MaaEnd创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关推荐

清单来了:盘点2026年普遍认可的AI论文软件
清单来了:盘点2026年普遍认可的AI论文软件

一天写完毕业论文在2026年已不再是天方夜谭。2026年AI论文软件正在重新定义学术写作,覆盖选题构思、文献综述、内容生成、格式排版等核心场景,实测提速效果炸裂,助你高效搞定论文。 一、全流程王者:一站式搞定论文全链路&#xff… · 2026/9/26 1:39:48

Anthropic商业化逆袭深度解析:Q2收入115亿美元首超OpenAI,IPO在即——TaoToken视角下的Claude Code与MCP接入配置实战
Anthropic商业化逆袭深度解析:Q2收入115亿美元首超OpenAI,IPO在即——TaoToken视角下的Claude Code与MCP接入配置实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 1:39:29

IAR Embedded Workbench 合规使用与9.20.4安装调试全指南
IAR Embedded Workbench 合规使用与9.20.4安装调试全指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 1:39:29

模拟量+Profinet工业无线遥控器:定制方案与实操要点
模拟量+Profinet工业无线遥控器:定制方案与实操要点

1. 工业无线遥控器为什么需要模拟量加Profinet1.1 从两个真实场景说起先聊两个我亲身经历的场景。第一个场景发生在本地一家铸造厂的浇注工位。操作工需要站在距离控制柜十几米远的地方,手里拿着一个遥控器,一边盯着铁水包的液位,一边用摇杆控… · 2026/9/26 8:28:28

工业物联网网关:破解设备数据孤岛的协议转换与边缘计算枢纽
工业物联网网关:破解设备数据孤岛的协议转换与边缘计算枢纽

1. 工业物联网网关解决的是现场一公里的问题干工业现场的人都有这种体会:设备数据其实一直都在产生,PLC、传感器、电表、变频器、温控仪,每台设备都在实时吐数据,但数据间的“语言”各不相同,有走Modbus RTU的&#xf… · 2026/9/26 8:28:28

Twig script_names 函数详解:按语言环境获取书写系统名称列表
Twig script_names 函数详解:按语言环境获取书写系统名称列表

后端 【免费下载链接】Twig Twig, the flexible, fast, and secure template language for PHP 项目地址: https://gitcode.com/gh_mirrors/tw/Twig 点击查看 免费下载 script_names 是 Twig 3.5 起在 IntlExtension 中提供的国际化函数,用于一次性返回… · 2026/9/26 8:28:28

CrossPoint 固件测试与调试完全指南:本地检查、设备端日志与高效 Bug 上报
CrossPoint 固件测试与调试完全指南:本地检查、设备端日志与高效 Bug 上报

【免费下载链接】crosspoint-reader Open-source e-reader firmware 项目地址: https://gitcode.com/gh_mirrors/cr/crosspoint-reader 点击查看 免费下载 CrossPoint 是运行在真实硬件(Xteink X4 / X3、M5Stack Paper Mono 等 ESP32 系墨水屏阅读器&am… · 2026/9/26 8:28:28

Linux开发板打造国标ONVIF网络摄像头:RTSP与GB/T 28181实战
Linux开发板打造国标ONVIF网络摄像头:RTSP与GB/T 28181实战

1. 从抽屉里翻出那块吃灰的 Linux 小板说起如果你手上正好有一块闲置的 Linux 开发板——树莓派、香橙派、RK3566 工控板,甚至是一台跑着 Ubuntu 的旧笔记本——那这篇文章大概率能帮你把它从"电子垃圾"变成一台真正能接入国标视频平台的网络摄像头。我说… · 2026/9/26 8:28:22

sqli-labs Less-25通关指南:SQL注入中or与and过滤的双写绕过
sqli-labs Less-25通关指南:SQL注入中or与and过滤的双写绕过

sqli-labs 这套靶场,很多人从 Less-1 一路点过来,前面的关卡基本是“见招拆招”:单引号闭合、联合查询、报错函数,一套流程下来就觉得 SQL 注入不过如此。等刷到 Less-25,你会发现页面又干干净净地返回了报错&#xff… · 2026/9/26 8:28:22

数据库课后习题答案别硬背:当测试用例集刷,效率翻倍
数据库课后习题答案别硬背:当测试用例集刷,效率翻倍

简介:万常选版《数据库原理与设计》课后习题答案资源,覆盖第2至6章及第9章,适合正在学习关系模型、数据库建模、关系数据理论与模式求精的本科生、自学者作为复习与自测材料。压缩包共7个文件,含3个doc参考答案、2个sql示例脚本、… · 2026/9/26 0:00:21

OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置
OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 0:00:40

向下兼容与向上兼容:接口设计中的兼容性策略与工程实践
向下兼容与向上兼容:接口设计中的兼容性策略与工程实践

一次版本升级事故,是很多团队绕不过去的坎。线上环境里,服务端明明已经上线了新版接口,老的移动端还在照着旧文档传参数。请求一到网关,校验直接拒绝,用户操作失败,客服群炸了锅,开发群里开始互… · 2026/9/26 0:00:46

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码