Kamerainspelning (agent)
OpenClaw stöder kamerainspelning för agentarbetsflöden:- iOS-nod (parad via Gateway): ta ett foto (
jpg) eller ett kort videoklipp (mp4, med valfritt ljud) vianode.invoke. - Android-nod (parad via Gateway): ta ett foto (
jpg) eller ett kort videoklipp (mp4, med valfritt ljud) vianode.invoke. - macOS-app (nod via Gateway): ta ett foto (
jpg) eller ett kort videoklipp (mp4, med valfritt ljud) vianode.invoke.
iOS-nod
Användarinställning (standard på)
- iOS-inställningsfliken → Kamera → Tillåt kamera (
camera.enabled)- Standard: på (saknad nyckel behandlas som aktiverad).
- När av:
camera.*-kommandon returnerarCAMERA_DISABLED.
Kommandon (via Gateway node.invoke)
-
camera.list- Svarspayload:
devices: array av{ id, name, position, deviceType }
- Svarspayload:
-
camera.snap- Parametrar:
facing:front|back(standard:front)maxWidth: number (valfri; standard1600på iOS-noden)quality:0..1(valfri; standard0.9)format: för närvarandejpgdelayMs: number (valfri; standard0)deviceId: string (valfri; fråncamera.list)
- Svarspayload:
format: "jpg"base64: "<...>"width,height
- Payload-skydd: foton rekomprimeras för att hålla base64-payloaden under 5 MB.
- Parametrar:
-
camera.clip- Parametrar:
facing:front|back(standard:front)durationMs: number (standard3000, begränsad till max60000)includeAudio: boolean (standardtrue)format: för närvarandemp4deviceId: string (valfri; fråncamera.list)
- Svarspayload:
format: "mp4"base64: "<...>"durationMshasAudio
- Parametrar:
Förgrundskrav
Somcanvas.*, tillåter iOS-noden endast camera.* kommandon i förgrunden. Bakgrundsinciteringar returnerar NODE_BACKGROUND_UNAVAILABLE.
CLI-hjälpare (temporära filer + MEDIA)
Det enklaste sättet att få bilagor är via CLI-hjälparen, som skriver avkodad media till en temporär fil och skriver utMEDIA:<path>.
Exempel:
nodes camera snapär som standard båda riktningarna för att ge agenten båda vyerna.- Utdatafiler är temporära (i OS:ets temporära katalog) om du inte bygger ett eget omslag.
Android-nod
Android-användarinställning (standard på)
- Android-inställningsblad → Kamera → Tillåt kamera (
camera.enabled)- Standard: på (saknad nyckel behandlas som aktiverad).
- När av:
camera.*-kommandon returnerarCAMERA_DISABLED.
Behörigheter
- Android kräver körningsbehörigheter:
CAMERAför bådecamera.snapochcamera.clip.RECORD_AUDIOförcamera.clipnärincludeAudio=true.
camera.*-begäranden med ett
*_PERMISSION_REQUIRED-fel.
Android-krav på förgrund
Somcanvas.*, tillåter Android-noden endast camera.* kommandon i förgrunden. Bakgrundsinciteringar returnerar NODE_BACKGROUND_UNAVAILABLE.
Payload-skydd
Foton rekomprimeras för att hålla base64-payloaden under 5 MB.macOS-app
Användarinställning (standard av)
macOS companion-appen exponerar en kryssruta:- Inställningar → Allmänt → Tillåt kamera (
openclaw.cameraEnabled)- Standard: av
- När av: kamerabegäranden returnerar ”Kamera inaktiverad av användaren”.
CLI-hjälpare (nodanrop)
Använd huvud-CLI:topenclaw för att anropa kamerakommandon på macOS-noden.
Exempel:
openclaw nodes camera snapär som standardmaxWidth=1600om inget annat anges.- På macOS väntar
camera.snapdelayMs(standard 2000 ms) efter uppvärmning/exponeringsstabilisering innan inspelning. - Fotopayloads rekomprimeras för att hålla base64 under 5 MB.
Säkerhet + praktiska gränser
- Kamera- och mikrofonåtkomst triggar de vanliga OS-behörighetspromptarna (och kräver användningssträngar i Info.plist).
- Videoklipp är begränsade (för närvarande
<= 60s) för att undvika överstora nodpayloads (base64-overhead + meddelandegränser).
macOS-skärmvideo (OS-nivå)
För skärm-video (inte kamera), använd macOS companion:- Kräver macOS-behörigheten Skärminspelning (TCC).