High-Risk Behavior Identification & Analysis Tool | 高风险行为识别分析工具
任务目标
- 本 Skill 用于:通过视频或图片分析识别高风险行为和健康风险,及时发出预警
- 能力包含:跌倒识别、异常行为检测、心梗脑梗前兆识别、健康风险评估、实时预警
- 触发条件:仅当用户明确提及"风险分析"、"跌倒"、"跌倒检测"、"行为识别"、"安全监测"、"老人看护"、"风险识别"、"高危风险识别" 时才触发本技能。默认情况下,视频/URL分析应该触发中医面诊分析(face_analysis)技能,不触发本技能(**除非最近一次执行了风险分析或者提及风险分析 **)。
- 支持输入:本地视频/图片文件、网络视频/图片URL、实时流地址
前置准备
- 依赖说明:scripts脚本所需的依赖包及版本
requests>=2.28.0 opencv-python>=4.5.5 numpy>=1.21.0 pillow>=9.0.0
操作步骤
🔒 open-id 获取流程控制(强制执行,防止遗漏)
在执行风险分析前,必须按以下优先级顺序获取 open-id:
第 1 步:【最高优先级】检查技能所在目录的配置文件(优先)
路径:skills/smyx_common/scripts/config.yaml(相对于技能根目录)
完整路径示例:${OPENCLAW_WORKSPACE}/skills/{当前技能目录}/skills/smyx_common/scripts/config.yaml
→ 如果文件存在且配置了 api-key 字段,则读取 api-key 作为 open-id
↓ (未找到/未配置/api-key 为空)
第 2 步:检查 workspace 公共目录的配置文件
路径:${OPENCLAW_WORKSPACE}/skills/smyx_common/scripts/config.yaml
→ 如果文件存在且配置了 api-key 字段,则读取 api-key 作为 open-id
↓ (未找到/未配置)
第 3 步:检查用户是否在消息中明确提供了 open-id
↓ (未提供)
第 4 步:❗ 必须暂停执行,明确提示用户提供用户名或手机号作为 open-id
⚠️ 关键约束:
- 禁止自行假设,自行推导,自行生成 open-id 值(如 openclaw-control-ui、default、userC113、user123 等)
- 禁止跳过 open-id 验证直接调用 API
- 必须在获取到有效 open-id 后才能继续执行分析
- 如果用户拒绝提供 open-id,说明用途(用于保存和查询历史报告记录),并询问是否继续
- 标准流程:
- 准备输入源
- 支持本地视频/图片路径、网络URL、RTSP实时流地址
- 确保视频/图片清晰,覆盖需要监测的区域
- 获取 open-id(强制执行)
- 按上述流程控制获取 open-id
- 如无法获取,必须提示用户提供用户名或手机号
- 执行风险分析
- 调用
-m scripts.risk_analysis处理输入源 - 参数说明:
--input: 本地文件路径(与--url二选一)--url: 网络URL或实时流地址(与--input二选一)--open-id: 当前用户的 open-id(必填,按上述流程获取)--list: 列出该 open-id 的历史风险分析报告(与--input/--url互斥)--page-num: 分页页码,配合--list使用(默认 1)--page-size: 分页大小,配合--list使用(默认 30)--api-key: API访问密钥(可选)--api-url: API服务地址(可选,使用默认值)--mode: 分析模式(all/fall/health/behavior,默认all)--threshold: 预警阈值(0.1-1.0,默认0.8)--output: 结果输出文件路径(可选)--alert: 是否开启自动预警(true/false,默认false)
- 调用
- 获取分析结果
- 结构化的风险分析报告
- 包含:风险类型、置信度、发生时间、位置信息、预警等级、处理建议
- 高风险事件自动触发预警通知
- 准备输入源
资源索引
- 必要脚本: scripts/risk_analysis.py(调用API进行风险分析,支持多种输入源)
- 配置文件: scripts/config.py(配置API地址、默认参数、预警阈值)
- 领域参考: references/risk_categories.md(风险分类标准和预警等级说明)
注意事项
- 仅在需要时读取参考文档,保持上下文简洁
- 支持格式:mp4/avi/mov/jpg/png/rtsp/http/https
- 最大支持视频大小:200MB
- 分析结果仅供参考,不能替代专业安防和医疗诊断
- 高风险事件会自动记录到日志目录
- 实时流分析支持持续监测,检测到风险立即触发预警
使用示例
# 分析本地视频文件
python -m scripts.risk_analysis --input /path/to/video.mp4 --open-id your-open-id
# 分析网络视频URL
python -m scripts.risk_analysis --url https://example.com/video.mp4 --open-id your-open-id
# 跌倒识别模式(只检测跌倒事件)
python -m scripts.risk_analysis --input video.mp4 --open-id your-open-id --mode fall
# 实时流监测(RTSP摄像头)
python -m scripts.risk_analysis --url rtsp://camera_ip:554/stream --open-id your-open-id --alert true
# 自定义预警阈值
python -m scripts.risk_analysis --input video.mp4 --open-id your-open-id --threshold 0.7
# 保存结果到文件
python -m scripts.risk_analysis --input video.mp4 --open-id your-open-id --output result.json
# 📋 列出指定用户的历史风险分析报告
python -m scripts.risk_analysis --list --open-id your-open-id
# 列出指定用户的历史报告,自定义分页
python -m scripts.risk_analysis --list --open-id your-open-id --page-num 2 --page-size 20
风险类型说明
- 跌倒风险(fall):识别人员跌倒事件,置信度>0.8触发高等级预警
- 健康风险(health):识别心梗/脑梗前兆、突发疾病症状等
- 异常行为(behavior):识别剧烈运动、长时间静止、闯入等异常行为
- 综合模式(all):同时检测所有类型风险
预警等级
- 高风险(红色):置信度>0.9,立即触发报警
- 中风险(黄色):置信度0.7-0.9,记录并关注
- 低风险(蓝色):置信度0.5-0.7,仅记录日志
扫码联系在线客服