Vai al contenuto principale

Documentation Index

Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt

Use this file to discover all available pages before exploring further.

Il canale WhatsApp funziona tramite Baileys Web. Questo documento descrive le regole attuali di gestione dei contenuti multimediali per invii, Gateway e risposte degli agenti.

Obiettivi

  • Inviare contenuti multimediali con didascalie opzionali tramite openclaw message send --media.
  • Consentire alle risposte automatiche dalla casella in arrivo web di includere contenuti multimediali insieme al testo.
  • Mantenere limiti per tipo sensati e prevedibili.

Superficie CLI

  • openclaw message send --media <path-or-url> [--message <caption>]
    • --media è opzionale; la didascalia può essere vuota per invii di soli contenuti multimediali.
    • --dry-run stampa il payload risolto; --json emette { channel, to, messageId, mediaUrl, caption }.

Comportamento del canale WhatsApp Web

  • Input: percorso di file locale oppure URL HTTP(S).
  • Flusso: carica in un Buffer, rileva il tipo di contenuto multimediale e costruisce il payload corretto:
    • Immagini: ridimensionamento e ricompressione in JPEG (lato massimo 2048 px) puntando a channels.whatsapp.mediaMaxMb (predefinito: 50 MB).
    • Audio/voce/video: pass-through fino a 16 MB; l’audio viene inviato come nota vocale (ptt: true).
    • Documenti: qualsiasi altra cosa, fino a 100 MB, con nome file preservato quando disponibile.
  • Riproduzione in stile GIF su WhatsApp: invia un MP4 con gifPlayback: true (CLI: --gif-playback) così i client mobili lo riproducono in loop inline.
  • Il rilevamento MIME preferisce i magic byte, poi gli header, poi l’estensione del file.
  • La didascalia viene da --message o reply.text; è consentita una didascalia vuota.
  • Logging: la modalità non dettagliata mostra ↩️/; quella dettagliata include dimensione e percorso/URL di origine.

Pipeline di risposta automatica

  • getReplyFromConfig restituisce { text?, mediaUrl?, mediaUrls? }.
  • Quando sono presenti contenuti multimediali, il mittente web risolve percorsi locali o URL usando la stessa pipeline di openclaw message send.
  • Se fornite, più voci multimediali vengono inviate in sequenza.

Contenuti multimediali in ingresso verso i comandi (Pi)

  • Quando i messaggi web in ingresso includono contenuti multimediali, OpenClaw li scarica in un file temporaneo ed espone variabili di templating:
    • pseudo-URL {{MediaUrl}} per il contenuto multimediale in ingresso.
    • percorso temporaneo locale {{MediaPath}} scritto prima di eseguire il comando.
  • Quando è abilitata una sandbox Docker per sessione, i contenuti multimediali in ingresso vengono copiati nello spazio di lavoro della sandbox e MediaPath/MediaUrl vengono riscritti in un percorso relativo come media/inbound/<filename>.
  • La comprensione dei contenuti multimediali (se configurata tramite tools.media.* o tools.media.models condivisi) viene eseguita prima del templating e può inserire blocchi [Image], [Audio] e [Video] in Body.
    • L’audio imposta {{Transcript}} e usa la trascrizione per il parsing dei comandi, così i comandi slash continuano a funzionare.
    • Le descrizioni di video e immagini preservano eventuale testo della didascalia per il parsing dei comandi.
    • Se il modello di immagine primario attivo supporta già nativamente la visione, OpenClaw salta il blocco di riepilogo [Image] e passa invece l’immagine originale al modello.
  • Per impostazione predefinita viene elaborato solo il primo allegato immagine/audio/video corrispondente; imposta tools.media.<cap>.attachments per elaborare più allegati.

Limiti ed errori

Limiti di invio in uscita (invio web WhatsApp)
  • Immagini: fino a channels.whatsapp.mediaMaxMb (predefinito: 50 MB) dopo la ricompressione.
  • Audio/voce/video: limite di 16 MB; documenti: limite di 100 MB.
  • Contenuti multimediali troppo grandi o illeggibili → errore chiaro nei log e la risposta viene saltata.
Limiti di comprensione dei contenuti multimediali (trascrizione/descrizione)
  • Immagine predefinita: 10 MB (tools.media.image.maxBytes).
  • Audio predefinito: 20 MB (tools.media.audio.maxBytes).
  • Video predefinito: 50 MB (tools.media.video.maxBytes).
  • I contenuti multimediali troppo grandi saltano la comprensione, ma le risposte vengono comunque inviate con il corpo originale.

Note per i test

  • Coprire i flussi di invio e risposta per i casi immagine/audio/documento.
  • Convalidare la ricompressione per le immagini (limite di dimensione) e il flag di nota vocale per l’audio.
  • Assicurare che le risposte con più contenuti multimediali si espandano in invii sequenziali.

Correlati