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 bir fotoğraf (jpg) veya kısa video klibi (mp4, isteğe bağlı ses ile) yakalayın. - Android düğümü (Gateway üzerinden eşleştirilmiş):
node.invokearacılığıyla bir fotoğraf (jpg) veya kısa video klibi (mp4, isteğe bağlı ses ile) yakalayın. - macOS uygulaması (Gateway üzerinden düğüm):
node.invokearacılığıyla bir fotoğraf (jpg) veya kısa video klibi (mp4, isteğe bağlı ses ile) yakalayın.
iOS düğümü
Kullanıcı ayarı (varsayılan açık)
- iOS Settings sekmesi → Camera → Allow Camera (
camera.enabled)- Varsayılan: açık (eksik anahtar etkin olarak değerlendirilir).
- Kapalıyken:
camera.*komutlarıCAMERA_DISABLEDdöndürür.
Komutlar (Gateway node.invoke aracılığıyla)
-
camera.list- Yanıt payload’ı:
devices:{ id, name, position, deviceType }dizisi
- Yanıt payload’ı:
-
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: dize (isteğe bağlı;camera.listiçinden)
- Yanıt payload’ı:
format: "jpg"base64: "<...>"width,height
- Payload koruması: fotoğraflar, base64 payload’ı 5 MB altında kalacak şekilde yeniden sıkıştırılır.
- Parametreler:
-
camera.clip- Parametreler:
facing:front|back(varsayılan:front)durationMs: sayı (varsayılan3000, en fazla60000olacak şekilde sınırlandırılır)includeAudio: boolean (varsayılantrue)format: şu andamp4deviceId: dize (isteğe bağlı;camera.listiçinden)
- Yanıt payload’ı:
format: "mp4"base64: "<...>"durationMshasAudio
- Parametreler:
Ön plan 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ısı (geçici dosyalar + MEDIA)
Ekleri almanın en kolay yolu, çözümlenen medyayı geçici bir dosyaya yazan veMEDIA:<path> yazdıran CLI yardımcısını kullanmaktır.
Örnekler:
nodes camera snap, ajana her iki görünümü de vermek için varsayılan olarak iki yönü de kullanır.- Kendi wrapper’ınızı oluşturmadığınız sürece çıktı dosyaları geçicidir (OS geçici dizininde).
Android düğümü
Android kullanıcı ayarı (varsayılan açık)
- Android Settings sayfası → Camera → Allow Camera (
camera.enabled)- Varsayılan: açık (eksik anahtar etkin olarak değerlendirilir).
- Kapalıyken:
camera.*komutlarıCAMERA_DISABLEDdöndürür.
İzinler
- Android çalışma zamanında şu izinleri gerektirir:
- Hem
camera.snaphem decamera.clipiçinCAMERA. includeAudio=trueolduğundacamera.clipiçinRECORD_AUDIO.
- Hem
camera.* istekleri
*_PERMISSION_REQUIRED hatasıyla başarısız olur.
Android ön plan 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.
Android komutları (Gateway node.invoke aracılığıyla)
camera.list- Yanıt payload’ı:
devices:{ id, name, position, deviceType }dizisi
- Yanıt payload’ı:
Payload koruması
Fotoğraflar, base64 payload’ı 5 MB altında kalacak şekilde yeniden sıkıştırılır.macOS uygulaması
Kullanıcı ayarı (varsayılan kapalı)
macOS eşlikçi uygulaması bir onay kutusu sunar:- Settings → General → Allow Camera (
openclaw.cameraEnabled)- Varsayılan: kapalı
- Kapalıyken: kamera istekleri “Camera disabled by user” döndürür.
CLI yardımcısı (node invoke)
macOS düğümünde kamera komutları çağırmak için anaopenclaw CLI’yi kullanın.
Örnekler:
openclaw nodes camera snap, geçersiz kılınmadıkça varsayılan olarakmaxWidth=1600kullanır.- macOS’ta
camera.snap, yakalamadan önce ısınma/pozlama dengelenmesinden sonradelayMskadar bekler (varsayılan 2000ms). - Fotoğraf payload’ları, base64 değeri 5 MB altında kalacak şekilde yeniden sıkıştırılır.
Güvenlik + pratik sınırlar
- Kamera ve mikrofon erişimi olağan OS izin istemlerini tetikler (ve Info.plist içinde kullanım dizeleri gerektirir).
- Video klipleri, büyük düğüm payload’larını önlemek için sınırlandırılır (şu anda
<= 60s) (base64 ek yükü + mesaj sınırları).
macOS ekran videosu (OS düzeyi)
Ekran videosu için (kamera değil), macOS eşlikçi uygulamasını kullanın:- macOS Screen Recording izni (TCC) gerektirir.