摄像头捕捉(代理)
OpenClaw 支持用于代理工作流的摄像头捕捉:- iOS 节点(通过网关配对):通过
node.invoke捕捉照片(jpg)或短视频剪辑(mp4,可选带音频)。 - Android 节点(通过网关配对):通过
node.invoke捕捉照片(jpg)或短视频剪辑(mp4,可选带音频)。 - macOS 应用(节点通过网关):通过
node.invoke捕捉照片(jpg)或短视频剪辑(mp4,可选带音频)。
iOS 节点
用户设置(默认开启)
- iOS 设置页 → 摄像头 → 允许摄像头(
camera.enabled)- 默认:开启(缺失该键视为启用)。
- 关闭时:
camera.*命令返回CAMERA_DISABLED。
命令(通过网关 node.invoke)
-
camera.list- 响应数据:
devices:数组,元素为{ id, name, position, deviceType }
- 响应数据:
-
camera.snap- 参数:
facing:front|back(默认:front)maxWidth:数字(可选; iOS 节点默认1600)quality:0..1(可选;默认0.9)format:当前支持jpgdelayMs:数字(可选;默认0)deviceId:字符串(可选;来自camera.list)
- 响应数据:
format: "jpg"base64: "<...>"width,height
- 数据保护:照片会重新压缩以保证 base64 数据不超过 5 MB。
- 参数:
-
camera.clip- 参数:
facing:front|back(默认:front)durationMs:数字(默认3000,最大限制为60000)includeAudio:布尔值(默认true)format:当前支持mp4deviceId:字符串(可选;来自camera.list)
- 响应数据:
format: "mp4"base64: "<...>"durationMshasAudio
- 参数:
前台要求
与canvas.* 类似,iOS 节点只允许在前台执行 camera.* 命令。后台调用返回 NODE_BACKGROUND_UNAVAILABLE。
CLI 辅助工具(临时文件 + MEDIA)
获取附件最简单方式是通过 CLI 辅助工具,它会解码媒体到临时文件并打印MEDIA:<path>。
示例:
nodes camera snap默认对两个摄像头同时拍摄,以提供双视角。- 输出文件为临时文件,存储在操作系统的临时目录,除非自行封装调用。
Android 节点
Android 用户设置(默认开启)
- Android 设置面板 → 摄像头 → 允许摄像头(
camera.enabled)- 默认:开启(缺失该键视为启用)。
- 关闭时:
camera.*命令返回CAMERA_DISABLED。
权限
- Android 需要运行时权限:
CAMERA:用于camera.snap和camera.clipRECORD_AUDIO:当camera.clip启用音频时(includeAudio=true)
camera.* 请求返回 *_PERMISSION_REQUIRED 错误。
Android 前台要求
与canvas.* 类似,Android 节点只允许在前台执行 camera.* 命令。后台调用返回 NODE_BACKGROUND_UNAVAILABLE。
Android 命令(通过网关 node.invoke)
camera.list- 响应数据:
devices:数组,元素为{ id, name, position, deviceType }
- 响应数据:
数据保护
照片会重新压缩以保证 base64 数据不超过 5 MB。macOS 应用
用户设置(默认关闭)
macOS 配套应用提供了一个复选框:- 设置 → 通用 → 允许摄像头(
openclaw.cameraEnabled)- 默认:关闭
- 关闭时:摄像头请求返回 “Camera disabled by user”。
CLI 辅助工具(节点调用)
使用主openclaw CLI 调用 macOS 节点的摄像头命令。
示例:
openclaw nodes camera snap默认maxWidth=1600,除非指定覆盖。- macOS 上
camera.snap会在预热和曝光调整完成后等待delayMs(默认 2000 毫秒)再拍摄。 - 照片数据会重新压缩,保证 base64 不超过 5 MB。
安全与实际限制
- 摄像头和麦克风访问会触发常规的系统权限弹窗(并要求 Info.plist 中提供使用说明)。
- 视频剪辑时长有限制(当前限时
<= 60s),防止节点负载过大(base64 增加和消息大小限制)。
macOS 屏幕视频(系统级)
对于屏幕视频(非摄像头),使用 macOS 配套应用:- 需 macOS 屏幕录制权限(TCC)。