Kamera yakalama (ajan)
OpenClaw, ajan iş akışları için kamera yakalamayı destekler:- iOS düğümü (Gateway üzerinden eşleştirilmiş):
node.invokearacılığıyla fotoğraf (jpg) veya kısa video klip (mp4, isteğe bağlı sesle) yakalama. - Android düğümü (Gateway üzerinden eşleştirilmiş):
node.invokearacılığıyla fotoğraf (jpg) veya kısa video klip (mp4, isteğe bağlı sesle) yakalama. - macOS uygulaması (Gateway üzerinden düğüm):
node.invokearacılığıyla fotoğraf (jpg) veya kısa video klip (mp4, isteğe bağlı sesle) yakalama.
iOS düğümü
Kullanıcı ayarı (varsayılan açık)
- iOS Ayarlar sekmesi → Kamera → Kameraya İzin Ver (
camera.enabled)- Varsayılan: açık (anahtar yoksa etkin kabul edilir).
- Kapalıyken:
camera.*komutlarıCAMERA_DISABLEDdöndürür.
Komutlar (Gateway üzerinden node.invoke)
-
camera.list- Yanıt yükü:
devices:{ id, name, position, deviceType }dizisi
- Yanıt yükü:
-
camera.snap- Parametreler:
facing:front|back(varsayılan:front)maxWidth: sayı (isteğe bağlı; iOS düğümünde varsayılan1600)quality:0..1(isteğe bağlı; varsayılan0.9)format: şu andajpgdelayMs: sayı (isteğe bağlı; varsayılan0)deviceId: string (isteğe bağlı;camera.list’ten)
- Yanıt yükü:
format: "jpg"base64: "<...>"width,height
- Yük koruması: fotoğraflar, base64 yükünü 5 MB altında tutmak için yeniden sıkıştırılır.
- Parametreler:
-
camera.clip- Parametreler:
facing:front|back(varsayılan:front)durationMs: sayı (varsayılan3000, en fazla60000ile sınırlandırılır)includeAudio: boolean (varsayılantrue)format: şu andamp4deviceId: string (isteğe bağlı;camera.list’den)
- Yanıt yükü:
format: "mp4"base64: "<...>"durationMshasAudio
- Parametreler:
Ön planda olma gereksinimi
canvas.* gibi, iOS düğümü camera.* komutlarına yalnızca ön planda izin verir. Arka plan çağrıları NODE_BACKGROUND_UNAVAILABLE döndürür.
CLI yardımcı aracı (geçici dosyalar + MEDIA)
Ekleri almanın en kolay yolu, çözümlenmiş medyayı geçici bir dosyaya yazan veMEDIA:<path> yazdıran CLI yardımcı aracını kullanmaktır.
Örnekler:
nodes camera snap, ajana her iki görünümü de sağlamak için varsayılan olarak her iki yüzeyi kullanır.- Çıkış dosyaları, kendi sarmalayıcınızı oluşturmadıkça geçicidir (OS geçici dizininde).
Android düğümü
Android kullanıcı ayarı (varsayılan açık)
- Android Ayarlar sayfası → Kamera → Kameraya İzin Ver (
camera.enabled)- Varsayılan: açık (anahtar yoksa etkin kabul edilir).
- Kapalıyken:
camera.*komutlarıCAMERA_DISABLEDdöndürür.
Permissions
- Android çalışma zamanı izinleri gerektirir:
- Hem
camera.snaphem decamera.clipiçinCAMERA. includeAudio=truedurumundacamera.clipiçinRECORD_AUDIO.
- Hem
camera.* istekleri
*_PERMISSION_REQUIRED hatasıyla başarısız olur.
Android ön planda olma gereksinimi
canvas.* gibi, Android düğümü camera.* komutlarına yalnızca ön planda izin verir. Arka plan çağrıları NODE_BACKGROUND_UNAVAILABLE döndürür.
Yük koruması
Fotoğraflar, base64 yükünü 5 MB altında tutmak için yeniden sıkıştırılır.macOS uygulaması
Kullanıcı ayarı (varsayılan kapalı)
macOS yardımcı uygulaması bir onay kutusu sunar:- Ayarlar → Genel → Kameraya İzin Ver (
openclaw.cameraEnabled)- Varsayılan: kapalı
- Kapalıyken: kamera istekleri “Camera disabled by user” döndürür.
CLI yardımcı aracı (düğüm çağırma)
macOS düğümünde kamera komutlarını çağırmak için anaopenclaw CLI’sını kullanın.
Örnekler:
openclaw nodes camera snap, geçersiz kılınmadıkça varsayılan olarakmaxWidth=1600’dir.- macOS’te,
camera.snapçekimden önce ısınma/pozlama dengelenmesinden sonradelayMs(varsayılan 2000 ms) bekler. - Fotoğraf yükleri, base64’ü 5 MB altında tutmak için yeniden sıkıştırılır.
Güvenli kullanım + pratik sınırlar
- Kamera ve mikrofon erişimi, olağan OS izin istemlerini tetikler (ve Info.plist’te kullanım dizgeleri gerektirir).
- Video klipler, aşırı büyük düğüm yüklerini önlemek için (şu anda
<= 60s) sınırlandırılmıştır (base64 ek yükü + mesaj sınırları).
macOS ekran videosu (OS düzeyi)
Kamera değil, ekran videosu için macOS yardımcı uygulamasını kullanın:- macOS Screen Recording izni (TCC) gerektirir.