Audio / Sprachnachrichten — 2026-01-17
Was funktioniert
- Medienverständnis (Audio): Wenn Audioverständnis aktiviert ist (oder automatisch erkannt wird), führt OpenClaw Folgendes aus:
- Sucht den ersten Audio‑Anhang (lokaler Pfad oder URL) und lädt ihn bei Bedarf herunter.
- Erzwingt
maxBytesvor dem Senden an jeden Modelleinsatz. - Führt den ersten geeigneten Modelleinsatz der Reihe nach aus (Anbieter oder CLI).
- Bei Fehlschlag oder Überspringen (Größe/Timeout) wird der nächste Eintrag versucht.
- Bei Erfolg wird
Bodydurch einen[Audio]‑Block ersetzt und{{Transcript}}gesetzt.
- Befehlsparsing: Wenn die Transkription erfolgreich ist, werden
CommandBody/RawBodyauf das Transkript gesetzt, sodass Slash‑Befehle weiterhin funktionieren. - Ausführliches Logging: In
--verboseprotokollieren wir, wann die Transkription ausgeführt wird und wann sie den Text ersetzt.
Automatische Erkennung (Standard)
Wenn Sie keine Modelle konfigurieren undtools.media.audio.enabled nicht auf false gesetzt ist,
erkennt OpenClaw automatisch in dieser Reihenfolge und stoppt bei der ersten funktionierenden Option:
- Lokale CLIs (falls installiert)
sherpa-onnx-offline(erfordertSHERPA_ONNX_MODEL_DIRmit Encoder/Decoder/Joiner/Tokens)whisper-cli(auswhisper-cpp; verwendetWHISPER_CPP_MODELoder das gebündelte Tiny‑Modell)whisper(Python‑CLI; lädt Modelle automatisch herunter)
- Gemini‑CLI (
gemini) unter Verwendung vonread_many_files - Anbieter‑Schlüssel (OpenAI → Groq → Deepgram → Google)
tools.media.audio.enabled: false.
Zur Anpassung setzen Sie tools.media.audio.models.
Hinweis: Die Erkennung von Binärdateien ist bestmöglich über macOS/Linux/Windows hinweg; stellen Sie sicher, dass die CLI auf PATH liegt (wir erweitern ~), oder setzen Sie ein explizites CLI‑Modell mit vollständigem Befehlspfad.
Konfigurationsbeispiele
Anbieter + CLI‑Fallback (OpenAI + Whisper‑CLI)
Nur Anbieter mit Scope‑Gating
Nur Anbieter (Deepgram)
Hinweise & Limits
- Die Anbieter‑Authentifizierung folgt der Standardreihenfolge der Modell‑Authentifizierung (Auth‑Profile, Umgebungsvariablen,
models.providers.*.apiKey). - Deepgram übernimmt
DEEPGRAM_API_KEY, wennprovider: "deepgram"verwendet wird. - Details zur Deepgram‑Einrichtung: Deepgram (Audiotranskription).
- Audioanbieter können
baseUrl,headersundproviderOptionsübertools.media.audioüberschreiben. - Das Standard‑Größenlimit beträgt 20 MB (
tools.media.audio.maxBytes). Übergroße Audiodateien werden für dieses Modell übersprungen und der nächste Eintrag wird versucht. - Der Standardwert für
maxCharsbei Audio ist nicht gesetzt (vollständiges Transkript). Setzen Sietools.media.audio.maxCharsoder pro EintragmaxChars, um die Ausgabe zu kürzen. - Der OpenAI‑Standard ist automatisch
gpt-4o-mini-transcribe; setzen Siemodel: "gpt-4o-transcribe"für höhere Genauigkeit. - Verwenden Sie
tools.media.audio.attachments, um mehrere Sprachnachrichten zu verarbeiten (mode: "all"+maxAttachments). - Das Transkript steht Templates als
{{Transcript}}zur Verfügung. - CLI‑stdout ist begrenzt (5 MB); halten Sie die CLI‑Ausgabe knapp.
Erwähnungserkennung in Gruppen
WennrequireMention: true für einen Gruppenchat gesetzt ist, transkribiert OpenClaw nun Audio vor der Überprüfung auf Erwähnungen. Dadurch können Sprachnachrichten verarbeitet werden, auch wenn sie Erwähnungen enthalten.
So funktioniert es:
- Wenn eine Sprachnachricht keinen Textinhalt hat und die Gruppe Erwähnungen erfordert, führt OpenClaw eine „Preflight“-Transkription durch.
- Das Transkript wird auf Erwähnungsmuster geprüft (z. B.
@BotName, Emoji-Trigger). - Wird eine Erwähnung gefunden, durchläuft die Nachricht die vollständige Antwort-Pipeline.
- Das Transkript wird für die Erwähnungserkennung verwendet, sodass Sprachnachrichten die Erwähnungsprüfung bestehen können.
- Wenn die Transkription während des Preflight-Vorgangs fehlschlägt (Timeout, API-Fehler usw.), wird die Nachricht basierend auf einer reinen Text-Erwähnungserkennung verarbeitet.
- Dadurch wird sichergestellt, dass gemischte Nachrichten (Text + Audio) niemals fälschlicherweise verworfen werden.
requireMention: true eine Sprachnachricht mit dem Inhalt „Hey @Claude, wie ist das Wetter?“. Die Sprachnachricht wird transkribiert, die Erwähnung wird erkannt, und der Agent antwortet.
Gotchas
- Scope‑Regeln verwenden „First‑Match‑Wins“.
chatTypewird zudirect,groupoderroomnormalisiert. - Stellen Sie sicher, dass Ihre CLI mit Exit‑Code 0 beendet wird und reinen Text ausgibt; JSON muss über
jq -r .textaufbereitet werden. - Halten Sie Timeouts angemessen (
timeoutSeconds, Standard 60 s), um das Blockieren der Antwort‑Warteschlange zu vermeiden. - Die Preflight-Transkription verarbeitet nur den ersten Audio-Anhang für die Erwähnungserkennung. Zusätzliche Audiodateien werden während der Hauptphase der Medienverarbeitung verarbeitet.