OpenClaw 支持用于代理工作流的摄像头采集:Documentation Index
Fetch the complete documentation index at: https://openclaw.zhcndoc.com/llms.txt
Use this file to discover all available pages before exploring further.
- iOS 节点(通过 Gateway 配对):通过
node.invoke采集照片(jpg)或短视频片段(mp4,可选音频)。 - Android 节点(通过 Gateway 配对):通过
node.invoke采集照片(jpg)或短视频片段(mp4,可选音频)。 - macOS 应用(通过 Gateway 的节点):通过
node.invoke采集照片(jpg)或短视频片段(mp4,可选音频)。
iOS 节点
用户设置(默认开启)
- iOS 设置标签页 → 相机 → 允许相机 (
camera.enabled)- 默认:开启(缺失的键会被视为已启用)。
- 关闭时:
camera.*命令返回CAMERA_DISABLED。
命令(通过 Gateway node.invoke)
-
camera.list- 响应负载:
devices:{ id, name, position, deviceType }数组
- 响应负载:
-
camera.snap- 参数:
facing:front|back(默认:front)maxWidth: number(可选;iOS 节点默认1600)quality:0..1(可选;默认0.9)format: 当前为jpgdelayMs: number(可选;默认0)deviceId: string(可选;来自camera.list)
- 响应负载:
format: "jpg"base64: "<...>"width,height
- 负载保护:照片会重新压缩,以将 base64 负载保持在 5 MB 以下。
- 参数:
-
camera.clip- 参数:
facing:front|back(默认:front)durationMs: number(默认3000,最大值限制为60000)includeAudio: boolean(默认true)format: 当前为mp4deviceId: string(可选;来自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.clip。- 当
includeAudio=true时,RECORD_AUDIO用于camera.clip。
camera.* 请求会以
*_PERMISSION_REQUIRED 错误失败。
Android 前台要求
与canvas.* 一样,Android 节点只允许在前台执行 camera.* 命令。后台调用会返回 NODE_BACKGROUND_UNAVAILABLE。
Android 命令(通过 Gateway node.invoke)
camera.list- 响应负载:
devices:{ id, name, position, deviceType }数组
- 响应负载:
负载保护
照片会重新压缩,以将 base64 负载保持在 5 MB 以下。macOS 应用
用户设置(默认关闭)
macOS 配套应用提供一个复选框:- 设置 → 通用 → 允许相机 (
openclaw.cameraEnabled)- 默认:关闭
- 关闭时:摄像头请求返回“Camera disabled by user”。
CLI 辅助工具(node invoke)
使用主openclaw CLI 在 macOS 节点上调用摄像头命令。
示例:
- 除非另有覆盖,
openclaw nodes camera snap默认使用maxWidth=1600。 - 在 macOS 上,
camera.snap会在热身/曝光稳定后等待delayMs(默认 2000ms)再进行拍摄。 - 照片负载会重新压缩,以将 base64 保持在 5 MB 以下。
安全性 + 实际限制
- 摄像头和麦克风访问会触发常规的 OS 权限提示(并且需要在 Info.plist 中提供用途字符串)。
- 视频片段有上限(当前
<= 60s),以避免节点负载过大(base64 开销 + 消息限制)。
macOS 屏幕视频(系统级)
对于 屏幕 视频(不是摄像头),请使用 macOS 配套应用:- 需要 macOS 屏幕录制 权限(TCC)。