Comprensione dei media - In ingresso (2026-01-17)
OpenClaw può riassumere i media in ingresso (immagini/audio/video) prima dell’esecuzione della pipeline di risposta. Rileva automaticamente quando sono disponibili strumenti locali o chiavi provider e può essere disabilitato o personalizzato. Se la comprensione è disattivata, i modelli ricevono comunque i file/URL originali come sempre. Il comportamento dei media specifico del vendor viene registrato dai plugin del vendor, mentre il core di OpenClaw gestisce la configurazione condivisatools.media, l’ordine di fallback e l’integrazione con la pipeline di risposta.
Obiettivi
- Facoltativo: pre-digerire i media in ingresso in testo breve per un instradamento più rapido e un parsing dei comandi migliore.
- Preservare sempre la consegna dei media originali al modello.
- Supportare API provider e fallback CLI.
- Consentire più modelli con fallback ordinato (errore/dimensione/timeout).
Comportamento di alto livello
- Raccogli gli allegati in ingresso (
MediaPaths,MediaUrls,MediaTypes). - Per ogni capacità abilitata (immagine/audio/video), seleziona gli allegati secondo la policy (predefinita: primo).
- Scegli la prima voce di modello idonea (dimensione + capacità + auth).
- Se un modello fallisce o il media è troppo grande, passa alla voce successiva.
- In caso di successo:
Bodydiventa un blocco[Image],[Audio]o[Video].- L’audio imposta
{{Transcript}}; il parsing dei comandi usa il testo della didascalia quando presente, altrimenti la trascrizione. - Le didascalie vengono preservate come
User text:all’interno del blocco.
Panoramica della configurazione
tools.media supporta modelli condivisi più override per capacità:
tools.media.models: elenco di modelli condivisi (usacapabilitiesper limitarli).tools.media.image/tools.media.audio/tools.media.video:- valori predefiniti (
prompt,maxChars,maxBytes,timeoutSeconds,language) - override del provider (
baseUrl,headers,providerOptions) - opzioni audio Deepgram tramite
tools.media.audio.providerOptions.deepgram - controlli di echo della trascrizione audio (
echoTranscript, predefinitofalse;echoFormat) - elenco facoltativo di
modelsper capacità (preferito prima dei modelli condivisi) - policy
attachments(mode,maxAttachments,prefer) scope(filtro facoltativo per canale/chatType/session key)
- valori predefiniti (
tools.media.concurrency: numero massimo di esecuzioni concorrenti per capacità (predefinito 2).
Voci di modello
Ogni vocemodels[] può essere provider o CLI:
{{MediaDir}}(directory che contiene il file media){{OutputDir}}(directory scratch creata per questa esecuzione){{OutputBase}}(percorso base del file scratch, senza estensione)
Valori predefiniti e limiti
Valori predefiniti consigliati:maxChars: 500 per immagini/video (breve, compatibile con i comandi)maxChars: non impostato per l’audio (trascrizione completa salvo impostazione di un limite)maxBytes:- immagine: 10MB
- audio: 20MB
- video: 50MB
- Se il media supera
maxBytes, quel modello viene saltato e viene provato il modello successivo. - I file audio più piccoli di 1024 byte vengono trattati come vuoti/corrotti e saltati prima della trascrizione provider/CLI.
- Se il modello restituisce più di
maxChars, l’output viene troncato. promptusa per default un semplice “Describe the .” più l’indicazionemaxChars(solo immagine/video).- Se il modello immagine primario attivo supporta già nativamente la vision, OpenClaw salta il blocco di riepilogo
[Image]e passa invece l’immagine originale al modello. - Se
<capability>.enabled: truema non sono configurati modelli, OpenClaw prova il modello di risposta attivo quando il suo provider supporta quella capacità.
Rilevamento automatico della comprensione dei media (predefinito)
Setools.media.<capability>.enabled non è impostato a false e non hai configurato modelli, OpenClaw rileva automaticamente in quest’ordine e si ferma alla prima opzione funzionante:
- Modello di risposta attivo quando il suo provider supporta la capacità.
- Riferimenti primari/fallback di
agents.defaults.imageModel(solo immagine). - CLI locali (solo audio; se installate)
sherpa-onnx-offline(richiedeSHERPA_ONNX_MODEL_DIRcon encoder/decoder/joiner/tokens)whisper-cli(whisper-cpp; usaWHISPER_CPP_MODELo il modello tiny bundled)whisper(CLI Python; scarica automaticamente i modelli)
- Gemini CLI (
gemini) usandoread_many_files - Auth provider
- Le voci configurate
models.providers.*che supportano la capacità vengono provate prima dell’ordine di fallback bundled. - I provider di configurazione solo immagine con un modello compatibile con immagini vengono registrati automaticamente per la comprensione dei media anche quando non sono un plugin vendor bundled.
- Ordine di fallback bundled:
- Audio: OpenAI → Groq → Deepgram → Google → Mistral
- Immagine: OpenAI → Anthropic → Google → MiniMax → MiniMax Portal → Z.AI
- Video: Google → Qwen → Moonshot
- Le voci configurate
PATH (espandiamo ~), oppure imposta un modello CLI esplicito con un percorso comando completo.
Supporto dell’ambiente proxy (modelli provider)
Quando la comprensione dei media audio e video basata su provider è abilitata, OpenClaw rispetta le variabili d’ambiente proxy standard in uscita per le chiamate HTTP verso i provider:HTTPS_PROXYHTTP_PROXYhttps_proxyhttp_proxy
Capacità (facoltative)
Se imposticapabilities, la voce viene eseguita solo per quei tipi di media. Per gli elenchi condivisi, OpenClaw può dedurre i valori predefiniti:
openai,anthropic,minimax: imageminimax-portal: imagemoonshot: image + videoopenrouter: imagegoogle(API Gemini): image + audio + videoqwen: image + videomistral: audiozai: imagegroq: audiodeepgram: audio- Qualsiasi catalogo
models.providers.<id>.models[]con un modello compatibile con immagini: image
capabilities esplicitamente per evitare corrispondenze sorprendenti.
Se ometti capabilities, la voce è idonea per l’elenco in cui compare.
Matrice di supporto dei provider (integrazioni OpenClaw)
| Capacità | Integrazione provider | Note |
|---|---|---|
| Immagine | OpenAI, OpenRouter, Anthropic, Google, MiniMax, Moonshot, Qwen, Z.AI, provider di configurazione | I plugin vendor registrano il supporto immagini; MiniMax e MiniMax OAuth usano entrambi MiniMax-VL-01; i provider di configurazione compatibili con immagini si registrano automaticamente. |
| Audio | OpenAI, Groq, Deepgram, Google, Mistral | Trascrizione provider (Whisper/Deepgram/Gemini/Voxtral). |
| Video | Google, Qwen, Moonshot | Comprensione video provider tramite plugin vendor; la comprensione video Qwen usa gli endpoint Standard DashScope. |
- La comprensione immagini
minimaxeminimax-portalproviene dal provider mediaMiniMax-VL-01gestito dal plugin. - Il catalogo testuale MiniMax bundled inizia comunque solo testo; le voci esplicite
models.providers.minimaxmaterializzano riferimenti chat M2.7 compatibili con immagini.
Indicazioni per la selezione del modello
- Preferisci il modello più forte disponibile dell’ultima generazione per ogni capacità media quando qualità e sicurezza contano.
- Per agenti con strumenti abilitati che gestiscono input non attendibili, evita modelli media più vecchi/più deboli.
- Mantieni almeno un fallback per capacità per la disponibilità (modello di qualità + modello più rapido/più economico).
- I fallback CLI (
whisper-cli,whisper,gemini) sono utili quando le API provider non sono disponibili. - Nota
parakeet-mlx: con--output-dir, OpenClaw legge<output-dir>/<media-basename>.txtquando il formato di output ètxt(o non specificato); i formati nontxtusano stdout come fallback.
Policy degli allegati
attachments per capacità controlla quali allegati vengono elaborati:
mode:first(predefinito) oallmaxAttachments: limite al numero elaborato (predefinito 1)prefer:first,last,path,url
mode: "all", gli output vengono etichettati [Image 1/2], [Audio 2/2], ecc.
Comportamento di estrazione degli allegati file:
- Il testo dei file estratti viene racchiuso come contenuto esterno non attendibile prima di essere aggiunto al prompt media.
- Il blocco iniettato usa marcatori di confine espliciti come
<<<EXTERNAL_UNTRUSTED_CONTENT id="...">>>/<<<END_EXTERNAL_UNTRUSTED_CONTENT id="...">>>e include una riga di metadatiSource: External. - Questo percorso di estrazione degli allegati omette intenzionalmente il banner lungo
SECURITY NOTICE:per evitare di gonfiare il prompt media; i marcatori di confine e i metadati restano comunque presenti. - Se un file non ha testo estraibile, OpenClaw inietta
[No extractable text]. - Se in questo percorso un PDF usa come fallback immagini renderizzate delle pagine, il prompt media mantiene
il placeholder
[PDF content rendered to images; images not forwarded to model]perché questo passaggio di estrazione allegati inoltra blocchi di testo, non le immagini PDF renderizzate.
Esempi di configurazione
1) Elenco di modelli condivisi + override
2) Solo audio + video (immagine disattivata)
3) Comprensione facoltativa delle immagini
4) Voce singola multi-modale (capacità esplicite)
Output di stato
Quando la comprensione dei media viene eseguita,/status include una breve riga di riepilogo:
Note
- La comprensione è best-effort. Gli errori non bloccano le risposte.
- Gli allegati vengono comunque passati ai modelli anche quando la comprensione è disabilitata.
- Usa
scopeper limitare dove viene eseguita la comprensione (per esempio solo DM).