OpenClaw admite captura con cámara para flujos de trabajo de agentes: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.
- Node de iOS (emparejado mediante Gateway): captura una foto (
jpg) o un clip de video corto (mp4, con audio opcional) mediantenode.invoke. - Node de Android (emparejado mediante Gateway): captura una foto (
jpg) o un clip de video corto (mp4, con audio opcional) mediantenode.invoke. - app de macOS (Node mediante Gateway): captura una foto (
jpg) o un clip de video corto (mp4, con audio opcional) mediantenode.invoke.
Node de iOS
Ajuste de usuario (activado de forma predeterminada)
- Pestaña Ajustes de iOS → Cámara → Permitir cámara (
camera.enabled)- Predeterminado: activado (una clave ausente se trata como habilitada).
- Cuando está desactivado: los comandos
camera.*devuelvenCAMERA_DISABLED.
Comandos (mediante Gateway node.invoke)
-
camera.list- Carga útil de respuesta:
devices: array de{ id, name, position, deviceType }
- Carga útil de respuesta:
-
camera.snap- Parámetros:
facing:front|back(predeterminado:front)maxWidth: número (opcional; predeterminado1600en el Node de iOS)quality:0..1(opcional; predeterminado0.9)format: actualmentejpgdelayMs: número (opcional; predeterminado0)deviceId: cadena (opcional; desdecamera.list)
- Carga útil de respuesta:
format: "jpg"base64: "<...>"width,height
- Protección de carga útil: las fotos se recomprimen para mantener la carga útil base64 por debajo de 5 MB.
- Parámetros:
-
camera.clip- Parámetros:
facing:front|back(predeterminado:front)durationMs: número (predeterminado3000, limitado a un máximo de60000)includeAudio: booleano (predeterminadotrue)format: actualmentemp4deviceId: cadena (opcional; desdecamera.list)
- Carga útil de respuesta:
format: "mp4"base64: "<...>"durationMshasAudio
- Parámetros:
Requisito de primer plano
Al igual quecanvas.*, el Node de iOS solo permite comandos camera.* en primer plano. Las invocaciones en segundo plano devuelven NODE_BACKGROUND_UNAVAILABLE.
Ayudante de CLI (archivos temporales + MEDIA)
La forma más sencilla de obtener adjuntos es mediante el ayudante de CLI, que escribe los medios decodificados en un archivo temporal e imprimeMEDIA:<path>.
Ejemplos:
nodes camera snapusa de forma predeterminada ambas orientaciones para dar al agente ambas vistas.- Los archivos de salida son temporales (en el directorio temporal del SO) salvo que crees tu propio contenedor.
Node de Android
Ajuste de usuario de Android (activado de forma predeterminada)
- Hoja de ajustes de Android → Cámara → Permitir cámara (
camera.enabled)- Predeterminado: activado (una clave ausente se trata como habilitada).
- Cuando está desactivado: los comandos
camera.*devuelvenCAMERA_DISABLED.
Permisos
- Android requiere permisos en tiempo de ejecución:
CAMERAparacamera.snapycamera.clip.RECORD_AUDIOparacamera.clipcuandoincludeAudio=true.
camera.* fallan con un error
*_PERMISSION_REQUIRED.
Requisito de primer plano en Android
Al igual quecanvas.*, el Node de Android solo permite comandos camera.* en primer plano. Las invocaciones en segundo plano devuelven NODE_BACKGROUND_UNAVAILABLE.
Comandos de Android (mediante Gateway node.invoke)
camera.list- Carga útil de respuesta:
devices: array de{ id, name, position, deviceType }
- Carga útil de respuesta:
Protección de carga útil
Las fotos se recomprimen para mantener la carga útil base64 por debajo de 5 MB.app de macOS
Ajuste de usuario (desactivado de forma predeterminada)
La app complementaria de macOS expone una casilla:- Ajustes → General → Permitir cámara (
openclaw.cameraEnabled)- Predeterminado: desactivado
- Cuando está desactivado: las solicitudes de cámara devuelven “Cámara deshabilitada por el usuario”.
Ayudante de CLI (invocación de Node)
Usa la CLI principalopenclaw para invocar comandos de cámara en el Node de macOS.
Ejemplos:
openclaw nodes camera snapusamaxWidth=1600de forma predeterminada salvo que se anule.- En macOS,
camera.snapesperadelayMs(predeterminado 2000ms) después del calentamiento/estabilización de exposición antes de capturar. - Las cargas útiles de fotos se recomprimen para mantener base64 por debajo de 5 MB.
Seguridad + límites prácticos
- El acceso a la cámara y al micrófono activa los avisos de permiso habituales del SO (y requiere cadenas de uso en Info.plist).
- Los clips de video están limitados (actualmente
<= 60s) para evitar cargas útiles de Node demasiado grandes (sobrecarga de base64 + límites de mensajes).
Video de pantalla de macOS (nivel del SO)
Para video de pantalla (no de cámara), usa la app complementaria de macOS:- Requiere el permiso Grabación de pantalla de macOS (TCC).