OpenClaw 支持用于智能体工作流的相机采集:Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/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 → Allow Camera(
camera.enabled)- 默认值:开启(缺失该键时视为已启用)。
- 关闭时:
camera.*命令会返回CAMERA_DISABLED。
命令(通过 Gateway 网关 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 → Allow Camera(
camera.enabled)- 默认值:开启(缺失该键时视为已启用)。
- 关闭时:
camera.*命令会返回CAMERA_DISABLED。
权限
- Android 需要运行时权限:
CAMERA:用于camera.snap和camera.clip。RECORD_AUDIO:用于camera.clip且includeAudio=true时。
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 配套应用提供一个复选框:- Settings → General → Allow Camera(
openclaw.cameraEnabled)- 默认值:关闭
- 关闭时:相机请求会返回“Camera disabled by user”。
CLI 辅助工具(node invoke)
使用主openclaw CLI 在 macOS 节点上调用相机命令。
示例:
openclaw nodes camera snap默认使用maxWidth=1600,除非另有覆盖。- 在 macOS 上,
camera.snap会在预热/曝光稳定后等待delayMs(默认 2000 ms)再拍摄。 - 照片负载会被重新压缩,以将 base64 保持在 5 MB 以下。
安全性与实际限制
- 相机和麦克风访问会触发常规的操作系统权限提示(并要求在 Info.plist 中提供 usage strings)。
- 视频片段有时长上限(当前为
<= 60s),以避免节点负载过大(base64 开销 + 消息限制)。
macOS 屏幕视频(操作系统级)
对于_屏幕_视频(不是相机视频),请使用 macOS 配套应用:- 需要 macOS 的屏幕录制权限(TCC)。