跳转至

多状态 UI 识别

类型 ID:vision.multi_state_ui。添加路径:工具 → 多状态 UI 识别。本页对应 2026-09-09 开发候选;请确认当前客户端已包含相应节点能力与组件。

每次检查只取一帧,全部启用状态的条件共享这帧。节点只识别,不点击、不执行攻略,也不会因状态表中有多行而隐式执行动作。

输入来源与等待

执行输入为 0;数据输入始终只有同一个 source 端口,索引为 1。切换抓取模式会改变该端口类型,不会额外增加第二个目标口。

设置 行为
抓取模式 target(默认,界面称“进程”) 输入 android:window:screen: 目标信息字符串;连线优先,否则使用配置中的 target。目标语法与截图相同。
抓取模式 image 输入图像值;不截图,也不把编辑底板作为运行输入。支持图像节点的实际 RGB 图像值及视觉媒体中的静态图片,不支持视频。
等待模式 once(默认) 识别一次即沿执行输出继续,无论总布尔是真还是假;需要分流时连接“总布尔值”到分支节点。
等待模式 poll pollIntervalSeconds 间隔重复检查,直到总布尔值为真才继续;默认间隔 1 秒,范围 0–3600,0 表示协作式最快检查。

允许 image + poll。图像输入在进入节点时取值,不会在轮询中自动更新;条件始终不满足时会持续等待,用户仍可暂停或停止。标题栏显示小警告,但不会因这个组合拒绝运行、切回一次性或强制超时。如果要反复截图,使用 target + poll,或在普通循环中重新运行截图节点。

maxEvaluationMs 是单帧本机评估预算,默认 5000 毫秒,范围 100–60000;不是整段轮询的总时限,也不是设备摄像头精确帧龄。需要整段总时限时可结合受保护执行域

条件表和总布尔值

双击节点后,当前画布切换为分区编辑工作区,不以弹窗承载整个编辑器。左侧是主要底板预览区,左下集中设置条件表达式、总布尔及抓取/等待模式,右侧编辑状态、条件和资源;顶栏提供返回与保存。

可导入截图或截取填写的目标画面;每条条件的 ROI 使用独立、可保存的颜色,支持选中、移动及拖动八个手柄调整范围,也可填写 0–1 归一化 X、Y、宽、高。底板不作为运行时的输入帧;输入来自上游连线时,编辑器不会为预览擅自执行上游节点。

新条件默认是图像模板,模板来源默认为“底板当前 ROI”:预览随 ROI 更新,运行时从已保存底板的对应 ROI 裁出模板,不为每次拖框另外导入一份裁切资产。也可以切换为独立图像,使用受支持的已有资源选择、导入或文件拖入入口。无底板或缺少模板资源时应补齐,不把未配置条件当作成功。

最多 32 个状态,每个状态最多 16 个条件。每个状态有稳定 ID、名称、启用开关与优先级;每条条件可为文字、图像模板或 ONNX 目标检测,具有独立 ROI 和阈值。

  • 文字条件使用实际 OCR rec_score,文字包含/完全相同且分数达到阈值才满足。
  • 模板条件使用实际匹配分数。
  • ONNX 条件只用于目标检测,可填写目标类别并检查实际检测分数;不是任意 ONNX 分类、分割或通用模型执行器。通过模型目录选择或受支持的导入入口取得受管引用,不用任意绝对路径代替模型资源。组件、模型文件、使用权益及资源授权仍按正常流程检查。
  • 各类分数都不是经过校准的概率,不能跨模型直接比较高低。
  • 所有条件默认 AND 汇总为状态结果;所有启用状态默认 AND 汇总为总布尔值。状态内和总布尔层均可编辑嵌套表达式。
  • all(AND)为全部满足;any(OR)为至少一个满足;none 为一个都不满足;partial 为至少一个满足但并非全部;not 对唯一子表达式取反。
  • 后端失败、无效数据或缺失必要分数不能被 NOT 转成成功。合法的“无文字/无模板命中”与后端错误不同。

状态选择独立于总布尔值:多状态命中报告冲突;只有唯一最高优先级状态才会被选中,同优先级并列不选中。none 成立可以令总布尔为真,但不会凭空制造选中状态或位置。

输出

索引
0 执行:一次性评估完成,或轮询总布尔为真时继续
1 总布尔值
2 结果有效
3 选中状态 ID,无选中时为空字符串
4 命中状态 ID 数组
5 未知状态
6 多状态冲突
7 位置有效
8 源帧百分比坐标 Vector2,范围 0–1
9 源帧像素坐标 Vector2
10 被选位置条件的实际分数
11 识别详情 JSON,含状态、条件和分数种类等诊断

位置必须来自使表达式成立的正向命中条件。自动选择仅接受唯一有效位置;多个候选时可明确选择 positionConditionId。纯 NOT/none 不产生位置;无效位置和缺失分数保持空值,不补成 (0,0)0。发送点击前应检查“位置有效”,并确保点击目标与识别源及几何范围一致。

搜索入口

搜索显示完整来源,例如“工具 → 多状态 UI 识别 · 抓取模式 → 图像”。抓取/等待是两个独立字段,各两项,共四个候选;不枚举四种两两组合。选择抓取图像项时等待仍默认一次性,选择等待轮询项时抓取仍默认进程。添加后的节点标题显示当前模式,重命名不会抹掉模式说明。

配置存放在 valueOverrides.multiStateUiRecognitionConfig;准确默认配置见机器可读节点目录。图像资源经正常蓝图保存边界提升为根 Image 引用,不手写失效临时路径。