Install
openclaw skills install vispatrol-picture在 Windows 上抓取 VisPatrol 设备实时抓拍;仅允许在用户明确批准后读取本机 %TEMP%/vpup.json 以执行只读抓拍查询。
openclaw skills install vispatrol-picture当用户询问设备实时抓拍相关信息时,直接调用技能目录下的 Python 脚本完成查询,由脚本统一返回实时抓拍记录及其对应图片,并据此生成完整抓拍报告。
适用于以下场景:
为把对 vpup.json 的读取显式收敛到用户审批边界,本技能要求先在 openclaw.json 中启用一个明确的确认开关;未设置前,本技能不应被加载。与此同时,frontmatter 中的 requires.config 只声明真实读取的本地配置文件路径 %TEMP%/vpup.json,不再把审批布尔值伪装成“配置路径”。
示例配置:
{
skills: {
entries: {
"vispatrol-picture": {
enabled: true,
config: {
userApprovedVpupAccess: true,
},
},
},
},
}
只有在操作者已经确认本机 TEMP 目录中的 vpup.json 属于受信任的 VisPatrol 运行环境,并同意该 skill 在当前机器上读取它时,才应把 userApprovedVpupAccess 设为 true。该开关是人工审批边界,不是脚本业务入参。
pip install requests
pip install pycryptodome
上层应根据用户意图抽取并传入以下参数:
示例:
python scripts/picture_capture.py --name "设备A" --json
以下参数属于脚本运行时配置,只有在部署或调试时需要覆盖默认配置才传入;普通业务查询通常不需要上层显式指定:
补充说明:当前脚本实现还会从 Windows 临时目录默认读取 vpup.json 作为运行时前置配置来源。该文件不是可任意替换的自由输入,而是本技能与本地 VisPatrol 运行环境之间的受限配置边界;启用本技能前应先完成上文所述的显式批准。
示例:
python scripts/picture_capture.py --base-url "http://127.0.0.1" --timeout 30 --json
说明:为满足“基于查询结果生成抓拍报告总结”和“按审批范围转发抓拍图片”的执行规则,上层在正常业务查询中应默认使用 --json。脚本返回的 JSON 作为事实来源,上层再基于 snapshots、snapshot.local_path 和 query_result.image_attachments 整理最终文字报告并追加图片。未带 --json 的纯文本输出仅适用于人工调试或临时核对脚本文本结果,不应作为面向最终用户的默认返回路径。
当需要把抓拍图片连同文字报告一起发给飞书机器人或其他支持图片上传的渠道时,必须使用 --json。此时脚本会返回:
示例:
python scripts/picture_capture.py --name "设备A" --json
当用户用自然语言提问时,上层需要先把问题转换为脚本参数。可按以下规则提取:
提取后应转换为对应命令行参数,而不是把原句直接交给脚本。 其中“全部设备”“所有设备”等全量范围意图,只能作为触发二次确认的依据,不能直接跳过确认执行。
因此,推荐策略如下:
默认命令:
python scripts/picture_capture.py --name "<设备名称>" --json
如果用户已单独明确确认执行全设备抓拍,可使用:
python scripts/picture_capture.py --json
如果只是本地调试脚本文本输出,可使用:
python scripts/picture_capture.py --name "<设备名称>"
查询到 2 条实时抓拍记录。
1. 抓拍ID:202512010001,设备名称:设备A,通道:1,抓拍时间:2025-12-01 10:23:11
本地路径:C:\snapshots\snapshot_ch1_20251201102311.jpg
2. 抓拍ID:202512010002,设备名称:设备A,通道:1,抓拍时间:2025-12-01 11:05:42
本地路径:C:\snapshots\snapshot_ch1_20251201110542.jpg
已按返回顺序附上抓拍图片:设备A-通道1。
用户输入:获取设备A的实时抓拍
执行:
python scripts/picture_capture.py --name "A" --json
用户输入:获取所有设备的实时抓拍
先确认:
这将读取 Windows 临时目录中的 vpup.json,并查询、转发全部已配置设备的实时抓拍图片。确认继续吗?
用户明确确认后执行:
python scripts/picture_capture.py --json