Nodes and media
Görsel ve medya desteği
WhatsApp kanalı Baileys Web üzerinden çalışır. Bu belge, gönderim, Gateway ve aracı yanıtları için geçerli medya işleme kurallarını kaydeder.
Hedefler
openclaw message send --mediaile isteğe bağlı başlıklar eşliğinde medya gönderin.- Web gelen kutusundan 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 --media <path-or-url> [--message <caption>]--mediaisteğe bağlıdır; yalnızca medya gönderimleri için başlık boş olabilir.--dry-runçözümlenmiş yükü yazdırır;--json,{ channel, to, messageId, mediaUrl, caption }üretir.
WhatsApp Web kanal davranışı
- Girdi: yerel dosya yolu veya HTTP(S) URL'si.
- Akış: bir Buffer içine yükleyin, medya türünü algılayın ve doğru yükü oluşturun:
- Görüntüler:
channels.whatsapp.mediaMaxMbhedeflenerek (varsayılan: 50 MB) JPEG olarak yeniden boyutlandırılır ve yeniden sıkıştırılır (maksimum kenar 2048px). - Ses/Sesli/Video: 16 MB'a kadar doğrudan geçirilir; ses, sesli not olarak gönderilir (
ptt: true). - Belgeler: diğer her şey, mümkün olduğunda dosya adı korunarak 100 MB'a kadar.
- Görüntüler:
- WhatsApp GIF tarzı oynatma: mobil istemcilerin satır içinde döngüye alması için
gifPlayback: trueile bir MP4 gönderin (CLI:--gif-playback). - MIME algılama önce sihirli baytları, sonra başlıkları, ardından dosya uzantısını tercih eder.
- Başlık
--messageveyareply.textiçinden gelir; boş başlığa izin verilir. - Günlükleme: ayrıntısız mod
↩️/✅gösterir; ayrıntılı mod boyutu ve kaynak yolunu/URL'sini içerir.
Otomatik Yanıt İş Hattı
getReplyFromConfig,{ text?, mediaUrl?, mediaUrls? }döndürür.- Medya mevcut olduğunda web göndericisi, yerel yolları veya URL'leri
openclaw message sendile aynı iş hattını kullanarak çözümler. - Sağlanırsa birden çok medya girdisi sırayla gönderilir.
Komutlara gelen medya (Pi)
- Gelen web iletileri medya içerdiğinde OpenClaw geçici bir dosyaya indirir ve şablonlama değişkenlerini sunar:
- Gelen medya için
{{MediaUrl}}sözde URL'si. - Komutu çalıştırmadan önce yazılan yerel geçici yol
{{MediaPath}}.
- Gelen medya için
- Oturum başına Docker sandbox etkinleştirildiğinde, gelen medya sandbox çalışma alanına kopyalanır ve
MediaPath/MediaUrl,media/inbound/<filename>gibi göreli bir yola yeniden yazılır. - Medya anlama (
tools.media.*veya paylaşılantools.media.modelsüzerinden yapılandırıldıysa) şablonlamadan önce çalışır veBodyiçine[Image],[Audio]ve[Video]blokları ekleyebilir.- Ses,
{{Transcript}}değerini ayarlar ve komut ayrıştırma için transkripti kullanır; böylece eğik çizgi komutları çalışmaya devam eder. - Video ve görüntü açıklamaları, komut ayrıştırma için varsa başlık metnini korur.
- Etkin birincil görüntü modeli zaten yerel olarak görmeyi destekliyorsa OpenClaw
[Image]özet bloğunu atlar ve bunun yerine özgün görüntüyü modele geçirir.
- Ses,
- Varsayılan olarak yalnızca ilk eşleşen görüntü/ses/video eki işlenir; birden çok eki işlemek için
tools.media.<cap>.attachmentsayarını belirleyin.
Sınırlar ve hatalar
Giden gönderim üst sınırları (WhatsApp web gönderimi)
- Görüntüler: yeniden sıkıştırmadan sonra
channels.whatsapp.mediaMaxMbdeğerine kadar (varsayılan: 50 MB). - Ses/sesli/video: 16 MB üst sınırı; belgeler: 100 MB üst sınırı.
- Fazla büyük veya okunamayan medya → günlüklerde açık hata ve yanıt atlanır.
Medya anlama üst sınırları (transkripsiyon/açıklama)
- Görüntü varsayılanı: 10 MB (
tools.media.image.maxBytes). - Ses varsayılanı: 20 MB (
tools.media.audio.maxBytes). - Video varsayılanı: 50 MB (
tools.media.video.maxBytes). - Fazla büyük medya anlamayı atlar, ancak yanıtlar özgün gövdeyle devam eder.
Testler İçin Notlar
- Görüntü/ses/belge durumları için gönderim + yanıt akışlarını kapsayın.
- Görüntüler için yeniden sıkıştırmayı (boyut sınırı) ve ses için sesli not bayrağını doğrulayın.
- Çoklu medya yanıtlarının ardışık gönderimler olarak yayıldığından emin olun.