tools.media, l’ordre de repli et l’intégration au pipeline de réponse.
Fonctionnement
1
Collecter les pièces jointes
Collectez les pièces jointes entrantes (
MediaPaths, MediaUrls, MediaTypes).2
Sélectionner par capacité
Pour chaque capacité activée (image/audio/vidéo), sélectionnez les pièces jointes conformément à la stratégie
attachments (par défaut : uniquement la première pièce jointe).3
Choisir un modèle
Choisissez la première entrée de modèle admissible (taille, capacité et authentification disponible).
4
Se replier en cas d’échec
Si un modèle renvoie une erreur, expire ou si le média dépasse
maxBytes, essayez l’entrée suivante.5
Appliquer en cas de réussite
Body devient un bloc [Image], [Audio] ou [Video]. L’audio définit également {{Transcript}} ; l’analyse des commandes utilise le texte de la légende lorsqu’il est présent, sinon la transcription. Les légendes sont conservées sous la forme User text: dans le bloc.Configuration
tools.media contient une liste de modèles partagée ainsi que des remplacements propres à chaque capacité :
image/audio/video) :
Les options propres à Deepgram se placent sous
providerOptions.deepgram (le champ de premier niveau deepgram: { detectLanguage, punctuate, smartFormat } est obsolète, mais reste pris en charge en lecture).
Entrées de modèle
Chaque entréemodels[] est une entrée de fournisseur (par défaut) ou une entrée de CLI :
- Entrée de fournisseur
- Entrée de CLI
Identifiants des fournisseurs
La compréhension des médias par les fournisseurs utilise la même résolution d’authentification que les appels de modèle ordinaires : profils d’authentification, variables d’environnement, puismodels.providers.<providerId>.apiKey. Les entrées tools.media.*.models[] n’acceptent pas de champ apiKey intégré.
Règles et comportement
- Un média dépassant
maxBytesest ignoré pour ce modèle, puis le modèle suivant est essayé. - Les fichiers audio de moins de 1 024 octets sont considérés comme vides ou corrompus et ignorés avant la transcription ; l’agent reçoit à la place une transcription substitutive déterministe.
- Si le modèle d’image principal actif prend déjà en charge la vision nativement, OpenClaw omet le bloc récapitulatif
[Image]et transmet directement l’image d’origine au modèle. MiniMax constitue une exception :minimax,minimax-cn,minimax-portaletminimax-portal-cnacheminent toujours la compréhension des images via le fournisseur de médiasMiniMax-VL-01géré par le Plugin, même si les anciennes métadonnées de discussion MiniMax M2.x déclarent accepter les images en entrée (seulsMiniMax-M3et les modèles ultérieurs sont considérés comme prenant en charge la vision nativement). - Si le modèle principal du Gateway/WebChat n’accepte que le texte, les pièces jointes d’image sont conservées sous forme de références externalisées
media://inbound/*, afin que les outils d’image/PDF ou un modèle d’image configuré puissent toujours les examiner au lieu de perdre la pièce jointe. - La commande explicite
openclaw infer image describe --file <path> --model <provider/model>(alias :openclaw capability image describe) exécute directement ce fournisseur/modèle prenant en charge les images, y compris les références Ollama telles queollama/qwen2.5vl:7blorsqu’un modèle correspondant prenant en charge les images est configuré sousmodels.providers.ollama.models[]. - Si
<capability>.enabledn’est pas défini surfalse, mais qu’aucun modèle n’est configuré, OpenClaw essaie le modèle de réponse actif lorsque son fournisseur prend en charge la capacité.
Détection automatique (par défaut)
Lorsquetools.media.<capability>.enabled n’est pas défini sur false et qu’aucun modèle n’est configuré, OpenClaw essaie les options suivantes dans l’ordre et s’arrête à la première qui fonctionne :
1
Modèle d’image configuré (image uniquement)
Références principales/de repli de
agents.defaults.imageModel, sauf si le modèle de réponse actif prend déjà en charge la vision nativement. Privilégiez les références provider/model ; les références sans préfixe ne sont qualifiées à partir des entrées de modèles de fournisseur prenant en charge les images que si la correspondance est unique.2
Modèle de réponse actif
Le modèle de réponse actif, lorsque son fournisseur prend en charge la capacité.
3
Authentification du fournisseur (audio uniquement, avant les CLI locales)
Les entrées
models.providers.* configurées qui prennent en charge l’audio sont essayées avant les CLI locales. Ordre de priorité des fournisseurs intégrés (les égalités sont départagées par ordre alphabétique de l’identifiant du fournisseur) : Groq/OpenAI → xAI → Deepgram → OpenRouter → Google/SenseAudio → Deepinfra/ElevenLabs → Mistral.4
CLI locales (audio uniquement)
Les binaires locaux prêts à l’emploi constituent une liste de repli ordonnée :
whisper-clien premier uniquement après qu’un appel de modèle antérieur dans le processus actuel a détecté Metal ou CUDAsherpa-onnx-offlineutilisant le processeur par défaut (nécessiteSHERPA_ONNX_MODEL_DIRavectokens.txt/encoder.onnx/decoder.onnx/joiner.onnx)whisper-clilorsque l’accélération est seulement prise en charge par la compilation ou n’a pas été observéeparakeet-mlxsur Apple Silicon (compatible MLX, utilisation du périphérique non observée)whisper(CLI Python ; utilise par défaut le modèleturbo, téléchargé automatiquement)
5
Authentification du fournisseur (image/vidéo)
Les entrées
models.providers.* configurées qui prennent en charge la capacité sont essayées avant l’ordre de repli intégré. Les fournisseurs configurés uniquement pour les images et disposant d’un modèle prenant en charge les images sont automatiquement enregistrés pour la compréhension des médias, même s’ils ne sont pas un Plugin de fournisseur intégré.Ordre de priorité des fournisseurs intégrés (les égalités sont départagées par ordre alphabétique de l’identifiant du fournisseur) :- Image : Anthropic/OpenAI → Google → MiniMax → Deepinfra → MiniMax Portal → Z.AI
- Vidéo : Google → Qwen → Moonshot
6
CLI Antigravity (image/vidéo uniquement)
Premier binaire
agy ou antigravity installé (remplacement possible avec OPENCLAW_ANTIGRAVITY_CLI), isolé dans le répertoire du média.La détection des binaires s’effectue au mieux sous macOS/Linux/Windows ; vérifiez que la CLI figure dans
PATH (~ est développé) ou définissez une entrée de modèle de CLI explicite avec le chemin complet de la commande.Prise en charge des proxys (appels de fournisseur audio/vidéo)
La compréhension audio et vidéo assurée par un fournisseur respecte les variables d’environnement standard de proxy sortant, y compris les règles d’exclusionNO_PROXY/no_proxy : HTTPS_PROXY, HTTP_PROXY, ALL_PROXY, https_proxy, http_proxy, all_proxy. Les variables en minuscules ont priorité sur celles en majuscules. Si aucune n’est définie, la compréhension des médias utilise une sortie directe ; si la valeur du proxy est incorrecte, OpenClaw consigne un avertissement et revient à une récupération directe. La compréhension des images ne passe pas par ce chemin de proxy.
Capacités
Définissezcapabilities sur une entrée models[] pour la limiter à des types de médias précis. Pour les listes partagées, OpenClaw déduit les valeurs par défaut pour chaque fournisseur intégré :
Pour les entrées de CLI, définissez explicitement
capabilities afin d’éviter les correspondances inattendues ; si cette propriété est omise, l’entrée est admissible pour chaque liste de capacités dans laquelle elle apparaît.
Matrice de prise en charge des fournisseurs
Remarque concernant MiniMax : la compréhension des images pour
minimax, minimax-cn, minimax-portal et minimax-portal-cn provient toujours du fournisseur multimédia MiniMax-VL-01 appartenant au Plugin, même si les anciennes métadonnées de conversation de MiniMax M2.x déclarent accepter des images en entrée.Conseils pour la sélection des modèles
- Privilégiez le modèle de génération actuelle le plus performant pour chaque capacité multimédia lorsque la qualité et la sécurité sont importantes.
- Pour les agents utilisant des outils et traitant des entrées non fiables, évitez les modèles multimédias anciens ou moins performants.
- Conservez au moins un modèle de repli par capacité pour garantir la disponibilité (un modèle de qualité et un modèle plus rapide ou moins coûteux).
- Les solutions de repli de la CLI (
whisper-cli,whisper,gemini) sont utiles lorsque les API des fournisseurs sont indisponibles. - Les modes connus de sortie vers un fichier font autorité : un fichier de transcription déduit vide ou absent ne produit aucune transcription au lieu de se rabattre sur la sortie de progression de la CLI.
parakeet-mlx: utilisez--output-format txt(ouall) avec--output-diret le modèle de sortie par défaut{filename}. Les variables d’environnement amontPARAKEET_OUTPUT_FORMATetPARAKEET_OUTPUT_TEMPLATEsont également prises en compte. OpenClaw lit<output-dir>/<media-basename>.txt; le formatsrtpar défaut, les autres formats et les modèles de sortie personnalisés continuent d’utiliser la sortie standard.
Politique relative aux pièces jointes
La propriétéattachments de chaque capacité détermine les pièces jointes traitées :
"first" | "all"
défaut:"first"
Traite uniquement la première pièce jointe sélectionnée, ou toutes les pièces jointes.
number
défaut:"1"
Limite le nombre de pièces jointes traitées.
"first" | "last" | "path" | "url"
Définit la préférence de sélection parmi les pièces jointes candidates.
mode: "all", les sorties portent des libellés tels que [Image 1/2], [Audio 2/2], etc.
Extraction des pièces jointes de type fichier
- Le texte extrait d’un fichier est encapsulé comme contenu externe non fiable avant d’être ajouté à l’invite multimédia, à l’aide de marqueurs de délimitation tels que
<<<EXTERNAL_UNTRUSTED_CONTENT id="...">>>/<<<END_EXTERNAL_UNTRUSTED_CONTENT id="...">>>et d’une ligne de métadonnéesSource: External. - Ce chemin omet volontairement la longue bannière
SECURITY NOTICE:afin de garder l’invite multimédia concise ; les marqueurs de délimitation et les métadonnées restent appliqués. - Un fichier ne comportant aucun texte extractible reçoit
[No extractable text]. - Si un PDF se rabat sur des images de pages rendues, OpenClaw transmet ces images aux modèles de réponse compatibles avec la vision et conserve l’espace réservé
[PDF content rendered to images]dans le bloc du fichier.
Exemples de configuration
- Audio + video only
- Image only
- Multi-modal single entry
Sortie d’état
Lorsque la compréhension multimédia s’exécute,/status inclut une ligne récapitulative par capacité :
openclaw capability audio providers. Les lignes locales affichent séparément la solution de repli locale retenue, la sélection globale du fournisseur, l’état de disponibilité ainsi que les champs distincts du moteur compatible, demandé et observé. La même sélection locale est disponible sous forme de constat informatif de doctor :
Remarques
- La compréhension est fournie au mieux. Les erreurs ne bloquent pas les réponses.
- Les pièces jointes sont tout de même transmises aux modèles lorsque la compréhension est désactivée.
- Utilisez
scopepour limiter les emplacements où la compréhension s’exécute (par exemple, uniquement dans les messages privés).