跳到主要内容

7.8 配置动作

动作区段(分析表单第 5 段)让实时分析在每次触发并满足指定条件时,自动执行预定义的动作。动作通过引用动作模板进行配置——模板定义"做什么",实时分析侧的动作规则定义"何时做"以及对本实时分析生效的局部参数调整。

系统提供四种动作类型,每种对应一个由系统预置的动作模板

动作类型用途
通知任务(NOTIFICATION)通过联系方式(邮件 / 飞书 / 企业微信等)发送告警通知
飞书任务(FEISHU)在飞书中创建任务并指派处理人
IDMP 任务(IDMP)向元素 / 事件追加一条注释
智能体任务(AGENT)调用一个 AI Function,结合元素上下文做智能诊断或处理

典型场景:一个配电变压器元素的实时分析每 5 分钟输出一次平均电压 avg_voltage。希望当 avg_voltage 超过 235 时,自动向飞书运维群发送一条告警通知。只需在分析第 5 段添加一条动作规则引用"通知任务"模板,并把触发条件设为 attributes['avg_voltage'] > 235 即可。

7.8.1 动作规则

动作区段由一条或多条动作规则组成。点击添加动作新增一条规则,每条规则包含以下部分:

部分说明
触发条件(可选)判断本次输出是否执行该动作的条件表达式。留空表示无条件触发——每次分析触发都执行该动作。
动作模板(必填)引用的动作模板。选定模板后,模板的描述以提示形式展示在选择框旁,并展开该模板的可编辑配置。

可为同一实时分析添加多条动作规则,各规则相互独立、依次评估。点击规则上的删除移除该规则。

7.8.2 触发条件

触发条件使用 attributes['属性名'] 语法引用实时分析的输出属性,结果须为布尔值。点击条件输入框打开条件编辑器,通过选择输出属性来构造表达式。

表达式示例含义
(留空)无条件触发:每次分析触发都执行该动作
attributes['avg_voltage'] > 235平均电压超过 235 时执行动作
attributes['max_current'] > 50 && attributes['avg_voltage'] > 220两个条件同时满足时执行

触发条件为可选

  • 留空 → 视为无条件,动作始终执行。
  • 填写表达式 → 采用保守(fail-closed)策略,只有当表达式明确求值为真时才执行;以下情况不执行
    • 表达式引用的属性取不到最新值;
    • 表达式存在语法错误或求值结果非布尔值。
备注

触发条件中的属性引用使用 attributes['属性名'] 语法,与通知标题 / 内容中的 {属性名} 占位符、智能体执行命令中的 ${属性名} 占位符语法均不同(见 13.4.3)。前者用于条件判断,后两者用于文本插值。

7.8.3 动作配置

引用一个动作模板后,规则会按模板的动作类型展开对应的可编辑字段。这些字段以模板的预设值为初值,在此处的修改仅作用于当前实时分析,不会回写模板

7.8.3.1 通知任务

字段说明
联系方式发送通知所使用的联系方式,可在此重新选择。模板未指定联系方式时,默认选中列表中的第一个。
最小通知间隔(分钟)同一实时分析对同一联系方式连续两次发送通知的最小间隔,可在此调整。
通知标题通知标题,可在此编辑。支持 {...} 占位符,留空时使用默认标题。
通知内容通知正文,可在此编辑。支持 {...} 占位符。

通知标题与内容的占位符语法及默认文本,详见动作模板 - 文本占位符

7.8.3.2 飞书任务

字段说明
飞书 App ID飞书开放平台自建应用的 App ID(在自建应用详情页获取)。
飞书 App Secret对应自建应用的 App Secret。查看态以掩码 ****** 展示。
任务处理人IDMP 用户列表中选择一个或多个处理人。执行时按用户邮箱解析为飞书 open_id 并加为任务成员;无法匹配邮箱的用户会被跳过。
标题飞书任务的标题。支持 {...} 占位符。
内容飞书任务的描述内容。支持 {...} 占位符。
动作描述(JSON)附加到飞书任务的自由 JSON 负载,留空时视为 {}
备注

飞书 App ID 与 App Secret 需在飞书开放平台的自建应用中获取。该应用须具备创建任务、读取用户(按邮箱解析 open_id)等相应权限。

7.8.3.3 IDMP 任务

IDMP 任务向所选的目标对象追加一条注释。支持的目标对象类型为元素事件

字段说明
对象类型目标对象类型,取元素事件
目标对象选定类型下的具体对象。元素目标默认指向当前分析所属元素;事件目标从该元素的事件列表中选择。
注释内容追加到目标对象的注释正文。支持 {...} 占位符。

7.8.3.4 智能体任务

字段说明
AI Function要调用的 AI Function(从系统已注册的 AI Function 列表中单选)。
执行命令传给 AI Function 的自由文本指令,提供额外上下文。支持 ${...} 占位符,运行时替换为元素名称等上下文(如 Diagnose the anomaly on ${elementName})。
备注

智能体任务执行时会调用所选 AI Function,系统会自动创建一个用于该任务的 API Key 完成鉴权。请勿在 API Key 列表中删除它,否则智能体任务将无法调用 AI 服务。

7.8.4 快照与配置覆盖

保存实时分析时,系统会按所引用的模板 ID 读取模板,并将模板的名称、动作类型、描述、类别作为快照保存到动作规则中;这些基础信息以模板当前值为准回填,不信任表单提交值。各字段的局部调整(如重选联系方式、修改飞书任务标题、改写智能体执行命令)作为配置覆盖随实时分析一同保存。

因此:

  • 重新打开实时分析时,动作规则直接回显已保存的快照与配置覆盖,不依赖模板的当前状态——即使模板随后被修改,已保存实时分析的运行参数保持不变。
  • 即使引用的模板之后被删除,实时分析仍能依据已保存的快照与配置覆盖回显并运行。

7.8.5 运行时执行

实时分析每次触发并产生输出后,系统按动作规则依次执行动作。对每条动作规则:

  1. 求值触发条件。 触发条件留空时视为无条件、直接继续;否则按 7.8.2 的规则评估,仅当结果为真时继续,否则跳过该规则。
  2. 按类型执行。
    • 通知任务:先以"实时分析 + 动作模板 + 联系方式"为键做节流判定,距上次发送不足最小通知间隔时跳过本次发送;否则对标题和内容做 {...} 占位符替换后,通过联系方式对应的通道发送通知。
    • 飞书任务:使用 App ID / App Secret 获取飞书访问凭证,按处理人邮箱解析 open_id,创建飞书任务并指派处理人。
    • IDMP 任务:向目标元素或事件追加一条注释(注释内容经 {...} 占位符替换后写入)。
    • 智能体任务:对执行命令做 ${...} 占位符替换,连同元素上下文(元素名称、属性值、所属分析等)以会话形式调用所选 AI Function 的执行接口。调用为异步触发,不阻塞分析主流程。

失败隔离。 每条动作独立执行,单条动作执行失败(如联系方式不存在、飞书凭证无效、AI Function 调用失败)只记录日志,不影响同一分析的其他动作,也不影响分析本身的计算与输出写入。

7.8.6 向后兼容

场景行为
旧实时分析没有动作配置不执行任何动作,行为与之前一致。
触发条件留空视为无条件,每次触发都执行该动作。
触发条件求值不为真跳过该动作(保守策略,见 7.8.2)。
引用的模板已被删除依据已保存的快照与配置覆盖回显并运行。
某条动作执行异常记录日志并跳过,不影响其余动作与分析主流程。