本地对象识别
Agent DVR 支持使用 AI 模型文件(.onnx)进行实时实时对象识别。这种本地 AI 对象检测完全在您自己的硬件上运行(无需云服务),因此您只会在出现重要对象时收到警报,例如人或汽车,而不是每次树木移动时都收到警报。您需要许可证(或活跃订阅)才能使用此功能。有关配置 Agent 以使用外部 AI 服务器的信息,请参阅AI 服务器列表。
要开始,请编辑您的摄像机并转到对象识别选项卡。在顶部选择您的 AI 服务器。默认值为内部,这是 Agent DVR 的内置 AI。如果您想使用 AI 服务器,请在服务器设置 - AI 设置 - AI 服务器列表中添加它,然后在此处选择它。
以下详细信息用于配置 Agent DVR 及其快速内置 AI。您也可以添加任何其他模型,例如Ultralytics YOLO 模型。
- 模型:选择您要使用的 AI 模型。Agent 将根据需要自动下载内置模型。小模型适合低端硬件或多个摄像机。中模型具有更好的精度但需要更多处理能力。
- 模式:选择 AI 处理视频帧的时机。如果选择间隔,Agent 将使用下方的处理速率字段连续分析您的视频源。
- 配置叠加层:设置在实时视频上绘制实时结果:启用叠加层、显示标签和置信度、设置线宽和颜色,或模糊识别的对象(例如人)。叠加层很适合调整置信度限制。
- 使用 GPU:选中此项可使用 GPU 而不是 CPU。
- 设备:选择运行模型的设备。
- 处理速率:仅当模式为间隔时使用 - 它控制帧发送到模型的速率。输入 1 表示每秒 1 帧,输入 20 表示每秒 20 帧,输入 0.1 表示每 10 秒 1 帧。
- 置信度:这会过滤模型的结果。调整得更高以减少误报,但请注意这也可能会漏掉对象。
- 检查角落:有关更多详细信息,请参阅检查角落。
- 查找:指定 AI 要检测的对象。此处的选项列表来自模型配置。
- 静态对象:选择如何过滤不移动的对象。忽略静态对象忽略重复检测到在同一位置的对象(如停放的汽车);它们在首次出现时仍会发出警报。仅移动仅报告移动探测器当前看到有移动的对象,因此静止对象永远不会发出警报(对摄像机端探测器(如 ONVIF、Reolink、Hikvision 或 MQTT)无效)。
- 运动容忍度:检查静态对象时,检测之间允许的位移。低值很少匹配;高值会抑制更多。建议:40-60。
- 从反馈中学习:让 Agent 从您那里学习。启用此功能后,您可以在警报查看器中确认或拒绝检测,Agent 将学会在此摄像机上抑制类似的误报。请参阅从反馈中学习。
自定义模型
要将您自己的模型添加到 AI,请将模型文件(.onnx)复制到 Agent 的"模型"文件夹中,并查看添加模型。
操作
对象识别生成AI:发现对象和AI:未发现对象事件,用于操作。
照片
有关照片的信息,请参阅照片。
从反馈中学习
Agent DVR 可以从您的反馈中学习,以减少误报,并逐个摄像头进行优化。当检测出错时 - 夜间灌木看起来像人,或人工智能不断将旗子识别为鸟 - 您可以告诉 Agent,它将学习在该摄像头上抑制类似的检测。一切都在 100% 本地 运行:没有图像或数据离开您的机器,检测模型本身永远不会被修改,因此使用总是安全的,并且易于重置。
启用
编辑您的摄像头,转到 对象识别 标签页,打开 从反馈中学习。第一次需要时,Agent 将自动下载一个小型嵌入模型。
提供反馈
启用反馈后,对象识别生成的警报会将检测结果与警报图像一起存储。在 警报 面板中打开一个警报,您将看到在每个检测上绘制的框,以及 "我们判断正确吗?" 提示词:
- 正确:确认检测。已确认的示例可保护类似的检测不被抑制。
- 不正确:拒绝检测。Agent 将为该摄像头和对象类型学习被拒绝检测的外观。在拒绝了多个外观相似的检测(至少 3 个)后,Agent 开始自动抑制匹配的误报。
您可以随时通过再次点击该按钮来改变或删除判断。
"我们判断正确吗?" 面板可折叠 - 点击其标题可隐藏或显示提示词和检测叠加层。Agent 会记住您的选择(按浏览器),因此一旦您对摄像头的性能满意,您可以折叠面板,只看清晰的警报图像。折叠面板不会停止学习 - 抑制会继续工作。要完全停止学习,请改为在摄像头上关闭 从反馈中学习(请注意这也会停止抑制)。
抑制的警报
抑制的设置刻意保守 - 只有当检测清楚匹配您的拒绝示例且不匹配任何确认示例时,才会被抑制。当 Agent 抑制本应触发的警报时,它会改为存储一个 抑制的警报,因此没有任何内容会无声地消失。在警报面板标题中点击 图标可显示或隐藏它们(该图标仅在存在抑制的警报时出现;它们被单独保存,不计入您的正常警报)。
如果 Agent 不应该抑制某个检测,请打开该抑制的警报,将检测标记为 正确 - 这将立即取消对类似检测的抑制。
工作原理
Agent 使用通用视觉模型为每个检测创建一个紧凑的数学"指纹"。您的判断按摄像头和对象类型将这些指纹归档为已确认或已拒绝的示例。未来的检测会与您的示例通过相似性进行比较 - 这是 人脸识别 使用的相同方法。您选择的检测模型及其类别保持不变。
重置
要删除摄像头学到的所有内容,请在摄像头的 对象识别 标签页上点击 清除学习数据 并确认 - 抑制的警报将重新开始报警。已学习的反馈存储在 Agent 的 XML 文件夹中的 FeedbackDB.json 中;clearfeedback API 命令也可用(可选择带有 cameraid 和 label 参数)。已学习的反馈(和已学习的人脸)包含在服务器配置导出/导入中,因此您的训练可以随设置转移到新计算机。
在摄像头之间复制学习内容
您可以使用 复制设置 将摄像头的已学习反馈复制到其他摄像头 - 在部分列表中勾选 学习模式(位于 对象识别 下)。这会用源摄像头的副本替换目标摄像头的学习。这对覆盖相同或类似场景的摄像头最有用 - 已学习的示例是基于外观的,因此关于一个摄像头上灌木的反馈仅对可以看到类似灌木的另一个摄像头有帮助。
将 Ultralytics YOLO 模型转换为 ONNX
Agent DVR 支持用于对象识别的 ONNX 模型文件。您可以下载预训练模型,并通过几个步骤将其转换为 ONNX 格式。
下面的示例通过 Ultralytics 使用 YOLO26s 模型。YOLO26s 是一个较小的通用模型,具有良好的速度/精度平衡。
前提条件
- Python 3.10 或更新版本
- PATH 中可用的 pip
- 互联网连接
- 约 1-2 GB 可用磁盘空间
步骤 1 - 安装 Ultralytics
pip install ultralytics
步骤 2 - 下载 YOLO26s 模型
Ultralytics 在首次使用时会自动下载预训练权重:
yolo detect predict model=yolo26s.pt source=https://ultralytics.com/images/bus.jpg
步骤 3 - 转换为 ONNX
下载后,将模型导出为 ONNX 格式:
yolo export model=yolo26s.pt format=onnx opset=12 simplify=True
Python 替代方案
from ultralytics import YOLO
model = YOLO("yolo26s.pt")
model.export(format="onnx", opset=12, simplify=True)
步骤 4 - 定位 ONNX 文件
导出的 yolo26s.onnx 文件将在您的工作目录或
runs/export 文件夹中创建。
步骤 5 - 复制到 Agent DVR
将 ONNX 文件移动到您的 Agent DVR ONNX 模型文件夹(在 Agent 服务器上),例如:
Agent\Media\Models\ONNX\
步骤 6 - 在 Agent DVR 中添加模型
- 转到服务器设置 > AI 设置 > AI 模型。
- 点击对象识别并添加新模型。
-
输入名称,例如
yolo26s,然后在下拉列表中选择.onnx文件。 - 将其余选项保留为默认值,然后点击确定。
- 编辑您的摄像头,打开对象识别选项卡,将服务器设置为内部,然后选择您的新模型。
本地人脸识别
Agent DVR 支持使用 AI 进行实时人脸识别,在您自己的硬件上本地运行。使用它可以知道谁在门口,并为识别和未识别的人脸触发不同的操作。您需要一个许可证(或活跃的订阅)来使用此功能。参阅AI 服务器列表了解如何配置 Agent 以使用外部 AI 服务器。
首先,编辑您的摄像头并转到"人脸识别"选项卡。在顶部选择您的 AI 服务器。默认值是"内部",这是 Agent DVR 的内置 AI。如果您想使用 AI 服务器,请在服务器设置 - AI 设置 - AI 服务器列表中添加它,然后在此处选择它。
以下详细信息用于使用 Agent DVR 的快速内置 AI 进行配置。
- 模式:选择 AI 处理视频帧的时机。如果选择间隔,Agent 将使用下方的处理速率字段连续分析您的视频源。
- 配置叠加层:设置在实时视频上绘制实时结果:启用叠加层、显示标签和置信度、设置线宽和颜色或模糊人脸。叠加层非常适合调优置信度限制。
- 使用 GPU:选中此项可使用 GPU 而不是 CPU。
- 设备:选择运行模型的设备。
- 处理速率:仅当模式为间隔时使用 - 它控制帧发送到模型的速率。输入 1 表示每秒 1 帧,输入 20 表示每秒 20 帧,输入 0.1 表示每 10 秒 1 帧。
- 置信度:这会过滤模型的结果。调高此值可减少误报,但请注意这也可能会遗漏人员。
- 检查角落:有关更多详细信息,请参阅检查角落。
您可以在服务器设置 - AI 设置 - 模型 - 人脸识别中选择 Agent 使用的人脸识别模型。
待识别的人脸
点击编辑人脸以上传您想要识别的人员的照片。您可以上传同一个人的多张照片以改进结果。您可以从您的文件系统上传图像或使用内置网络摄像头来捕捉照片(需要 SSL 或 localhost)。
操作
人脸识别生成AI:已识别人脸和AI:未识别人脸事件供操作使用。
照片
有关照片的信息,请参阅照片。
本地车牌识别
Agent DVR 支持实时实时车牌识别,在您自己的硬件上本地运行。使用它来记录进入车道或停车场的每辆车辆,并在识别到已知车牌时触发操作(例如打开大门)。您需要一个许可证(或有效的订阅)来使用此功能。请参阅AI 服务器以配置 Agent 使用外部 AI 服务器。
要开始使用,请编辑您的摄像头并转到LPR选项卡。在顶部选择您的 AI 服务器。默认值为内部,这是 Agent DVR 的内置 AI。如果您想使用 AI 服务器,请在服务器设置 - AI 设置 - AI 服务器列表中添加它,然后在此处选择它。
以下详细信息用于使用其快速内置 AI 配置 Agent DVR。
- 模式:选择 AI 处理视频帧的时机。如果选择间隔,Agent 将使用下方的处理速率字段连续分析您的视频源。
- 配置叠加层:设置在实时视频上绘制实时结果:启用叠加层、显示标签和置信度、设置线宽和颜色,或模糊检测到的车牌。叠加层非常适合调优置信度限制。
- 使用 GPU:选中此选项以使用您的 GPU 而不是 CPU。请注意,由于 GPU 驱动程序和运行时支持的原因,这目前仅在 Windows 或 macOS 上有效。Linux 目前回退到 CPU。
- 设备:选择运行模型的设备。
- 处理速率:仅当模式为间隔时使用 - 它控制帧发送到模型的速率。输入 1 表示每秒 1 帧,输入 20 表示每秒 20 帧,输入 0.1 表示每 10 秒 1 帧。
- 置信度:这会过滤模型的结果。调整得更高以减少误报,但请注意这也可能会漏掉对象。
- 检查角落:有关更多详细信息,请参阅检查角落。
要查找的车牌号
- 车牌号:输入逗号分隔的车牌号列表或包含车牌号的 CSV 文件的 URL。Agent DVR 将为这些车牌号生成已识别车牌和未识别到车牌事件,这些事件可以触发操作。
- 重新加载间隔:设置从 URL 重新加载车牌号列表的频率。
- 标准化:调整常见的识别错误的车牌号以改进匹配。
操作
LPR 为AI:已识别车牌和AI:未识别到车牌事件生成,可用于操作。
照片
有关照片的信息,请参阅照片。
AI 警报过滤
警报过滤将移动侦测与AI结合,因此您只会在检测到重要内容时收到警报,例如门廊上出现人员,而不是摇晃的树枝或经过的车灯。这是减少误报的最有效方法。要在Agent DVR中设置警报过滤,请按照以下步骤操作:
- 在移动探测器上进行配置并启用。为了最小化CPU使用量,请使用简单模式探测器。确保至少定义一个区域来覆盖您要监控的区域。
- 在警报选项卡上,将模式设置为仅执行操作并启用警报。
- 在录制选项卡上,将模式设置为警报(如果您想要录像文件)
- 在对象识别选项卡上启用对象识别。将模式设置为检测到移动,选择一个模型,然后单击查找以选择要检测的对象,例如人、狗、汽车等。
- 在选项卡菜单中转到操作,为事件AI:发现对象添加一个操作。
选择区域以指定在何处检测对象,例如为您的车道和道路选择不同的区域。例如,选择车道区域将仅在检测到汽车时在该处触发警报。
在任务下,单击添加以创建警报任务。单击确认两次。
Agent DVR将在检测到移动侦测时处理AI对象识别。如果它在所选区域内检测到指定的对象,它将触发一个操作来引发警报。如果不选择区域,将为任何区域触发警报。
要在没有移动侦测触发的情况下进行持续的AI对象识别,请在对象识别上将模式设置为间隔。监控对硬件资源的影响并根据需要进行调整。
您可以为各个区域中的不同对象配置多个操作。在操作中使用{AI}标签来引用检测到的对象。
AI 筛选器故障排除
如果 AI 未能有效过滤您的录像文件,请考虑以下几点:
- 确保查找设置与其中一个可用选项匹配。
- 验证 Agent DVR 左上角的主警报开关显示已关闭的锁定图标,表示警报处于活动状态。
- 确认录制模式设置为警报而不是检测。
- 确保警报模式设置为仅执行操作。
- 尝试降低对象识别下的置信度级别。
- 检查 /logs.html 中的错误消息,可能表示服务器问题或网络阻止。
- 监控 AI 服务器性能,并确保其不会导致系统过载或超时设置。
- 如果 AI 检测所有对象类别,可能表示 GPU 存在问题。检查 GPU 驱动程序或切换到基于 CPU 的 AI 模块。
AI 对象识别
Agent DVR 中的对象识别功能使用本地 AI 或 AI 服务器(推荐 CodeProject.AI)来识别视频源中的特定对象,可以生成事件、触发警报,或作为运动警报的过滤器。
- 启用:切换以启用或禁用 AI 过程。
- AI 服务器:从已配置的服务器中选择,或使用默认选项。
- 模式:选择 AI 过程的触发器。通过将此设置为"无"并调用 triggerObject 仅通过 API 触发。
- 移动穿透:如果 AI 服务器宕机且正在过滤警报,此选项允许警报通过而不进行过滤。
- 使用快照 URI:使用来自摄像头的高分辨率帧,而不是当前实时视频帧。
- 调整大小模式:在将图像发送到 AI 服务器之前调整其大小,以减少负载并改善响应时间。
- 配置叠加层:设置在实时视频流上绘制 AI 结果,包括标签、置信度、线宽、颜色和模糊处理。
- 请求间隔:设置服务器请求之间的最短时间。
- 置信度:设置识别对象的最低置信度。
- 检查角落:有关更多详细信息,请参阅检查角落。
模型
- 发现:从服务器检索已安装的模型(特定于 CodeProject.AI)。
- AI 端点:从可用模型中选择或使用默认端点。
- AI 对象类别:自动填充相关类别或手动输入。
- 查找:指定 AI 要检测的对象。
- 静态对象:过滤不移动的对象。忽略静态对象忽略在同一位置重复检测到的对象;仅移动仅报告运动探测器当前检测到移动的对象。
- 运动容忍度:检查静态对象时检测之间允许的移动范围。
自定义模型
要将自定义模型添加到 CodeProject.AI,请将模型文件复制到指定目录。通过"发现"按钮访问它,但需手动将对象列表添加到对象类别。
通过编辑对象识别模块设置来更改模型存储目录。
操作
对象识别会生成 AI:发现对象和 AI:未发现对象事件,供操作使用。
照片
有关照片的信息,请参阅照片。
询问 AI
Agent DVR 使用 AI 服务器(OpenAI / Claude / Gemini / 本地大语言模型,如 Ollama、LM Studio、vLLM 等)来回答关于摄像头图像的人类可读问题。这样可以生成事件、触发警报或用作移动侦测警报的过滤器。您需要完成"服务器设置"- "AI 设置"- 询问 AI 中的配置。
您可以在本地服务器的 /logs.html 查看日志,了解何时发送了请求。将"服务器设置"- "记录日志"- "日志级别"设置为"信息"。
- 已启用:切换以启用或禁用 AI 处理。
- 提供商:选择要用于处理图像的 AI 提供商。提供商需要在服务器设置 - AI 设置中进行配置。如果选择"默认",将使用第一个已配置的提供商。
- 模式:选择 AI 处理的触发方式。通过将其设置为"无"并调用 triggerAskAI 来仅通过 API 触发
- 移动穿透:如果 AI 服务器已停机且进行警报过滤,这允许警报在未经过滤的情况下通过。
- 使用快照 URI:使用来自摄像头的高分辨率帧,而不是当前实时流帧。
- 调整大小模式:在发送图像到 AI 服务器之前调整其大小,以减少负载并改进响应时间。
- 配置叠加层:设置在实时视频流上绘制 AI 结果。
- 请求间隔:设置服务器请求之间的最短时间。
- 详细模式:选择"低"或"高"图像细节。"低"比"高"成本更低,适用于大多数场景。
- 使用视频:发送短视频片段而不是图像(仅限 Gemini)。设置以秒为单位的持续时间,并勾选包含音频以同时发送声音与视频。
AI 消息传递
- 消息:在此处输入您对 AI 的问题。一些示例:
- 如果您在此图像中看到火焰,请响应"FIRE"。如果您看到狗坐在沙发上,请响应"DOG"。如果门是开的,请响应"DOOR"。如果满足多个条件,用逗号分隔
- 如果工作台上机器的灯是红色,请响应"ALERT"
- 如果警车停在车道上,请响应"POLICE"
- 如果地上有任何邮件或包裹,请响应"MAIL"
- 如果看起来有人闯入了我的房屋,请响应"BREAKIN"
- 查找:输入您已指示 AI 响应的标签。例如"FIRE"、"DOG"、"DOOR"
- 不重复:忽略在上次 AI 调用中返回的标签
如上所述,您可以在消息中要求满足多个条件,并设置操作来处理每个结果。
操作
询问 AI 生成 AI:询问 AI 阳性结果 事件供 操作 使用。
照片
有关照片的信息,请参阅照片。请注意,AI 目前不返回有关图像中事物位置的任何空间数据,因此裁剪和静态检测当前无法使用。
AI 照片
AI 进程可以在识别到对象时捕获照片,提供保存、裁剪、FTP 上传等选项。
要配置此功能,请在编辑摄像头时转到每个 AI 配置选项卡底部的照片选项。启用"照片"并点击进行配置。
- 标签:Agent DVR 在图像上叠加边框并为检测到的对象添加标签。
- 裁剪:Agent DVR 将图像裁剪至每个检测到的区域,并保存多个图像,每个区域一个。
- FTP:将保存的图像上传到摄像头配置的 FTP 服务器。
- 防止重复:Agent DVR 避免保存同一对象的多个副本,直到该对象离开移动侦测区域。
- 最小间隔:设置照片之间的最短时间间隔,单位为秒。
车牌识别
LPR(车牌号识别,也称为 ALPR/ANPR)利用 AI 服务器从视频源中识别和读取车牌。它生成事件、触发警报或充当移动侦测警报的筛选器。
- 已启用:切换以启用或禁用 AI 处理。
- AI 服务器:从已配置的服务器中选择或使用默认选项。Agent DVR 通过 CodeProject.AI、PlateRecognizer.com、Gemini 或任何 OpenAI 兼容的视觉 LLM(如 vLLM、Ollama 和 LM Studio)支持 LPR。
- 模式:为 AI 流程选择触发器。通过将其设置为无并调用triggerLPR来仅通过 API 触发。
- 使用快照 URI:选择使用来自摄像头的高分辨率帧,而不是当前直播溪流帧。
- 调整大小模式:在发送图像到 AI 服务器之前调整其大小,以减少负载并改进响应时间。
- 配置叠加层:设置在实时视频流上绘制 AI 结果。
- 请求间隔:设置服务器请求之间的最短时间以缩小负载。
- 置信度:定义识别车牌号的最低置信度级别。
- 检查角落:有关更多详细信息,请参阅检查角落。
- 车牌号:输入逗号分隔的车牌号列表或包含车牌号的 CSV 文件的 URL。Agent DVR 将为这些车牌号生成已识别车牌和未识别到车牌事件,这些事件可以触发操作。
- 重新加载间隔:设置从 URL 重新加载车牌号列表的频率。
- 标准化:调整常见的识别错误的车牌号以改进匹配。
- 品牌、型号和颜色:仅当在 PlateRecognizer.com 上使用支持这些功能的付费计划时才启用此功能。免费计划中不包含此功能。详细信息将包含在 Agent DVR 操作中的{AIJSON}中。
操作
LPR 为AI:已识别车牌和AI:未识别到车牌事件生成,可用于操作。
照片
有关照片的信息,请参阅照片。
使用 ALPR-Database
您可以设置与 ALPR-Database.com 的集成来存储您的车牌号。有关说明,请参阅Agent DVR 与 ALPR-Database。
AI 人脸识别
人脸识别利用 AI 服务器(推荐:CodeProject.AI)来识别视频源中的特定人脸。它可以生成事件、发出警报或作为对移动侦测警报的筛选器。可以使用摄像头添加、编辑或删除人脸,也可以通过上传图像来添加。有关详细信息,请参阅此选项卡中的编辑人脸。
- 已启用:切换以启用或禁用 AI 处理。
- AI 服务器:从已配置的服务器中选择,或使用默认选项。
- 模式:选择 AI 流程的触发条件。通过将其设置为"无"并调用 triggerFace 来仅通过 API 触发
- 使用快照 URI:选择使用来自摄像头的高分辨率帧,而不是当前直播溪流帧。
- 调整大小模式:在发送图像到 AI 服务器之前调整其大小,以减少负载并改进响应时间。
- 配置叠加层:设置在实时视频流上绘制 AI 结果。
- 请求间隔:设置服务器请求之间的最短时间以缩小负载。
- 置信度:定义识别人脸的最低置信度级别。
- 检查角落:有关更多详细信息,请参阅检查角落。
- 编辑人脸:将图像上传到服务器数据库以供识别。确保每张图像中仅显示一张清晰定义的人脸。
操作
人脸识别生成AI:已识别人脸和AI:未识别人脸事件,供操作使用。
照片
有关照片的信息,请参阅照片。
AI 音频识别
Agent DVR 中基于 AI 的音频识别响应来自麦克风或音频流的已识别声音。
您需要编辑麦克风设置来设置音频识别。如果您有一个带有音频流的摄像头,您可以通过编辑摄像头、选择音频标签页并点击"配置"来访问音频设置。
- 已启用:切换以启用或禁用 AI 处理。
- 模式:选择 AI 处理的触发器。
- 置信度:为声音识别设置最低置信度级别。
- 侦听对象:选择特定的声音供 AI 检测。
- 叠加层:在实时音频可视化上显示已识别的声音。仅显示您在侦听对象下选择的声音,因此屏幕上显示的内容与触发警报的内容相匹配。
- 覆盖所有声音:也显示您未监听的声音,因此叠加层显示模型识别的所有内容。对于确定声音为什么未被识别很有用。
- 使用 GPU:选中此项可使用 GPU 而不是 CPU。
- 设备:选择运行模型的设备。
点击侦听对象显示可用于检测的声音。根据需要选择声音。
如果声音未被检测到,请打开叠加层和覆盖所有声音,然后播放声音并观察音频可视化。叠加层列出每个已识别的声音及其置信度,因此您可以看到模型是完全没有听到声音、听到声音但低于您的置信度设置,还是将其分类为其他内容 - 在这种情况下,将该声音添加到侦听对象。完成后关闭覆盖所有声音,以便叠加层仅显示实际触发警报的声音。
使用操作AI:已识别声音在识别到声音时执行任务。
音频识别也可用于筛选警报,类似于摄像头。
将操作添加到AI事件
Agent DVR 通过 AI 进程生成事件,这些事件可以触发操作。例如,对象识别生成"找到对象"和"未找到对象"事件。Agent DVR 中的每个 AI 系统都会产生独特的事件。
这些事件可以触发各种操作,例如发起警报、使用对象标签调用 URL、执行程序或向 MQTT 服务器发布消息。在操作中使用标签 {AI} 表示标签列表或 {AIJSON} 表示来自 AI 服务器的完整 JSON 响应。