Nodes and media
Görüntü ve medya desteği
WhatsApp kanalı Baileys Web üzerinde çalışır. Bu sayfa; gönderim, Gateway ve ajan yanıtları için medya işleme kurallarını kapsar.
Hedefler
openclaw message send --mediaaracılığıyla isteğe bağlı bir açıklamayla medya gönderin.- Web gelen kutusundaki otomatik yanıtların metnin yanında medya da içermesine izin verin.
- Tür başına sınırları makul ve öngörülebilir tutun.
CLI Yüzeyi
openclaw message send --target <dest> --media <path-or-url> [--message <caption>]
--media <path-or-url>— medya (görüntü/ses/video/belge) ekler; yerel yolları veya URL'leri kabul eder. İsteğe bağlıdır; yalnızca medya içeren gönderimlerde açıklama boş olabilir.--gif-playback— video medyasını GIF oynatımı olarak işler (yalnızca WhatsApp).--force-document— kanal sıkıştırmasını önlemek için medyayı belge olarak gönderir (Telegram, WhatsApp); görüntülere, GIF'lere ve videolara uygulanır.--reply-to <id>,--thread-id <id>,--pin,--silent— yalnızca metin içeren gönderimlerle paylaşılan teslimat/ileti dizisi seçenekleri.--dry-run— çözümlenen yükü yazdırır ve gönderimi atlar.--json— sonucu JSON olarak yazdırır:{ action, channel, dryRun, handledBy, messageId?, payload }(payload, herhangi bir medya referansı dâhil olmak üzere kanala özgü gönderim sonucunu taşır).
WhatsApp Web kanalı davranışı
- Girdi: yerel dosya yolu veya HTTP(S) URL'si.
- Akış: bir arabelleğe yükler, medya türünü algılar, ardından türe göre giden yükü oluşturur:
- Görüntüler:
channels.whatsapp.mediaMaxMbsınırının (varsayılan 50 MB) altında kalacak şekilde optimize edilir. Opak görüntüler yeniden JPEG olarak sıkıştırılır (varsayılan kenar basamakları 2048 pikselden başlar ve boyut sınırı tekrar tekrar aşıldığında azalır); saydamlık içeren görüntüler PNG olarak korunur. Kaynak zaten boyut ve kenar uzunluğu bütçesi içinde kabul edilebilir bir JPEG/PNG/WebP ise yeniden sıkıştırılmak yerine özgün baytlar değiştirilmeden korunur. Animasyonlu GIF'ler hiçbir zaman yeniden kodlanmaz, yalnızca boyutları denetlenir. - Ses/sesli mesaj: zaten yerel sesli mesaj biçiminde (
.ogg/.opusveyaaudio/ogg/audio/opus) değilse giden ses, sesli not (ptt: true) olarak gönderilmeden önceffmpegaracılığıyla Opus/OGG biçimine dönüştürülür (48 kHz mono, 64 kbps, en fazla 20 dakika). - Video: 16 MB'a kadar doğrudan geçirilir.
- Belgeler: diğer her şey, 100 MB'a kadar; varsa dosya adı korunur.
- Görüntüler:
- WhatsApp GIF tarzı oynatımı: mobil istemcilerin videoyu satır içinde döngüye alması için
gifPlayback: trueile bir MP4 gönderin (CLI:--gif-playback). - MIME algılama önce sihirli bayt incelemesini, ardından dosya uzantısını ve son olarak yanıt üstbilgilerini tercih eder; genel olarak algılanan bir kapsayıcı (
application/octet-stream,zip), daha özel bir uzantı eşlemesini hiçbir zaman geçersiz kılmaz (örneğin XLSX ile ZIP). - Açıklama
--messageveyareply.textdeğerinden gelir; boş açıklamaya izin verilir. - Günlük kaydı: ayrıntısız modda
↩️/✅gösterilir; ayrıntılı mod boyutu ve kaynak yolunu/URL'sini içerir.
Otomatik Yanıt İşlem Hattı
getReplyFromConfig, diğer alanların yanı sıratext?,mediaUrl?vemediaUrls?içeren bir yanıt yükü (veya yük dizisi) döndürür.- Medya bulunduğunda web göndericisi,
openclaw message sendile aynı işlem hattını kullanarak yerel yolları veya URL'leri çözümler. - Birden fazla medya girdisi sağlanırsa sırayla gönderilir.
Gelen Medyadan Komutlara
- Gelen web iletileri medya içerdiğinde OpenClaw bunu geçici bir dosyaya indirir ve şablon değişkenlerini kullanıma sunar:
{{MediaUrl}}— gelen medyanın sözde URL'si.{{MediaPath}}— komut çalıştırılmadan önce yazılan yerel geçici yol.
- Oturum başına Docker korumalı alanı etkinleştirildiğinde gelen medya, korumalı alan çalışma alanına kopyalanır ve
MediaPath/MediaUrl,media/inbound/<filename>gibi korumalı alana göreli bir yol olarak yeniden yazılır. - Medya anlama (
tools.media.*veya paylaşılantools.media.modelsaracılığıyla yapılandırılır), şablonlama öncesinde çalışır veBodyiçine[Image],[Audio]ve[Video]blokları ekleyebilir.- Ses,
{{Transcript}}değerini ayarlar ve eğik çizgi komutlarının çalışmaya devam etmesi için komut ayrıştırmada dökümü kullanır. - Video ve görüntü açıklamaları, komut ayrıştırma için açıklama metnini korur.
- Etkin birincil model görüntüyü zaten yerel olarak destekliyorsa OpenClaw,
[Image]özet bloğunu atlar ve bunun yerine özgün görüntüyü modele iletir.
- Ses,
- Varsayılan olarak yalnızca eşleşen ilk görüntü/ses/video eki işlenir; birden fazla eki işlemek için
tools.media.<capability>.attachmentsayarını kullanın.
Sınırlar ve hatalar
Giden gönderim üst sınırları (WhatsApp web gönderimi)
- Görüntüler: optimizasyondan sonra en fazla
channels.whatsapp.mediaMaxMb(varsayılan 50 MB). - Ses/video: 16 MB üst sınırı (paylaşılan varsayılan; WhatsApp üzerinden gönderilirken
mediaMaxMbtarafından geçersiz kılınır). - Belgeler: 100 MB üst sınırı (paylaşılan varsayılan; WhatsApp üzerinden gönderilirken
mediaMaxMbtarafından geçersiz kılınır). - Fazla büyük veya okunamayan medya günlüklerde açık bir hata oluşturur ve yanıt atlanır.
Medya anlama üst sınırları (döküm/açıklama)
- Varsayılan görüntü sınırı: 10 MB (
tools.media.image.maxBytes). - Varsayılan ses sınırı: 20 MB (
tools.media.audio.maxBytes). - Varsayılan video sınırı: 50 MB (
tools.media.video.maxBytes). - Fazla büyük medyada anlama atlanır ancak yanıt özgün gövdeyle gönderilmeye devam eder.
Testlere İlişkin Notlar
- Görüntü/ses/belge durumlarında gönderim ve yanıt akışlarını kapsayın.
- Görüntü optimizasyonundan sonra boyut sınırlarını ve ses için sesli not bayrağını doğrulayın.
- Birden fazla medya içeren yanıtların ayrı ve sıralı gönderimler olarak dağıtıldığından emin olun.
İlgili Konular
Was this useful?