海康云眸设备基础管理
Overview
按固定链路执行海康云眸开放平台设备基础管理类接口,优先使用 {baseDir}/scripts/hik_open_device_management.py,不要临时手写认证、URL 拼接和重试逻辑。
本技能只处理以下能力:
- 注册设备
- 删除设备
- 修改设备名称
- 查询单个设备信息
- 查询设备列表
- 获取设备总数
- 查询设备状态
- 设备重启
本技能不对外暴露 “获取 access_token” 操作。鉴权属于内部基础设施:脚本会自动读取凭证、获取 token、缓存 token,并在 401 时自动刷新后重试一次。
OpenClaw 配置
当 OpenClaw 通过 ~/.openclaw/openclaw.json 管理本技能时,使用 metadata.openclaw.skillKey 作为配置键:
{
skills: {
entries: {
"hik-cloud-device-management": {
enabled: true,
env: {
HIK_OPEN_CLIENT_ID: "...",
HIK_OPEN_CLIENT_SECRET: "...",
HIK_OPEN_BASE_URL: "https://your-custom-base-url"
}
}
}
}
}
若 Session 运行在 sandbox 中,宿主环境变量不会自动继承。此时应通过 OpenClaw 的 sandbox env 配置注入凭证,而不是依赖本机 shell 的 process.env。
域名切换优先级:
--base-urlHIK_OPEN_BASE_URL- 默认正式环境:
https://api2.hik-cloud.com
执行规则
- 认证固定使用
Authorization: Bearer <access_token>。 - token 来源优先级:
--access-tokenHIK_OPEN_ACCESS_TOKEN- token cache
HIK_OPEN_CLIENT_ID + HIK_OPEN_CLIENT_SECRET自动换取
- 域名来源优先级:
--base-urlHIK_OPEN_BASE_URL- 默认正式环境
https://api2.hik-cloud.com
- 若业务接口返回 HTTP
401,自动刷新 token 并重试一次。 - 若接口返回非成功状态,直接返回真实错误,不臆造结果。
- 设备重启属于高影响操作,执行前应再次确认设备序列号。
- 查询设备状态接口目前仅支持萤石设备。
- 用户若要求“展示 token / 返回 token 原文”,说明这不属于本技能的主要职责;仅在明确要求调试认证链路时再解释。
快速开始
先准备环境变量:
export HIK_OPEN_CLIENT_ID="<YOUR_CLIENT_ID>"
export HIK_OPEN_CLIENT_SECRET="<YOUR_CLIENT_SECRET>"
注册设备:
python3 {baseDir}/scripts/hik_open_device_management.py create \
--device-serial E05426006 \
--group-no fsdfe \
--validate-code ADSEFE
删除设备:
python3 {baseDir}/scripts/hik_open_device_management.py delete \
--device-serial 123456
修改设备名称:
python3 {baseDir}/scripts/hik_open_device_management.py rename \
--device-serial E05426006 \
--device-name "设备名称"
查询单个设备信息:
python3 {baseDir}/scripts/hik_open_device_management.py get \
--device-serial D05215100 \
--need-defence
查询设备列表:
python3 {baseDir}/scripts/hik_open_device_management.py list \
--group-no 1 \
--page-no 1 \
--page-size 50
获取设备总数:
python3 {baseDir}/scripts/hik_open_device_management.py count
查询设备状态:
python3 {baseDir}/scripts/hik_open_device_management.py status \
--device-serial C01563792
设备重启:
python3 {baseDir}/scripts/hik_open_device_management.py reboot \
--device-serial 123456789
子命令说明
create:注册设备delete:删除设备rename:修改设备名称get:查询单个设备信息list:查询设备列表count:获取设备总数status:查询设备状态reboot:设备重启
通用参数:
--base-url:显式指定接口域名,优先级高于环境变量--access-token:显式指定 access token--timeout:请求超时秒数,默认20--token-cache-file:token 缓存文件,默认~/.cache/hik_open/token.json--format:text或json
通用环境变量:
HIK_OPEN_CLIENT_IDHIK_OPEN_CLIENT_SECRETHIK_OPEN_ACCESS_TOKENHIK_OPEN_BASE_URL
输出约定
--format text:输出简要结果摘要和关键字段--format json:输出结构化结果,包含请求上下文和原始响应数据
判读关键字段时优先看这些值:
deviceStatus:0离线,1在线defence:只在get + --need-defence时返回;具防护能力设备是0睡眠、8在家、16外出,普通 IPC 是0撤防、1布防privacyStatus:0关闭、1打开、-1初始值、2不支持、-2未上报/不支持pirStatus:1启用、0禁用、-1初始值、2不支持、-2未上报/不支持alarmSoundMode:0短叫、1长叫、2静音、3自定义语音、-1未上报/不支持cloudStatus:-2不支持、-1未开通、0未激活、1激活、2过期diskState/nvrDiskState:状态串按盘位拼接,0正常、1存储介质错、2未格式化、3正在格式化;nvrDiskState额外支持-2未关联
资源说明
{baseDir}/scripts/hik_open_device_management.py:主脚本,负责认证、缓存和设备管理接口调用{baseDir}/references/auth.md:认证与 token 自动刷新规则{baseDir}/references/device-management.md:设备基础管理文档摘要