Nodes and media
گرفتن تصویر با دوربین
OpenClaw از ثبت تصویر با دوربین برای گردشکارهای عامل پشتیبانی میکند:
- نود iOS (جفتشده از طریق Gateway): ثبت یک عکس (
jpg) یا کلیپ ویدیویی کوتاه (mp4، با صدای اختیاری) از طریقnode.invoke. - نود Android (جفتشده از طریق Gateway): ثبت یک عکس (
jpg) یا کلیپ ویدیویی کوتاه (mp4، با صدای اختیاری) از طریقnode.invoke. - برنامه macOS (نود از طریق Gateway): ثبت یک عکس (
jpg) یا کلیپ ویدیویی کوتاه (mp4، با صدای اختیاری) از طریقnode.invoke.
تمام دسترسیهای دوربین پشت تنظیمات تحت کنترل کاربر محدود شدهاند.
نود 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: عدد (اختیاری؛ پیشفرض1600روی نود iOS)quality:0..1(اختیاری؛ پیشفرض0.9)format: در حال حاضرjpgdelayMs: عدد (اختیاری؛ پیشفرض0)deviceId: رشته (اختیاری؛ ازcamera.list)
- بار پاسخ:
format: "jpg"base64: "<...>"width،height
- محافظ بار: عکسها دوباره فشرده میشوند تا بار base64 زیر ۵ مگابایت بماند.
- پارامترها:
-
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
سادهترین راه برای دریافت فایلهای رسانهای استفاده از کمککننده CLI است که رسانه رمزگشاییشده را در یک فایل موقت مینویسد و مسیر ذخیرهشده را چاپ میکند.
نمونهها:
openclaw nodes camera snap --node <id> # default: both front + back (2 MEDIA lines)openclaw nodes camera snap --node <id> --facing frontopenclaw nodes camera clip --node <id> --duration 3000openclaw nodes camera clip --node <id> --no-audioنکتهها:
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 زیر ۵ مگابایت بماند.
برنامه macOS
تنظیم کاربر (بهطور پیشفرض خاموش)
برنامه همراه macOS یک چکباکس ارائه میکند:
- Settings → General → Allow Camera (
openclaw.cameraEnabled)- پیشفرض: خاموش
- هنگام خاموش بودن: درخواستهای دوربین "Camera disabled by user" را برمیگردانند.
کمککننده CLI (فراخوانی نود)
از CLI اصلی openclaw برای فراخوانی فرمانهای دوربین روی نود macOS استفاده کنید.
نمونهها:
openclaw nodes camera list --node <id> # list camera idsopenclaw nodes camera snap --node <id> # prints saved pathopenclaw nodes camera snap --node <id> --max-width 1280openclaw nodes camera snap --node <id> --delay-ms 2000openclaw nodes camera snap --node <id> --device-id <id>openclaw nodes camera clip --node <id> --duration 10s # prints saved pathopenclaw nodes camera clip --node <id> --duration-ms 3000 # prints saved path (legacy flag)openclaw nodes camera clip --node <id> --device-id <id>openclaw nodes camera clip --node <id> --no-audioنکتهها:
openclaw nodes camera snapبهطور پیشفرض ازmaxWidth=1600استفاده میکند، مگر اینکه بازنویسی شود.- در macOS،
camera.snapپس از گرمشدن/پایدار شدن نوردهی، پیش از ثبت تصویر بهاندازهdelayMs(پیشفرض 2000ms) صبر میکند. - بارهای عکس دوباره فشرده میشوند تا base64 زیر ۵ مگابایت بماند.
ایمنی + محدودیتهای عملی
- دسترسی دوربین و میکروفون درخواستهای مجوز معمول سیستمعامل را فعال میکند (و به رشتههای استفاده در Info.plist نیاز دارد).
- کلیپهای ویدیویی محدود شدهاند (در حال حاضر
<= 60s) تا از بارهای نود بیشازحد بزرگ جلوگیری شود (سربار base64 + محدودیتهای پیام).
ویدیوی صفحه macOS (در سطح سیستمعامل)
برای ویدیوی صفحه (نه دوربین)، از همراه macOS استفاده کنید:
openclaw nodes screen record --node <id> --duration 10s --fps 15 # prints saved pathنکتهها:
- به مجوز Screen Recording در macOS نیاز دارد (TCC).