Skill: jftech/jf-open-pro-device-human-detection (version 1.0.0)

--- name: jf-open-pro-device-human-detection description: 杰峰设备人形检测技能（开发版）。支持人形检测开关设置、人形检测灵敏度设置、云台设备人形追踪开关设置等功能。 metadata: version: 1.0.0 author: JFTech category: ai tags: - 杰峰 - 人形检测 - 人体追踪 - 云台控制 - AI 检测 - 灵敏度设置 triggers: - 查询人形检测配置 - 设置人形检测开关 - 开启人形检测 - 关闭人形检测 - 设置人形灵敏度 - 查询人形追踪配置 - 设置人形追踪开关 - 开启人形追踪 - 关闭人形追踪 prerequisites: - 配置必需的环境变量 - 设备需已完成配网和绑定 - 设备需在线 - 云台设备支持人形追踪功能 region: - CN: api-cn.jftechws.com (中国大陆) - AS: api-as.jftechws.com (亚洲) - EU: api-eu.jftechws.com (欧洲) - NA: api-na.jftechws.com (北美洲) --- # jf-open-pro-device-human-detection - 杰峰设备人形检测技能（开发版） ## 技能描述 支持杰峰设备的人形检测和追踪功能，基于杰峰开放平台 OpenAPI 实现： - **人形检测开关设置** - 开启/关闭人形检测报警 - **人形检测灵敏度设置** - 调节检测灵敏度（低/中/高） - **人形追踪开关设置** - 开启/关闭云台自动追踪人形 - **人形追踪灵敏度设置** - 调节追踪灵敏度 - **追踪返回时间设置** - 设置无人时返回守望位的时间 ## 触发词 - 查询人形检测配置 / 设置人形检测开关 / 开启人形检测 / 关闭人形检测 - 设置人形灵敏度 / 查询人形追踪配置 / 设置人形追踪开关 - 开启人形追踪 / 关闭人形追踪 / 人形跟踪设置 ## 前置条件 ### 必需配置 1. **签名算法** - 使用杰峰官方移位加密算法生成 signature 2. **时间戳算法** - counter(7 位) + timeMillis(13 位)，实时生成 3. **设备绑定** - 设备需先绑定到开放平台账号 4. **云台设备** - 人形追踪功能需要云台设备支持 ### 环境变量 | 变量名 | 说明 | 默认值 | 必需 | |--------|------|--------|------| | `JF_UUID` | 开放平台用户 uuid | - | ✅ | | `JF_APP_KEY` | 开放平台应用 appKey | - | ✅ | | `JF_APP_SECRET` | 开放平台应用密钥 | - | ✅ | | `JF_MOVE_CARD` | 移动卡标识（用于签名） | `2` | ✅ | | `JF_DEVICE_SN` | 设备序列号 | - | ✅ | | `JF_DEVICE_TOKEN` | 设备接口访问令牌 | - | ✅ | | `JF_ENDPOINT` | API 接入地址 | `api-cn.jftechws.com` | ❌ | ## API 接口 | 功能 | 地址 | 方法 | 需要 Token | 需要在线 | |------|------|------|------------|----------| | 获取人形检测配置 | `POST /gwp/v3/rtc/device/getconfig/{token}` | POST | ✅ | ✅ | | 设置人形检测配置 | `POST /gwp/v3/rtc/device/setconfig/{token}` | POST | ✅ | ✅ | | 获取人形追踪配置 | `POST /gwp/v3/rtc/device/getconfig/{token}` | POST | ✅ | ✅ | | 设置人形追踪配置 | `POST /gwp/v3/rtc/device/setconfig/{token}` | POST | ✅ | ✅ | ## 核心功能 ### 1. 人形检测配置（Detect.HumanDetection） **配置项说明：** | 字段 | 类型 | 说明 | 取值 | |------|------|------|------| | `Enable` | boolean | 人形检测开关 | `true`=开启，`false`=关闭 | | `Sensitivity` | int | 检测灵敏度 | `0`=低，`1`=中，`2`=高，`3`=灵敏度数量 | | `PedFdrAlg` | int | 人形人脸算法类型 | `0`=单人形，`1`=人形 + 人脸，`2`=人形 + 人脸识别，`3`=人形 + 车形，`4`=人形 + 车形 + 人脸，`5`=宠物 | | `ObjectType` | int | 检测目标类型 | `0`=检测人，`1`=检测物体 | | `ShowRule` | boolean | 是否叠加人形规则框 | `true`=是，`false`=否 | | `ShowTrack` | boolean | 是否叠加移动人形框 | `true`=是，`false`=否 | | `PushInterval` | int | 单人脸推图间隔（毫秒） | `-1`=不推图，其他=间隔时间 | **警戒规则（PedRule）：** | 字段 | 类型 | 说明 | |------|------|------| | `Enable` | boolean | 规则是否使能 | | `RuleType` | int | 规则类型（0=警戒线，1=警戒区域） | | `RuleRegion` | object | 警戒区域参数 | | `RuleLine` | object | 警戒线参数 | **警戒区域参数：** - `PtsNum`: 区域点数（3-8） - `AlarmDirect`: 检测方向（0=进入，1=离开，2=双向） - `Pts`: 坐标点数组（0-8192） - `Sensitivity`: 该区域灵敏度 ### 2. 人形追踪配置（Detect.DetectTrack） **配置项说明：** | 字段 | 类型 | 说明 | 取值 | |------|------|------|------| | `Enable` | int | 人形追踪开关 | `0`=关闭，`1`=开启 | | `Sensitivity` | int | 追踪灵敏度 | `0`=低，`1`=中，`2`=高 | | `ReturnTime` | int | 返回默认位置时间（秒） | `0`=不返回，`1-600`=指定时间 | **注意：** 人形追踪不是报警，只是云台自动跟随人形移动。画面需要正放，识别出人形才能生效。 ## 使用示例 ### 环境准备 ```bash # 设置环境变量 export JF_UUID="uuidxxxx" export JF_APP_KEY="appkeyxxxx" export JF_APP_SECRET="appsecretxxxx" export JF_MOVE_CARD=0 export JF_DEVICE_SN="snxxx1" export JF_DEVICE_TOKEN="NTQ0NzQ3YmE3MXwyYzFk..." export JF_ENDPOINT="api-cn.jftechws.com" ``` ### 1. 查询人形检测配置 ```bash cd ~/.openclaw/workspace/skills/developer/jf-open-pro-device-human-detection/scripts python3 human_detection.py --action get-human-detect-config ``` ### 2. 开启/关闭人形检测 ```bash # 开启人形检测 python3 human_detection.py --action set-human-detect-switch --enable true # 关闭人形检测 python3 human_detection.py --action set-human-detect-switch --enable false ``` ### 3. 设置人形检测灵敏度 ```bash # 设置低灵敏度 python3 human_detection.py --action set-human-detect-sensitivity --level 0 # 设置中灵敏度 python3 human_detection.py --action set-human-detect-sensitivity --level 1 # 设置高灵敏度 python3 human_detection.py --action set-human-detect-sensitivity --level 2 ``` ### 4. 查询人形追踪配置 ```bash python3 human_detection.py --action get-human-track-config ``` ### 5. 开启/关闭人形追踪 ```bash # 开启人形追踪 python3 human_detection.py --action set-human-track-switch --enable true # 关闭人形追踪 python3 human_detection.py --action set-human-track-switch --enable false ``` ### 6. 设置人形追踪灵敏度 ```bash # 设置低灵敏度 python3 human_detection.py --action set-human-track-sensitivity --level 0 # 设置中灵敏度 python3 human_detection.py --action set-human-track-sensitivity --level 1 # 设置高灵敏度 python3 human_detection.py --action set-human-track-sensitivity --level 2 ``` ### 7. 设置追踪返回时间 ```bash # 设置 10 秒后返回 python3 human_detection.py --action set-track-return-time --seconds 10 # 设置不返回 python3 human_detection.py --action set-track-return-time --seconds 0 # 设置 5 分钟后返回（300 秒） python3 human_detection.py --action set-track-return-time --seconds 300 ``` ## 灵敏度说明 ### 人形检测灵敏度 | 级别 | 值 | 说明 | 适用场景 | |------|-----|------|----------| | 低灵敏度 | 0 | 检测较宽松，误报少 | 人员流动频繁区域 | | 中灵敏度 | 1 | 平衡检测和误报 | 一般区域（默认） | | 高灵敏度 | 2 | 检测更敏感，易触发 | 重要安防区域 | ### 人形追踪灵敏度 | 级别 | 值 | 说明 | 适用场景 | |------|-----|------|----------| | 低灵敏度 | 0 | 追踪较平缓 | 目标移动缓慢 | | 中灵敏度 | 1 | 追踪速度适中 | 一般场景（默认） | | 高灵敏度 | 2 | 追踪响应快 | 目标移动快速 | ## 人形人脸算法类型 | 类型 | 值 | 说明 | |------|-----|------| | 单人形检测 | 0 | 仅检测人形（默认） | | 人形加人脸检测 | 1 | 检测人形并检测人脸 | | 人形加人脸识别 | 2 | 检测人形并识别人脸身份 | | 人形加车形检测 | 3 | 检测人形和车辆 | | 人形加车形加人脸 | 4 | 检测人形、车形和人脸 | | 宠物检测 | 5 | 检测宠物 | ## 状态码 ### 平台状态码 | code | 说明 | 处理建议 | |------|------|----------| | 2000 | 成功 | - | | 28007 | Header 参数错误 | 检查 uuid、appKey、timeMillis、signature | | 40103 | 无效 Token | deviceToken 过期，重新获取 | | 50000 | 服务器内部错误 | 联系杰峰技术支持 | ### 设备状态码（Ret） | Ret | 说明 | |-----|------| | 100 | 成功 | | 106 | 用户名或密码错误 | ## 注意事项 1. **deviceToken 有效期** - 24 小时，过期需重新获取 2. **设备在线要求** - 配置类操作需要设备在线 3. **云台设备** - 人形追踪功能仅云台设备支持 4. **画面正放** - 人形追踪需要画面正放才能生效 5. **识别生效** - 需先识别出人形，追踪功能才能生效 6. **坐标范围** - 警戒区域坐标需缩放到 0-8192 范围 7. **北京时间** - 建议使用北京时间（UTC+8）进行时间查询 8. **算法创建** - 多通道设备可能部分通道不创建算法（AlgoCreate 字段） ## 相关文件 | 文件 | 说明 | |------|------| | `SKILL.md` | 技能文档 | | `scripts/human_detection.py` | Python 执行脚本 | | `scripts/crypto.py` | 签名/时间戳加密工具（复用） | ## 参考文档 - [杰峰开放平台](https://docs.jftech.com)


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal:  | SkillSpector: suspicious (CRITICAL)