工作流
工作流用于在设备状态、事件、命令响应或校验错误到达后自动执行处理动作。它把设备上报和后续处理连成一条自动链路:设备状态或事件变化后,系统可以立即记录、控制、通知或交给 Agent 判断。创建时不需要手工编排节点和步骤,只要说明触发条件、处理目标和是否需要 Agent 判断,Agent 会生成可查看、可启停、可复查的工作流。 触发数据与设备操作来自当前 IoT 平台接入或直连设备,按当前设备实际支持的能力配置流程。
选择合适的自动化方式
| 需求 | 用法 |
|---|---|
| 到指定时间或按周期执行 | 定时任务 |
| 收到设备上报后执行 | 工作流 |
| 条件明确、结果必须稳定,例如温度高于阈值就关闭加热或切换安全模式 | 固定条件 + 固定动作 |
| 需要综合多条状态判断,例如车辆无人、车门已锁但空调仍开启 | 让 Agent 分析后再执行处理动作 |
| 多个条件走不同处理路径 | 分支与合并节点 |
| 需要判断,但结果只有几种,例如告警是紧急、需要维护还是误报 | 决策节点 |
创建工作流
使用内置 车载 / 智能座舱·续航管家 示例,事件名和字段来自该示例的 DeviceSpec。 完成后,当已连接浏览器模拟器的设备上报低电量事件时,工作流会记录事件数据,并由 Agent 生成一条简短处理建议。
- 创建设备智能体时,选择 示例 > 车载 > 智能座舱·续航管家。
- 创建或选中一条设备记录,点击状态面板中的 模拟连接,并等待设备显示为 在线。
- 在对话区输入:
创建名为 battery-low-alert 的工作流:当当前设备上报 battery_low_warning 事件且 payload.soc 小于 20 时,记录一条 device_event。detail 包含 soc 和 estimated_range_km。随后让 Agent 生成一条简短处理建议。- 打开左侧 工作流,确认
battery-low-alert已启用。

- 回到已连接设备的状态面板,点击 模拟上报,选择
battery_low_warning,Payload 填:
{
"soc": 15,
"estimated_range_km": 42
}Payload 是事件上报的数据,字段必须和 DeviceSpec 中的事件定义一致。
- 点击 上报事件。成功后可以在 最近上报事件、日志 和工作流通知中看到结果。
修改已有工作流时,说明工作流 ID 和需要调整的内容。保存后再查看定义,确认原有处理步骤和设备范围符合预期。
使用可视化编辑器
在 工作流 页面选择工作流,点击 编辑,即可在当前流程图中调整:
- 用 添加节点 选择或拖入动作、分支、决策、合并、Agent 或结束节点。
- 连接节点端口,确定执行路径。
- 双击节点,或选中后按 Enter,打开右侧属性栏并填写配置。
- 选中连线后按 Delete 或 Backspace 删除;拖动节点只调整位置。
- 检查每条路径并保存,处理页面提示的配置问题。
条件在触发节点和分支节点的属性中设置。分支可以只执行第一个匹配路径,也可以执行所有匹配路径;配置默认路径处理没有匹配条件的情况。多个路径需要汇合时,使用合并节点。
工作流 ID 保持不变。复杂流程可以全屏查看,使用缩放和适配画布控件定位节点。
决策节点
决策节点让 Jev 决策模型 根据触发事件做一次选择题,工作流只沿选中的分支继续执行。每个选项对应一个出口,可在执行记录中查看选择结果。使用前按Jev 配置启用决策模型并配置接口密钥。
- 在 工作流 页面点击 编辑,通过 添加节点 加入 决策 节点。
- 双击节点打开属性栏,填写 决策问题,例如:
payload.soc 是当前电量,payload.estimated_range_km 是剩余续航。应该如何处理?- 点击 添加选项,为每个选项填写 选项 ID 和 何时选择此选项:
| 选项 ID | 何时选择此选项 |
|---|---|
urgent | 电量低于 10% 或续航不足 30 km,需要立即提醒 |
maintain | 电量偏低但仍可正常使用,建议安排充电 |
ignore | 电量正常,属于误报 |
- 把每个选项出口连接到对应的处理节点。节点还有一个固定的
insufficient_evidence出口,事件数据不足以判断时会走这里,建议连接到通知或人工处理。 - 保存并启用工作流。

决策问题可以引用 {{event.*}} 模板。每个决策节点需要 2 到 20 个选项,选项 ID 以英文字母开头,不能使用 insufficient_evidence。
决策失败时(未配置、超时或请求失败),该步骤会标记为失败,该节点的所有出口分支均不执行。在执行历史中展开决策步骤,可以查看选中的选项、置信度和各选项概率。条件可以明确写成规则时,优先使用条件分支。
配置触发条件
触发来源包括设备事件、遥测、状态、命令响应和校验错误。按当前接入方式实际提供的数据选择来源,再限定设备、事件名和条件。
条件字段使用触发数据路径,例如 payload.soc。不同 IoT 平台的字段与上报格式可能不同,应以最近事件和当前模型为准。先确认一条实际上报的数据,再填写条件路径、比较方式和取值。
配置处理动作
在动作节点中选择动作类型,再填写对应参数。设备操作受当前模型、设备范围和访问权限限制。
| 处理目标 | 动作类型 | 需要填写 |
|---|---|---|
| 留存告警和业务记录 | 记录事件,当前接入支持时可用 | 事件类型和记录内容 |
| 调用设备命令或服务 | 执行命令 | 当前模型中的命令 ID、输入参数,按需设置超时 |
| 设置设备目标状态 | 更新设备状态 | 当前模型允许写入的期望状态 |
| 查询设备状态或历史 | 检查设备 | 按需填写当前接入支持的查询参数 |
| 创建或更新 IoT 平台设备任务 | 管理设备任务 | 目标设备智能体、任务操作和任务参数 |
| 通知业务系统 | 发送 Webhook 或发布 MQTT | 已配置连接,或 MQTT 主题与消息内容 |
| 通知协作群或频道 | 发送 IM 消息 | 已启用通道、发送目标和消息内容 |
| 根据数据生成建议或判断 | Agent 节点 | 完整指令和允许能力 |

更新状态与检查设备
更新设备状态 适合温度、模式、开关等可写属性。使用当前模型的字段名填写 期望状态,只提交需要修改的属性。支持命令控制的设备,也可以改用 执行命令。
检查设备 用于读取当前接入提供的状态、事件或操作历史;需要限制查询范围时,填写 查询参数。查询不会修改设备。默认使用触发事件所属设备,配置前应确认流程的设备范围。
状态更新成功表示请求已被接收。需要确认设备是否执行到位时,继续检查实际上报状态或操作结果。
管理设备任务
这里的设备任务是 IoT 平台提供的任务能力,例如批量操作或设备维护任务,与 Device Agent 的定时任务不同。只有当前接入提供相应能力时才可使用。
- 将动作类型设为 管理设备任务。
- 选择 目标设备智能体,或沿用触发事件所属设备智能体。
- 选择当前可用的 任务操作,例如创建任务或更新任务。
- 根据显示的必填项、可选项和参数类型填写 任务参数。可以先填入参考示例,再替换为实际目标和业务参数。
- 保存后,用符合触发条件的上报验证结果,并到对应 IoT 平台检查任务状态。
任务操作表示要执行哪种能力,不是某个已创建任务的编号。更新已有任务时,任务编号等信息按该操作要求填入参数。任务参数支持的字段以当前平台模型为准。
发送通知
Webhook 先按 Webhook 配置连接。IM 先按 IM 接入 启用通道并确认目标格式,再在动作中选择通道、填写发送目标和消息内容。发送目标是会话或频道,不是接收消息的用户白名单。
消息可以引用触发数据,例如 {{deviceId}}、{{eventName}} 和 {{payload.soc}}。用于告警时,写清设备、异常值和建议处理方式,便于接收者判断。
限定 Agent 能力
Agent 节点需要填写完整指令,并明确允许的动作。需要外部查询或业务知识时,从当前可用列表中搜索并选择工具和技能。
未选择的工具或技能不会自动成为该节点的可用能力。设备控制使用节点允许的动作和设备范围;启用工具不等于授予其他设备的操作权限。文件写入、命令执行和创建其他自动化等管理操作也受工作流限制。

验证执行结果
先使用已有测试设备或 浏览器模拟器 上报匹配数据。battery-low-alert 示例的事件和 Payload 见创建工作流。
Payload 需要符合当前事件模型。确认工作流启用后,检查最近事件和工作流执行记录中的触发信息、运行状态与结果摘要。涉及通知时,到目标会话确认消息送达;涉及控制时,检查设备实际上报状态。需要定位具体动作错误时,结合 日志 或运行查询 API 查看。

在页面中可以启用、停用或删除工作流。停用用于阻止后续触发,修改后建议重新验证。API 的定义与运行查询见 API 参考。
故障排查
| 现象 | 检查项 |
|---|---|
| 上报后没有触发 | 工作流启用状态、设备范围、事件名、条件路径和取值 |
| 控制动作失败 | 设备在线状态、模型参数、平台支持的操作和访问权限 |
| 找不到设备任务操作 | 目标设备智能体是否接入支持任务的平台,以及模型是否已同步 |
| Agent 缺少工具或技能 | 节点允许范围、工具启用状态和当前可用列表 |
| 消息没有送达 | 连接或通道配置、发送目标、运行错误和外部服务结果 |