← Back to Skills Marketplace
49
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install jf-open-pro-capture
Description
杰峰设备批量抓图技能(开发版)。支持多设备同时抓图,自动管理 Token,可选下载图片到本地。按调用次数计费。
README (SKILL.md)
jf-open-pro-capture - 杰峰设备批量抓图技能(开发版)
技能描述
支持杰峰设备云抓图功能,适用于单设备或多设备批量抓图:
- 批量抓图 - 支持多设备同时抓图
- 自动 Token 管理 - 自动获取和管理 deviceToken
- 本地下载 - 可选下载图片到本地存储
- 多通道支持 - 支持多通道设备抓图
- 图片类型 - 实时图/缩略图
计费说明: 按调用次数计费,详见 杰峰官网 - 云抓拍定价
触发词
- 设备抓图 / 批量抓图 / 云抓图
- 获取设备图片 / 抓图下载 / 实时抓图
前置条件
设备要求
- 设备在线 - 设备需在线且可访问
- 设备绑定 - 设备需先绑定到开放平台账号
- 辅码流 - 默认抓取辅码流(标清)
- 主码流 - 需联系销售定制固件
必需配置
- 签名算法 - 使用杰峰官方移位加密算法生成 signature
- 时间戳算法 - counter(7 位) + timeMillis(13 位),实时生成
- 设备绑定 - 设备需先绑定到开放平台账号
环境变量
| 变量名 | 说明 | 默认值 | 必需 |
|---|---|---|---|
JF_UUID |
开放平台用户 uuid | - | ✅ |
JF_APP_KEY |
开放平台应用 appKey | - | ✅ |
JF_APP_SECRET |
开放平台应用密钥 | - | ✅ |
JF_MOVE_CARD |
移动卡标识(用于签名) | 2 |
✅ |
JF_DEVICE_SN |
设备序列号(单设备) | - | ❌ |
JF_DEVICE_TOKEN |
设备接口访问令牌 | - | ❌ |
JF_DEVICE_USERNAME |
设备用户名 | admin |
❌ |
JF_DEVICE_PASSWORD |
设备密码 | - | ❌ |
JF_ENDPOINT |
API 接入地址 | api-cn.jftechws.com |
❌ |
API 接口
| 功能 | 地址 | 方法 | 需要 Token | 需要在线 |
|---|---|---|---|---|
| 设备抓图 | POST /gwp/v3/rtc/device/capture/{token} |
POST | ✅ | ✅ |
| 获取设备 Token | POST /gwp/v3/rtc/device/token |
POST | ✅ | ❌ |
核心功能
1. 设备抓图(Capture)
API: POST /gwp/v3/rtc/device/capture/{deviceToken}
Name: OPSNAP
请求参数:
| 参数 | 类型 | 必需 | 默认值 | 说明 |
|---|---|---|---|---|
| Name | string | ✅ | OPSNAP |
固定值 |
| OPSNAP.Channel | int | ❌ | 0 |
通道号(0=第一通道) |
| OPSNAP.PicType | int | ❌ | 0 |
图片类型(0=实时图,1=缩略图) |
响应参数:
| 字段 | 类型 | 说明 |
|---|---|---|
| code | int | 平台状态码(2000=成功) |
| msg | string | 响应消息 |
| data | object | 响应数据 |
| ├─ Ret | int | 设备状态码(100=成功) |
| └─ image | string | 图片地址 URL(有效期 24 小时) |
2. 获取设备 Token(批量抓图必需)
API: POST /gwp/v3/rtc/device/token
请求参数:
| 参数 | 类型 | 必需 | 说明 |
|---|---|---|---|
| sns | string[] | ✅ | 设备序列号列表(最多 500 个) |
| accessToken | string | ❌ | 用户 accessToken(可选) |
响应参数:
| 字段 | 类型 | 说明 |
|---|---|---|
| data | object[] | 设备 Token 列表 |
| ├─ sn | string | 设备序列号 |
| └─ token | string | 设备接口访问令牌(有效期 24 小时) |
使用示例
环境准备
# 设置环境变量(请替换为您的实际配置)
export JF_UUID="your-uuid"
export JF_APP_KEY="your-app-key"
export JF_APP_SECRET="your-app-secret"
export JF_MOVE_CARD="2"
export JF_DEVICE_SN="your-device-sn"
export JF_DEVICE_TOKEN="your-device-token"
export JF_DEVICE_USERNAME="admin"
export JF_DEVICE_PASSWORD="your-device-password"
export JF_ENDPOINT="api-cn.jftechws.com"
1. 单设备抓图(已有 Token)
cd ~/.openclaw/workspace/skills/developer/jf-open-pro-capture/scripts
# 抓取实时图(辅码流)
python3 capture.py --action capture \
--device-sn "your-device-sn" \
--device-token "your-device-token"
# 抓取缩略图
python3 capture.py --action capture --pic-type 1 \
--device-sn "your-device-sn" \
--device-token "your-device-token"
# 抓取第二通道
python3 capture.py --action capture --channel 1 \
--device-sn "your-device-sn" \
--device-token "your-device-token"
2. 单设备抓图(自动获取 Token)
# 自动获取 Token 并抓图
python3 capture.py --action capture-auto \
--device-sn "your-device-sn" \
--password "your-device-password"
3. 批量设备抓图
# 批量抓图(从文件读取设备列表)
python3 capture.py --action batch-capture \
--devices-file "devices.txt" \
--password "your-device-password"
# 批量抓图并下载
python3 capture.py --action batch-capture \
--devices-file "devices.txt" \
--password "your-device-password" \
--download --output-dir "./captures"
4. 抓图并下载
# 抓图并下载到当前目录
python3 capture.py --action capture \
--device-sn "your-device-sn" \
--device-token "your-device-token" \
--download
# 抓图并下载到指定目录
python3 capture.py --action capture \
--device-sn "your-device-sn" \
--device-token "your-device-token" \
--download --output-dir "./captures"
5. 多通道设备抓图
# 抓取第一通道
python3 capture.py --action capture --channel 0 \
--device-sn "your-device-sn" \
--device-token "your-device-token"
# 抓取第二通道
python3 capture.py --action capture --channel 1 \
--device-sn "your-device-sn" \
--device-token "your-device-token"
6. JSON 格式输出(适合程序调用)
# 单设备抓图 - JSON 格式
python3 capture.py --action capture-auto \
--device-sn "your-device-sn" \
--password "your-device-password" \
--json
# 输出:{"url": "https://..."}
# 批量抓图 - JSON 格式
python3 capture.py --action batch-capture \
--devices-file "devices.txt" \
--password "your-device-password" \
--json
# 输出:{"total":3,"success":3,"failed":0,"results":[...]}
设备列表文件格式
# devices.txt - 设备列表文件
# 格式:设备序列号,设备名称(可选)
your-device-sn-01,大门摄像头
your-device-sn-02,后院摄像头
your-device-sn-03,客厅摄像头
请求参数说明
图片类型(PicType)
| 值 | 类型 | 说明 |
|---|---|---|
0 |
实时图 | 当前播放画面的截图(默认,辅码流) |
1 |
缩略图 | 缩略图(较小尺寸) |
通道号(Channel)
| 值 | 说明 |
|---|---|
0 |
第一通道(默认) |
1 |
第二通道 |
2+ |
更多通道(NVR 设备) |
状态码
平台状态码
| code | 说明 | 处理建议 |
|---|---|---|
| 2000 | 成功 | - |
| 28007 | Header 参数错误 | 检查 uuid、appKey、timeMillis、signature |
| 40103 | 无效 Token | deviceToken 过期,重新获取 |
| 50000 | 服务器内部错误 | 联系杰峰技术支持 |
设备状态码(Ret)
| Ret | 说明 | 处理建议 |
|---|---|---|
| 100 | 成功 | - |
| 106 | 用户名或密码错误 | 检查设备凭证 |
| 503 | 设备离线 | 检查设备在线状态 |
注意事项
- 图片有效期 - 抓图 URL 有效期24 小时,过期自动清除
- 及时下载 - 建议及时下载到本地存储
- 计费说明 - 按调用次数计费,详见官网定价
- 默认辅码流 - 默认抓取辅码流(标清)
- 主码流 - 需联系销售定制固件
- Token 有效期 - deviceToken 有效期 24 小时
- 批量限制 - 单次最多 500 个设备
- 设备在线 - 设备需在线才能抓图成功
相关文件
| 文件 | 说明 |
|---|---|
jf-open-pro-capture-skill.md |
技能文档 |
scripts/capture.py |
Python 执行脚本 |
scripts/crypto.py |
签名/时间戳加密工具(复用) |
参考文档
Usage Guidance
Review and restrict this skill before use: pin JF_ENDPOINT to trusted JFTech regional hosts, avoid putting passwords directly on the command line, store downloaded captures in a protected directory, delete captures when no longer needed, and rotate tokens or app secrets if they may have been exposed.
Capability Tags
Capability Assessment
Purpose & Capability
The stated purpose is coherent: capture images from JFTech devices, fetch device tokens, optionally batch-process devices, and optionally save images locally. Those capabilities inherently involve sensitive device access and surveillance imagery.
Instruction Scope
The instructions disclose required credentials and downloads, but they do not clearly bound sensitive handling, and the script accepts an arbitrary JF_ENDPOINT for signed API requests.
Install Mechanism
The artifact is a simple skill document plus Python scripts; no installer, background worker, or automatic execution was found.
Credentials
Environment variables for uuid, app key, app secret, device token, password, and endpoint are proportionate to the purpose, but the endpoint is not allowlisted and returned image URLs are downloaded without validation.
Persistence & Privilege
No persistence mechanism or privilege escalation was found, but optional local image downloads can leave sensitive camera captures on disk.
How to Use
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install jf-open-pro-capture - After installation, invoke the skill by name or use
/jf-open-pro-capture - Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
Add new skill
Metadata
Frequently Asked Questions
What is jf-open-pro-capture?
杰峰设备批量抓图技能(开发版)。支持多设备同时抓图,自动管理 Token,可选下载图片到本地。按调用次数计费。 It is an AI Agent Skill for Claude Code / OpenClaw, with 49 downloads so far.
How do I install jf-open-pro-capture?
Run "/install jf-open-pro-capture" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is jf-open-pro-capture free?
Yes, jf-open-pro-capture is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does jf-open-pro-capture support?
jf-open-pro-capture is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created jf-open-pro-capture?
It is built and maintained by jftech (@jftech); the current version is v1.0.0.
More Skills