Skip to content

工作流 ​

工作流用于在设备状态、事件、命令响应或校验错误到达后自动执行处理动作。它把设备上报和后续处理连成一条自动链路:设备状态或事件变化后,系统可以立即记录、控制、通知或交给 Agent 判断。创建时不需要手工编排节点和步骤,只要说明触发条件、处理目标和是否需要 Agent 判断,Agent 会生成可查看、可启停、可复查的工作流。 触发数据与设备操作来自当前 IoT 平台接入或直连设备,按当前设备实际支持的能力配置流程。

选择合适的自动化方式 ​

需求用法
到指定时间或按周期执行定时任务
收到设备上报后执行工作流
条件明确、结果必须稳定,例如温度高于阈值就关闭加热或切换安全模式固定条件 + 固定动作
需要综合多条状态判断,例如车辆无人、车门已锁但空调仍开启让 Agent 分析后再执行处理动作
多个条件走不同处理路径分支与合并节点
需要判断,但结果只有几种,例如告警是紧急、需要维护还是误报决策节点

创建工作流 ​

使用内置 车载 / 智能座舱·续航管家 示例,事件名和字段来自该示例的 DeviceSpec。 完成后,当已连接浏览器模拟器的设备上报低电量事件时,工作流会记录事件数据,并由 Agent 生成一条简短处理建议。

  1. 创建设备智能体时,选择 示例 > 车载 > 智能座舱·续航管家。
  2. 创建或选中一条设备记录,点击状态面板中的 模拟连接,并等待设备显示为 在线。
  3. 在对话区输入:
text
创建名为 battery-low-alert 的工作流:当当前设备上报 battery_low_warning 事件且 payload.soc 小于 20 时,记录一条 device_event。detail 包含 soc 和 estimated_range_km。随后让 Agent 生成一条简短处理建议。
  1. 打开左侧 工作流,确认 battery-low-alert 已启用。

查看工作流图

  1. 回到已连接设备的状态面板,点击 模拟上报,选择 battery_low_warning,Payload 填:
json
{
  "soc": 15,
  "estimated_range_km": 42
}

Payload 是事件上报的数据,字段必须和 DeviceSpec 中的事件定义一致。

  1. 点击 上报事件。成功后可以在 最近上报事件、日志 和工作流通知中看到结果。

修改已有工作流时,说明工作流 ID 和需要调整的内容。保存后再查看定义,确认原有处理步骤和设备范围符合预期。

使用可视化编辑器 ​

在 工作流 页面选择工作流,点击 编辑,即可在当前流程图中调整:

  1. 用 添加节点 选择或拖入动作、分支、决策、合并、Agent 或结束节点。
  2. 连接节点端口,确定执行路径。
  3. 双击节点,或选中后按 Enter,打开右侧属性栏并填写配置。
  4. 选中连线后按 Delete 或 Backspace 删除;拖动节点只调整位置。
  5. 检查每条路径并保存,处理页面提示的配置问题。

条件在触发节点和分支节点的属性中设置。分支可以只执行第一个匹配路径,也可以执行所有匹配路径;配置默认路径处理没有匹配条件的情况。多个路径需要汇合时,使用合并节点。

工作流 ID 保持不变。复杂流程可以全屏查看,使用缩放和适配画布控件定位节点。

决策节点 ​

决策节点让 Jev 决策模型 根据触发事件做一次选择题,工作流只沿选中的分支继续执行。每个选项对应一个出口,可在执行记录中查看选择结果。使用前按Jev 配置启用决策模型并配置接口密钥。

  1. 在 工作流 页面点击 编辑,通过 添加节点 加入 决策 节点。
  2. 双击节点打开属性栏,填写 决策问题,例如:
text
payload.soc 是当前电量,payload.estimated_range_km 是剩余续航。应该如何处理?
  1. 点击 添加选项,为每个选项填写 选项 ID 和 何时选择此选项:
选项 ID何时选择此选项
urgent电量低于 10% 或续航不足 30 km,需要立即提醒
maintain电量偏低但仍可正常使用,建议安排充电
ignore电量正常,属于误报
  1. 把每个选项出口连接到对应的处理节点。节点还有一个固定的 insufficient_evidence 出口,事件数据不足以判断时会走这里,建议连接到通知或人工处理。
  2. 保存并启用工作流。

工作流决策问题与选项

决策问题可以引用 {{event.*}} 模板。每个决策节点需要 2 到 20 个选项,选项 ID 以英文字母开头,不能使用 insufficient_evidence。

决策失败时(未配置、超时或请求失败),该步骤会标记为失败,该节点的所有出口分支均不执行。在执行历史中展开决策步骤,可以查看选中的选项、置信度和各选项概率。条件可以明确写成规则时,优先使用条件分支。

配置触发条件 ​

触发来源包括设备事件、遥测、状态、命令响应和校验错误。按当前接入方式实际提供的数据选择来源,再限定设备、事件名和条件。

条件字段使用触发数据路径,例如 payload.soc。不同 IoT 平台的字段与上报格式可能不同,应以最近事件和当前模型为准。先确认一条实际上报的数据,再填写条件路径、比较方式和取值。

配置处理动作 ​

在动作节点中选择动作类型,再填写对应参数。设备操作受当前模型、设备范围和访问权限限制。

处理目标动作类型需要填写
留存告警和业务记录记录事件,当前接入支持时可用事件类型和记录内容
调用设备命令或服务执行命令当前模型中的命令 ID、输入参数,按需设置超时
设置设备目标状态更新设备状态当前模型允许写入的期望状态
查询设备状态或历史检查设备按需填写当前接入支持的查询参数
创建或更新 IoT 平台设备任务管理设备任务目标设备智能体、任务操作和任务参数
通知业务系统发送 Webhook 或发布 MQTT已配置连接,或 MQTT 主题与消息内容
通知协作群或频道发送 IM 消息已启用通道、发送目标和消息内容
根据数据生成建议或判断Agent 节点完整指令和允许能力

设备命令动作与参数配置

更新状态与检查设备 ​

更新设备状态 适合温度、模式、开关等可写属性。使用当前模型的字段名填写 期望状态,只提交需要修改的属性。支持命令控制的设备,也可以改用 执行命令。

检查设备 用于读取当前接入提供的状态、事件或操作历史;需要限制查询范围时,填写 查询参数。查询不会修改设备。默认使用触发事件所属设备,配置前应确认流程的设备范围。

状态更新成功表示请求已被接收。需要确认设备是否执行到位时,继续检查实际上报状态或操作结果。

管理设备任务 ​

这里的设备任务是 IoT 平台提供的任务能力,例如批量操作或设备维护任务,与 Device Agent 的定时任务不同。只有当前接入提供相应能力时才可使用。

  1. 将动作类型设为 管理设备任务。
  2. 选择 目标设备智能体,或沿用触发事件所属设备智能体。
  3. 选择当前可用的 任务操作,例如创建任务或更新任务。
  4. 根据显示的必填项、可选项和参数类型填写 任务参数。可以先填入参考示例,再替换为实际目标和业务参数。
  5. 保存后,用符合触发条件的上报验证结果,并到对应 IoT 平台检查任务状态。

任务操作表示要执行哪种能力,不是某个已创建任务的编号。更新已有任务时,任务编号等信息按该操作要求填入参数。任务参数支持的字段以当前平台模型为准。

发送通知 ​

Webhook 先按 Webhook 配置连接。IM 先按 IM 接入 启用通道并确认目标格式,再在动作中选择通道、填写发送目标和消息内容。发送目标是会话或频道,不是接收消息的用户白名单。

消息可以引用触发数据,例如 {{deviceId}}、{{eventName}} 和 {{payload.soc}}。用于告警时,写清设备、异常值和建议处理方式,便于接收者判断。

限定 Agent 能力 ​

Agent 节点需要填写完整指令,并明确允许的动作。需要外部查询或业务知识时,从当前可用列表中搜索并选择工具和技能。

未选择的工具或技能不会自动成为该节点的可用能力。设备控制使用节点允许的动作和设备范围;启用工具不等于授予其他设备的操作权限。文件写入、命令执行和创建其他自动化等管理操作也受工作流限制。

Agent 节点允许的动作、工具与技能

验证执行结果 ​

先使用已有测试设备或 浏览器模拟器 上报匹配数据。battery-low-alert 示例的事件和 Payload 见创建工作流。

Payload 需要符合当前事件模型。确认工作流启用后,检查最近事件和工作流执行记录中的触发信息、运行状态与结果摘要。涉及通知时,到目标会话确认消息送达;涉及控制时,检查设备实际上报状态。需要定位具体动作错误时,结合 日志 或运行查询 API 查看。

工作流执行记录与步骤结果

在页面中可以启用、停用或删除工作流。停用用于阻止后续触发,修改后建议重新验证。API 的定义与运行查询见 API 参考。

故障排查 ​

现象检查项
上报后没有触发工作流启用状态、设备范围、事件名、条件路径和取值
控制动作失败设备在线状态、模型参数、平台支持的操作和访问权限
找不到设备任务操作目标设备智能体是否接入支持任务的平台,以及模型是否已同步
Agent 缺少工具或技能节点允许范围、工具启用状态和当前可用列表
消息没有送达连接或通道配置、发送目标、运行错误和外部服务结果