tools.media, l’ordine dei fallback e l’integrazione con la pipeline di risposta.
Funzionamento
1
Raccogliere gli allegati
Raccoglie gli allegati in ingresso (
MediaPaths, MediaUrls, MediaTypes).2
Selezionare per funzionalità
Per ogni funzionalità abilitata (immagine/audio/video), seleziona gli allegati in base alla politica
attachments (impostazione predefinita: solo il primo allegato).3
Scegliere un modello
Seleziona la prima voce di modello idonea (dimensioni + funzionalità + autenticazione disponibile).
4
Usare il fallback in caso di errore
Se un modello restituisce un errore, supera il tempo massimo o il contenuto multimediale supera
maxBytes, prova la voce successiva.5
Applicare in caso di successo
Body diventa un blocco [Image], [Audio] o [Video]. Per l’audio viene impostato anche {{Transcript}}; l’analisi dei comandi usa il testo della didascalia, se presente, altrimenti la trascrizione. Le didascalie vengono conservate come User text: all’interno del blocco.Configurazione
tools.media contiene un elenco condiviso di modelli e sostituzioni specifiche per funzionalità:
image/audio/video):
Le opzioni specifiche di Deepgram vanno inserite in
providerOptions.deepgram (il campo di primo livello deepgram: { detectLanguage, punctuate, smartFormat } è deprecato, ma viene ancora letto).
Voci dei modelli
Ogni vocemodels[] è una voce fornitore (predefinita) o una voce CLI:
- Voce fornitore
- Voce CLI
Credenziali del fornitore
La comprensione dei contenuti multimediali tramite fornitore usa la stessa risoluzione dell’autenticazione delle normali chiamate ai modelli: profili di autenticazione, variabili d’ambiente e infinemodels.providers.<providerId>.apiKey. Le voci tools.media.*.models[] non accettano un campo apiKey incorporato.
Regole e comportamento
- I contenuti multimediali che superano
maxBytesfanno ignorare quel modello e passare al successivo. - I file audio inferiori a 1024 byte vengono considerati vuoti o danneggiati e ignorati prima della trascrizione; l’agente riceve invece una trascrizione segnaposto deterministica.
- Se il modello principale attivo per le immagini supporta già nativamente la visione, OpenClaw omette il blocco di riepilogo
[Image]e passa direttamente al modello l’immagine originale. MiniMax costituisce un’eccezione:minimax,minimax-cn,minimax-portaleminimax-portal-cninstradano sempre la comprensione delle immagini tramite il fornitore multimedialeMiniMax-VL-01gestito dal Plugin, anche se i metadati legacy delle chat MiniMax M2.x dichiarano il supporto per l’input di immagini (soloMiniMax-M3e versioni successive sono considerate dotate di funzionalità di visione native). - Se il modello principale di Gateway/WebChat supporta solo il testo, gli allegati immagine vengono conservati come riferimenti esternalizzati
media://inbound/*, affinché gli strumenti per immagini/PDF o un modello per immagini configurato possano comunque esaminarli anziché perdere l’allegato. - Il comando esplicito
openclaw infer image describe --file <path> --model <provider/model>(alias:openclaw capability image describe) esegue direttamente il fornitore/modello con supporto per le immagini, inclusi riferimenti Ollama comeollama/qwen2.5vl:7bquando un modello corrispondente con supporto per le immagini è configurato inmodels.providers.ollama.models[]. - Se
<capability>.enablednon èfalsema non sono configurati modelli, OpenClaw prova il modello di risposta attivo quando il relativo fornitore supporta la funzionalità.
Rilevamento automatico (impostazione predefinita)
Quandotools.media.<capability>.enabled non è false e non sono configurati modelli, OpenClaw prova le seguenti opzioni nell’ordine indicato e si arresta alla prima funzionante:
1
Modello per immagini configurato (solo immagini)
I riferimenti principali/di fallback di
agents.defaults.imageModel, a meno che il modello di risposta attivo supporti già nativamente la visione. Preferire riferimenti provider/model; i riferimenti senza fornitore vengono qualificati usando le voci configurate dei modelli del fornitore con supporto per le immagini solo quando la corrispondenza è univoca.2
Modello di risposta attivo
Il modello di risposta attivo, quando il relativo fornitore supporta la funzionalità.
3
Autenticazione del fornitore (solo audio, prima delle CLI locali)
Le voci
models.providers.* configurate che supportano l’audio vengono provate prima delle CLI locali. Ordine di priorità dei fornitori inclusi (i casi di pari priorità vengono risolti alfabeticamente in base all’ID del fornitore): Groq/OpenAI → xAI → Deepgram → OpenRouter → Google/SenseAudio → Deepinfra/ElevenLabs → Mistral.4
CLI locali (solo audio)
I binari locali pronti diventano un elenco ordinato di fallback:
whisper-cliper primo solo dopo che una precedente invocazione del modello nel processo corrente ha rilevato Metal o CUDAsherpa-onnx-offlinecon uso predefinito della CPU (richiedeSHERPA_ONNX_MODEL_DIRcontokens.txt/encoder.onnx/decoder.onnx/joiner.onnx)whisper-cliquando l’accelerazione è semplicemente supportata dalla compilazione o non è stata rilevataparakeet-mlxsu Apple Silicon (compatibile con MLX, utilizzo del dispositivo non rilevato)whisper(CLI Python; usa per impostazione predefinita il modelloturbo, scaricato automaticamente)
5
Autenticazione del fornitore (immagini/video)
Le voci
models.providers.* configurate che supportano la funzionalità vengono provate prima dell’ordine di fallback incluso. I fornitori configurati esclusivamente per le immagini che dispongono di un modello con supporto per le immagini vengono registrati automaticamente per la comprensione dei contenuti multimediali, anche quando non sono un Plugin incluso del fornitore.Ordine di priorità dei fornitori inclusi (i casi di pari priorità vengono risolti alfabeticamente in base all’ID del fornitore):- Immagini: Anthropic/OpenAI → Google → MiniMax → Deepinfra → MiniMax Portal → Z.AI
- Video: Google → Qwen → Moonshot
6
CLI Antigravity (solo immagini/video)
Il primo binario
agy o antigravity installato (sostituibile tramite OPENCLAW_ANTIGRAVITY_CLI), isolato nella directory del contenuto multimediale.Il rilevamento dei binari viene eseguito senza garanzie su macOS/Linux/Windows; assicurarsi che la CLI sia disponibile in
PATH (~ viene espanso), oppure impostare una voce di modello CLI esplicita con il percorso completo del comando.Supporto proxy (chiamate dei fornitori per audio/video)
La comprensione di audio e video basata sui fornitori rispetta le variabili d’ambiente proxy standard per le connessioni in uscita, incluse le regole di esclusioneNO_PROXY/no_proxy: HTTPS_PROXY, HTTP_PROXY, ALL_PROXY, https_proxy, http_proxy, all_proxy. Le variabili in minuscolo hanno la precedenza su quelle in maiuscolo. Se non ne è impostata alcuna, la comprensione dei contenuti multimediali usa una connessione diretta; se il valore del proxy non è valido, OpenClaw registra un avviso e usa come fallback il recupero diretto. La comprensione delle immagini non utilizza questo percorso proxy.
Funzionalità
Impostarecapabilities in una voce models[] per limitarla a tipi specifici di contenuti multimediali. Per gli elenchi condivisi, OpenClaw deduce i valori predefiniti per ciascun fornitore incluso:
Per le voci CLI, imposta esplicitamente
capabilities per evitare corrispondenze inattese; se omesso, la voce è idonea per ogni elenco di funzionalità in cui compare.
Matrice di supporto dei provider
Nota su MiniMax: la comprensione delle immagini per
minimax, minimax-cn, minimax-portal e minimax-portal-cn proviene sempre dal provider multimediale MiniMax-VL-01 gestito dal Plugin, anche se i metadati legacy della chat MiniMax M2.x dichiarano il supporto per l’input di immagini.Indicazioni per la selezione dei modelli
- Preferisci il modello di generazione corrente più potente per ogni funzionalità multimediale quando qualità e sicurezza sono importanti.
- Per gli agenti abilitati all’uso di strumenti che gestiscono input non attendibili, evita i modelli multimediali più vecchi o meno potenti.
- Mantieni almeno un modello di riserva per ogni funzionalità per garantirne la disponibilità (un modello di qualità + un modello più veloce/economico).
- Le alternative CLI (
whisper-cli,whisper,gemini) sono utili quando le API dei provider non sono disponibili. - Le modalità note di output su file sono autorevoli: un file di trascrizione dedotto vuoto o mancante non produce alcuna trascrizione, anziché ricorrere all’output di avanzamento della CLI.
parakeet-mlx: usa--output-format txt(oall) con--output-dire il modello di output predefinito{filename}. Sono supportate anche le variabili d’ambiente upstreamPARAKEET_OUTPUT_FORMATePARAKEET_OUTPUT_TEMPLATE. OpenClaw legge<output-dir>/<media-basename>.txt; il formato predefinitosrt, gli altri formati e i modelli di output personalizzati continuano a usare lo standard output.
Criteri per gli allegati
La proprietàattachments specifica per funzionalità controlla quali allegati vengono elaborati:
"first" | "all"
predefinito:"first"
Elabora solo il primo allegato selezionato oppure tutti gli allegati.
number
predefinito:"1"
Limita il numero di allegati elaborati.
"first" | "last" | "path" | "url"
Preferenza di selezione tra gli allegati candidati.
mode: "all", gli output sono contrassegnati con [Immagine 1/2], [Audio 2/2] e così via.
Estrazione dagli allegati
- Il testo estratto dai file viene racchiuso come contenuto esterno non attendibile prima di essere aggiunto al prompt multimediale, usando delimitatori come
<<<EXTERNAL_UNTRUSTED_CONTENT id="...">>>/<<<END_EXTERNAL_UNTRUSTED_CONTENT id="...">>>e una riga di metadatiSource: External. - Questo percorso omette intenzionalmente il lungo banner
SECURITY NOTICE:per mantenere breve il prompt multimediale; i delimitatori e i metadati vengono comunque applicati. - Un file privo di testo estraibile riceve
[Nessun testo estraibile]. - Se per un PDF si ricorre alle immagini renderizzate delle pagine, OpenClaw inoltra tali immagini ai modelli di risposta dotati di capacità visive e mantiene il segnaposto
[Contenuto PDF renderizzato come immagini]nel blocco del file.
Esempi di configurazione
- Audio + video only
- Image only
- Multi-modal single entry
Output dello stato
Quando viene eseguita la comprensione dei contenuti multimediali,/status include una riga di riepilogo per ogni funzionalità:
openclaw capability audio providers. Le righe locali mostrano il risultato locale di riserva separatamente dalla selezione globale del provider, dallo stato di disponibilità e dai campi distinti relativi ai backend compatibili, richiesti e osservati. La stessa selezione locale è disponibile come segnalazione informativa di doctor:
Note
- La comprensione viene eseguita in modalità best effort. Gli errori non bloccano le risposte.
- Gli allegati vengono comunque passati ai modelli anche quando la comprensione è disabilitata.
- Usa
scopeper limitare i contesti in cui viene eseguita la comprensione (ad esempio, solo nei messaggi diretti).