外观
快速上手
这一页走通一条最短链路:从部署到第一条告警通知发出,再到值守台上把它接手、完成。前提是虹元底座已经在跑,并且至少有一个边缘节点在往虹元上行事件。
部署形态
智悟是一个单一二进制的服务进程,没有配置文件,全部配置来自环境变量;没有本地数据库,游标、规则、任务、裁定都在虹元。以 systemd 服务方式运行,随虹元之后启动,异常退出自动拉起。
| 项 | 默认 |
|---|---|
| 监听地址 | 127.0.0.1:8110 |
| 虹元地址 | http://127.0.0.1:8100 |
| 服务名 | uanmind |
| 配置文件 | 安装目录下的 uanmind.env |
对外访问经反向代理:值守台在 /app/,产品介绍页在根路径。
第一步:连上虹元
最少四项:
| 配置项 | 说明 |
|---|---|
UANCORE_URL | 虹元地址 |
UANCORE_ADMIN_KEY | 虹元管理密钥,必填,缺了启动失败 |
UANMIND_CONSUMER | 订阅消费方名,默认 uanmind |
UANMIND_TENANT | 实例默认租户。不配则订阅全部租户,多租户实例建议配 |
启动后看 GET /api/uanmind/status,cursor 在动、lastError 为空,就是连上了。不传起始游标时从最新事件开始,不重放历史。
第二步:登记响应规则
规则存在虹元,智悟只读。至少登记一条,否则所有事件都落"待复核",不会有通知。
最简单的一条:打架立即通知飞书群。
json
{
"tenant_code": "<租户码>",
"name": "resp.person.fight",
"kind": "response",
"body": {
"priority": 10,
"match": { "event_types": ["person.fight"], "min_severity": "medium" },
"action": {
"kind": "notify", "severity": "critical",
"channels": ["feishu"], "due_minutes": 15, "cooldown_s": 300,
"message": "{camera} 发生打架斗殴({severity}),请安保立即到场处置"
}
}
}登记走虹元的规则对象接口,或值守台的 POST /api/mind/rules。登记成功后智悟 60 秒内重新加载,也可以 POST /api/uanmind/rules/reload 立即生效(请求头带管理密钥 x-admin-key)。规则字段详见响应规则。
第三步:配一个通知通道
先配飞书,最省事:
FEISHU_WEBHOOK=<飞书群机器人地址>短信与站内信的配置见核心概念的消息一节。没配的通道静默跳过,状态接口的 channels 段能看出哪一路没配。
第四步:试跑
正式发通知前建议先干跑:
DRY_RUN=1干跑模式下只打日志,不落任务、不发通知、不确认游标。看日志里的匹配结果对不对,再去掉这一项重启。
第五步:登录值守台
浏览器打开值守台地址,两种入口:
- 从沅虹云门户进入。 门户的应用启动台点"智悟",单点登录,只看本租户。
- 运营密钥登录。 输入运营密钥,可跨租户,给实施与运维人员用。
等一条真实事件进来。值守台左侧事件流里出现它,右侧任务卡显示"待接手",点"接手"再点"完成",任务状态就走完了。事件本身还没裁定的话,底部有"确认真警"与"驳回为误报"两个按钮,裁定会回流到现场告警。
第六步:接随手拍照片判定(可选)
随手拍的 AI 识别要经智悟判定照片,需要单独一把机器密钥:
| 配置项 | 说明 |
|---|---|
MIND_API_KEY | 给随手拍 AI 服务用的密钥,不要把虹元管理密钥交出去 |
MIND_API_KEY_TENANTS | 这把密钥能代表哪些租户 |
PHOTO_LLM_URL / PHOTO_LLM_MODEL | 蓝精灵推理服务地址与模型名 |
接口与租户规则见照片判定与行为复核。
常见第一次踩的坑
| 现象 | 原因 |
|---|---|
| 事件进来了,没有任务 | 事件是观测类,或已被裁定为误报,智悟不响应 |
| 有任务,没通知 | 没有规则命中,落的是待复核;或通道没配置 |
| 通知发了一次就不发了 | 同规则冷却期内,任务标"已抑制" |
| 规则登记了不生效 | 规则缺 tenant_code,按坏规则丢弃;或 enabled 为 false |
| 值守台图片空白 | 证据图地址是现场内网地址,没配公网改写 |
| 行为候选一直待判定 | 判定模型地址没配,或模型服务不可达 |