节点参考

结构动作与流程控制字段

说明 If、Repeat、While、TryCatch、Race、SubFlow、Label、Goto、Break、Continue 等结构节点。

当前:结构动作与流程控制字段
节点参考

结构动作与流程控制字段

说明 If、Repeat、While、TryCatch、Race、SubFlow、Label、Goto、Break、Continue 等结构节点。

条件分支与变量分支

结构节点用于组织流程,不直接执行触控或识别。AI 应使用结构节点表达分支,而不是把所有可能性堆成线性步骤。

  • If:条件分支。字段:conditions、condition、timeCondition、varCondition、thenBlock、elseBlock。新脚本优先使用 conditions。
  • VarSwitch:变量分支。字段:key、matchMode、cases、defaultBlock。matchMode 支持 TEXT_EQUALS、TEXT_CONTAINS、NUMBER_EQUALS。
  • VarSwitchCase:字段 matchValue、block。defaultBlock 用于无匹配时兜底。

循环结构

循环必须设置护栏,避免脚本无限执行。AI 输出循环时应同时说明退出条件。

  • Repeat:固定次数循环。times 是次数;timesVarKey 不为空时从变量读取次数;block 是循环体;intervalMillis 是每轮间隔。
  • WhileVar:变量条件循环。字段:key、op、value、block、intervalMillis、maxIterations、estimateIterations;op 支持 LT、LE、EQ、NE、GE、GT。
  • WhileVision:视觉条件循环。字段:condition、block、intervalMillis、timeoutMillis、maxIterations、estimateIterations。
  • Break:跳出当前循环。
  • Continue:跳过本轮剩余动作并进入下一轮。

兜底、竞速与复用

复杂脚本应通过 TryCatch 和子流程降低重复逻辑。Race 适合两个候选条件谁先满足就继续的场景。

  • Block:结构分组。字段:block、config;不改变语义,只提高可读性或批量配置。
  • TryCatch:失败兜底。tryBlock 中动作失败后进入 catchBlock。
  • Race:并行竞速。leftBlock 和 rightBlock 同时启动,先完成的一路生效,另一路取消。
  • SubFlowDef:子流程定义。字段:name、params、block;定义本身不按顺序执行。
  • CallSubFlow:调用子流程。字段:targetName、paramBindings。
  • ParamBinding:字段 name、value;SubFlowParam:字段 name、defaultValue、required、description。

跳转与事件监听

跳转适合少量兜底路径;大量跳转会降低可维护性。事件监听适合在动作生命周期中触发提示、变量写入或子流程。

  • Label:跳转标签。字段:name。
  • Goto:跳转到标签或节点。字段:target。运行时先在当前 block 查找,找不到再向外层冒泡;不支持跳进某个子块。
  • EventListener:字段包括 eventName、labelTarget、targetSubFlow、paramBindings、async、writeEventToVars、eventNameVar、actionTypeVar、reasonVar、targetType、actionTargetId、actionTargetPath、action、actionConfig、variableNode。
  • EventTargetType:LABEL、SUB_FLOW、ACTION、INLINE_ACTION、VARIABLE。