自动化规则
规则引擎让 NeoMind 在无人值守时自动响应:设备数据越过阈值 → 自动通知、下发指令、触发 AI Agent。规则以 JSON 格式定义,通过 Web UI、CLI、REST API 或 AI Chat 创建。
NeoMind 的自动化页面包含两个页签:Rules(规则) 和 Transforms(数据转换)。本文档介绍 Rules,数据转换见 数据转换。
前置条件
界面概览
点击左侧导航的 Automation(分支图标)进入自动化页面,默认显示 Rules 页签:
页面以表格形式展示所有规则,每行包含:
| 列 | 说明 |
|---|---|
| 规则名称 | 你设置的名称 |
| 触发器 | Data Change / Schedule / Manual |
| 条件摘要 | 规则条件的文本预览(如 temperature > 30) |
| 动作 | 该规则包含的动作列表(Notify / Execute / Trigger Agent) |
| 状态开关 | 启用 / 禁用切换 |
| 操作菜单 | 编辑、删除、立即执行 |
右上角的 Import / Export 按钮可批量导入导出规则 JSON。
规则结构
一条规则由四部分组成——名称、触发器、条件、动作(可选持续时间与冷却):
{
"name": "高温告警",
"trigger": { "trigger_type": "data_change" },
"condition": {
"condition_type": "comparison",
"source": "device:sensor-01:temperature",
"operator": "greater_than",
"threshold": 30
},
"actions": [
{ "type": "notify", "message": "温度过高:{value}°C", "severity": "critical" }
]
}
完整 JSON 字段参考
{
"name": "持 续高温",
"trigger": { "trigger_type": "data_change" },
"condition": {
"condition_type": "comparison",
"source": "device:sensor-01:temperature",
"operator": "greater_than",
"threshold": 30
},
"actions": [
{ "type": "notify", "message": "温度持续高于 30°C 已 5 分钟", "severity": "critical" }
],
"for_duration": 300000,
"cooldown": 60000
}
创建方式
方式一:Web UI
步骤 1:打开规则构建器
在 Rules 页签点击 Create 按钮,打开全屏规则构建器:
构建器为分栏布局,右上角可在 表单(可视化)/ JSON(代码) 之间切换——表单侧配置的每一项都实时同步到 JSON 预览。表单按 基础信息 → 触发条件 → 执行动作 → 预览确认 四步组织;条件以卡片形式添加:简单条件(单指标阈值)、范围条件(介于 min / max)、AND / OR / NOT 组合(嵌套子条件)。
构建器顶部填写:
| 字段 | 说明 |
|---|---|
| Name(名称) | 规则的显示名称 |
| Description(描述) | 可选,说明规则用途 |
| Trigger(触发器) | 选择触发方式(见下文) |
步骤 2:配置触发器
| 触发类型 | 说明 | 适用场景 |
|---|---|---|
| Data Change | 条件引用的指标有新数据时自动评估 | 实时告警、阈值监控 |
| Schedule | 按 cron 表达式定时触发 | 定时播报、周期性检查 |
| Manual | 仅手动触发(API / CLI / UI 按钮) | 调试、按需执行 |
Cron 表达式为 5 段:
分 时 日 月 周。"*/5 * * * *"= 每 5 分钟。(API 层也接受含秒的 6 段写法,会自动规整为 5 段语义;规则构建器 UI 按 5 段校验。)
data_change 触发器会自动从 condition 中提取引用的数据源,无需手动指定 sources。
步骤 3:配置条件
