windsland52/maatutorial

maafw-debug

调试与验收 MaaFramework(MaaFW)应用(开发态、设备在线)——节点识别失败、点击不落点(识别成功 ≠ 点击生效)、ROI 校准与阈值调参、单节点运行验证、流程卡死与 controller 连接排查、端到端验收与 pipelineoverride 生效验证;按配置/识别/动作/流程/验收五层分诊,产出定位结论与证据,修复交接回 maafw-pipeline / maafw-interface / maafw-custom。Use when debugging or acceptance-test…

Ver código fuente
Documento original del Skill

Contenido del repositorio de origen con títulos, ejemplos, código, tablas, enlaces e imágenes preservados.

MaaFW 调试与验收

标注 TODO 的节为实践待补的经验样本(增量内容,不影响可用性);分诊状态见 skills/README.md。

定位:开发态、设备在线的实时调试与验收(验收环节的冷启动 / 重连 / 断线恢复由开发者主动制造离线与重连窗口,属验收手段而非离开开发态)。字段精确语义(字段名、参数、默认值、版本支持)与调试命令一律路由 MaaLLMWiki 版本锁定的协议原文(2.4-控制方式说明、3.1-任务流水线协议、3.3-ProjectInterfaceV2);运行工具的命令与结果字段路由所选运行工具自身文档(Agent 自主默认 maafw-live,见 references/tooling.md)——协议原文不含工具命令。两类来源不可达时标记"未验证"。事后日志与证据诊断(用户日志、Sentry、历史记录)归 MaaEvidenceKit 的 maa-evidence,不是本 skill。

硬护栏

  1. 证据优先:每个诊断结论必须有实时观测证据——当前帧、识别命中/未命中与得分、日志、box 与落点比对;「可能是」必须转成可验证假设再测,不许凭猜下结论(与 maafw-pipeline 的探索优先同源)。
  2. 一次一个变量:阈值 / ROI / 模板 / 参数每次只改一个,改完立即复测并留记录;多处同时改后结果变化无法归因——调试态第一纪律。
  3. 走框架链路:诊断用截图与点击必须走框架截图链路(观测底座 / 框架截图 API / 运行工具),不用外部截图工具——分辨率与图像空间必须与识别输入一致(像素空间一致原则继承 maafw-pipeline 素材标准)。
  4. 只定位不修复:本 skill 产出「定位结论 + 证据」。边界:为验证假设可临时改并立即复测(硬护栏 2「一次一个变量」正是此用法),但交付物仍是结论 + 证据,修复落盘走交接(识别/流程 → maafw-pipeline,接线/选项 → maafw-interface,custom → maafw-custom;修改轨已含 ROI 微调这类小修)——不边定位边做结构性改动。
  5. 判定分级:区分调用成功(命令是否执行完)、任务成功(任务级结果 + 实际识别命中)、业务验收成功(功能行为符合预期)——三层互不顶替,调用层信号(外层 ok / 退出码)不能当任务或验收结论;具体判定字段与退出码语义随工具(maafw-live 见 tooling.md 判定要点)。一次跑通 ≠ 稳定——验收要重复、含冷启动与重连。
  6. 调试现场及时留存:调试过程中的关键帧及时升格进关键帧库(观测底座留存),现场过了就过了;脱机的事后分析转 maa-evidence。

工作流

0. 分诊(先分层再动手)

按症状定位到五层之一再进对应层流程;跨层症状按最外层先排查:

症状层
设备连不上 / 任务起不来 / 启动即失败 / 选项没生效配置层
某节点不命中 / 命中错识别层
识别命中但点击没落地 / 滑动没动 / 落点偏移动作层
卡死 / 死循环 / 走到不该走的节点 / 提前终止流程层
跑通了但功能行为不对 / 交付前检查验收层

排障树(症状 → 检查项 → 常见根因)见 references/diagnosis-tree.md;各层检查的取证手段与工具见 references/tooling.md——硬要求不随工具变,工具可替换。

进层之前先定执行工具(tooling.md「工作模式」):Agent 自主默认 maafw-live,动手前 version / env / probe 自检;未安装或不可用时按「工具替换判定」选定替代、并在定位结论里明说缺哪项能力——工具选择先于任何层内动作。

1. 配置层(设备与启动链路)

先静态后动态:有 dev-tools 的项目先 pnpm check 清结构错误,再谈运行时行为。「选项没生效」先查 option 适用性过滤(头号原因,经验值;机制见 maafw-interface),再查接线。设备连通、任务入口、子进程双日志等检查项、协议字段核对与常见根因见排障树配置层细节。

2. 识别层(单节点验证)

单节点验证 + 截图 + hits/box 期望——命令查所选工具文档(默认 maafw-live:reco 识别单测、--act 真机执行动作半;run 从 entry 起跑会继续走 next / on_error、不是单节点验证——隔离与副作用边界见 tooling.md 默认执行路径),节点字段语义查 3.1 协议。第一问永远是目标在不在帧里,再谈 ROI / 阈值 / 模板;一次一个变量(硬护栏 2)。判据、经验值与识别类型适配见排障树识别层细节。

3. 动作层(识别成功 ≠ 点击生效)

第一问永远是「点到哪了」:识别 box vs 实际落点逐像素比对,再谈 target / offset。target 语义、inverse 陷阱、两坑治法与重试门控见排障树动作层细节。

4. 流程层(卡死归因)

用执行模型归因(执行模型全文见 maafw-pipeline SKILL.md,这是归因的唯一地图)。最常见归因错误:想调某节点被识别的等待时长,改的是它上一节点的 timeout / on_error。死循环三查、提前终止与改名失联面清单见排障树流程层细节。

5. 验收层(端到端)

完备性四问(尤其「不在目标场景时的行为已显式定义」)+ 判定分级(硬护栏 5)+ 重复跑(含冷启动 / 重连 / 断线恢复);验收分两档——Pipeline 业务流程验收(运行工具可承担,结论须记录前置条件与 Agent 状态)与目标 Client 集成验收(实际经 Client 的 pretask、装配、Agent 启动与任务入口,工具跑通不能替代——边界见 tooling.md)。override 生效验证与测试沉淀见排障树验收层细节。

6. 交接

定位结论必须包含:症状 → 层 → 根因假设 → 证据(帧/日志/得分/比对)→ 建议修复方向 → 交接目标 skill。修复转 maafw-pipeline / maafw-interface / maafw-custom;离线证据分析转 maa-evidence。

深入阅读(按需)

  • references/diagnosis-tree.md — 排障树:症状 → 检查项 → 常见根因(配置层细节、静默失联面清单、阈值与 ROI 经验值)
  • references/tooling.md — 取证手段与工具矩阵:工作模式、maafw-live 默认执行路径与判定要点、替代工具能力对应、各层检查要点与工具替换判定

TODO(实践待补——经验样本类增量,唯一清单)

  • 排障树各分支的日志判读细则(日志片段 → 结论的判读样本)
  • 识别慢(性能)排查分支;ColorMatch / And / Or / 自训模型节点的调试要点
  • 各层最小复现标准流程与取证快照清单(含流程层「最小取证序列」模板)
  • 验收记录模板(验证对象、范围、实际结果、证据、实现指纹——对齐 state-plan 的 tested 语义,待其 schema 冻结)
排障树 / 工具文档中的内联 TODO 仅为位置标记,以本节为唯一清单与完成判据。
del mismo repositorio

Más Skills

Todos los Skills
windsland52
Comunidad

maafw-custom

编写、注册与调试 MaaFramework Custom 识别/动作——何时上 Custom 的判据、宿主与注册路径、binding 实现与注册、参数解析与校验、复用 pipeline 节点、Agent 子进程模式与工程规范。Use when implementing MaaFW custom recognition or action logic, deciding registration path for your host, registering customs, parsing customactionparam/customrecognitionparam, reusing pipeline nodes inside custom code, or setting up the agent child process mode.

instalaciones
4
GitHub Stars
2
Actualizado
8 oct
windsland52
Comunidad

maafw-interface

编写、修改与审查 MaaFramework interface.json(Project Interface V2)——任务入口声明、controller/resource 配置、GUI 选项接线(pipelineoverride 与覆盖顺序)、preset 预设、pretask 启动前任务、agent 子进程配置、import 拆分与结构排错。Use when creating, editing, or reviewing an interface.json for a MaaFW project, adding user-facing options or presets, wiring pipelineoverride, configuring pretask or agent child processes, splitting interface files via import, or diagnosing interface structure errors.

instalaciones
4
GitHub Stars
2
Actualizado
8 oct
windsland52
Comunidad

maafw-pipeline

编写、修改与审查 MaaFramework(MaaFW)Pipeline——从零新建任务与子流程(大任务逐级拆分为嵌套复用的子流程、需求翻译成状态、资源文件与节点命名、识别/动作节点编写与 ROI 圈定、next 链分支/循环/[JumpBack]/[Anchor] 中断与失败路径设计、可达性自查)与存量重构(摸底可复用节点、改名前全库搜引用、坐标卫生与反模式审查)。Use when authoring, editing, or reviewing any pipeline JSON in a MaaFW project — adding tasks, sub-flows, or nodes, breaking large tasks into nested reusable sub-flows, choosing TemplateMatch/OCR/ColorMatch or action types, sizing ROIs, designing next chains with branches, loops, interrupts, and timeout fallbacks,

instalaciones
4
GitHub Stars
2
Actualizado
8 oct