Audio / Notes vocales — 2026-01-17
Ce qui fonctionne
- Compréhension des medias (audio) : Si la compréhension audio est activée (ou auto‑détectée), OpenClaw :
- Localise la premiere piece jointe audio (chemin local ou URL) et la telecharge si necessaire.
- Applique
maxBytesavant l’envoi a chaque entree de modele. - Execute la premiere entree de modele eligible dans l’ordre (fournisseur ou CLI).
- S’il échoue ou saute (taille/timeout), il essaye l’entrée suivante.
- En cas de succes, remplace
Bodypar un bloc[Audio]et definit{{Transcript}}.
- Analyse des commandes : Lorsque la transcription reussit,
CommandBody/RawBodysont definis sur la transcription afin que les commandes slash continuent de fonctionner. - Journalisation verbeuse : Dans
--verbose, nous journalisons quand la transcription s’execute et quand elle remplace le corps.
Auto‑detection (par defaut)
Si vous ne configurez pas de modeles et quetools.media.audio.enabled n’est pas defini sur false,
OpenClaw auto‑detecte dans l’ordre suivant et s’arrete a la premiere option fonctionnelle :
- CLIs locales (si installees)
sherpa-onnx-offline(necessiteSHERPA_ONNX_MODEL_DIRavec encodeur/decodeur/assembleur/tokens)whisper-cli(depuiswhisper-cpp; utiliseWHISPER_CPP_MODELou le modele tiny integre)whisper(CLI Python ; telecharge automatiquement les modeles)
- Gemini CLI (
gemini) utilisantread_many_files - Cles de fournisseur (OpenAI → Groq → Deepgram → Google)
tools.media.audio.enabled: false.
Pour personnaliser, definissez tools.media.audio.models.
Remarque : La detection des binaires est au mieux de ses capacites sur macOS/Linux/Windows ; assurez‑vous que la CLI est sur PATH (nous developpons ~), ou definissez un modele CLI explicite avec un chemin de commande complet.
Exemples de configuration
Fournisseur + secours CLI (OpenAI + Whisper CLI)
Fournisseur seulement avec la portée de la portée
Fournisseur uniquement (Deepgram)
Notes et limites
- L’authentification des fournisseurs suit l’ordre standard d’authentification des modeles (profils d’authentification, variables d’environnement,
models.providers.*.apiKey). - Deepgram recupere
DEEPGRAM_API_KEYlorsqueprovider: "deepgram"est utilise. - Details de configuration Deepgram : Deepgram (transcription audio).
- Les fournisseurs audio peuvent surcharger
baseUrl,headersetproviderOptionsviatools.media.audio. - La limite de taille par defaut est de 20 Mo (
tools.media.audio.maxBytes). Les audios depassant cette taille sont ignores pour ce modele et l’entree suivante est essayee. - La valeur
maxCharspar defaut pour l’audio est non definie (transcription complete). Definisseztools.media.audio.maxCharsoumaxCharspar entree pour reduire la sortie. - La valeur par defaut automatique d’OpenAI est
gpt-4o-mini-transcribe; definissezmodel: "gpt-4o-transcribe"pour une meilleure precision. - Utilisez
tools.media.audio.attachmentspour traiter plusieurs notes vocales (mode: "all"+maxAttachments). - La transcription est disponible pour les modeles de templates sous
{{Transcript}}. - La sortie stdout de la CLI est plafonnee (5 Mo) ; gardez la sortie de la CLI concise.
Détection de mention dans les groupes
LorsquerequireMention: true est défini pour un chat de groupe, OpenClaw transcrit désormais l’audio avant de vérifier les mentions. Cela permet de traiter les messages vocaux même lorsqu’ils contiennent des mentions.
Comment cela fonctionne :
- Si un message vocal n’a pas de corps de texte et que le groupe exige des mentions, OpenClaw effectue une transcription « preflight ».
- La transcription est analysée pour détecter des motifs de mention (par ex.,
@BotName, déclencheurs emoji). - Si une mention est trouvée, le message passe par le pipeline complet de réponse.
- La transcription est utilisée pour la détection des mentions afin que les messages vocaux puissent franchir le filtre de mention.
- Si la transcription échoue pendant le preflight (délai dépassé, erreur API, etc.), le message est traité sur la base de la détection de mention textuelle uniquement.
- Cela garantit que les messages mixtes (texte + audio) ne sont jamais ignorés par erreur.
requireMention: true. Le message vocal est transcrit, la mention est détectée et l’agent répond.
Gotchas
- Les regles de portee utilisent le principe du premier correspondant gagnant.
chatTypeest normalise endirect,groupouroom. - Assurez‑vous que votre CLI se termine avec le code 0 et affiche du texte brut ; le JSON doit etre adapte via
jq -r .text. - Gardez des delais d’attente raisonnables (
timeoutSeconds, par defaut 60 s) afin d’eviter de bloquer la file de reponses. - La transcription preflight ne traite que la première pièce jointe audio pour la détection des mentions. Les audios supplémentaires sont traités lors de la phase principale de compréhension des médias.