Audio / Sprachnotizen (2026-01-17)
Was funktioniert
- Medienverständnis (Audio): Wenn Audioverständnis aktiviert ist (oder automatisch erkannt wird), führt OpenClaw Folgendes aus:
- Es findet den ersten Audioanhang (lokaler Pfad oder URL) und lädt ihn bei Bedarf herunter.
- Es erzwingt
maxBytes, bevor an jeden Modelleintrag gesendet wird. - Es führt den ersten geeigneten Modelleintrag der Reihe nach aus (Provider oder CLI).
- Wenn dieser fehlschlägt oder übersprungen wird (Größe/Timeout), wird der nächste Eintrag versucht.
- Bei Erfolg ersetzt es
Bodydurch einen[Audio]-Block und setzt{{Transcript}}.
- Befehlsparsing: Wenn die Transkription erfolgreich ist, werden
CommandBody/RawBodyauf das Transkript gesetzt, sodass Slash-Befehle weiterhin funktionieren. - Ausführliches Logging: Mit
--verboseprotokollieren wir, wann die Transkription ausgeführt wird und wann sie den Body 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:
- Aktives Antwortmodell, wenn sein Provider Audioverständnis unterstützt.
- 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) mitread_many_files - Provider-Authentifizierung
- Konfigurierte
models.providers.*-Einträge, die Audio unterstützen, werden zuerst versucht - Gebündelte Fallback-Reihenfolge: OpenAI → Groq → Deepgram → Google → Mistral
- Konfigurierte
tools.media.audio.enabled: false.
Zum Anpassen setzen Sie tools.media.audio.models.
Hinweis: Die Binärerkennung erfolgt nach Best Effort unter macOS/Linux/Windows; stellen Sie sicher, dass sich die CLI auf PATH befindet (wir erweitern ~), oder setzen Sie ein explizites CLI-Modell mit vollständigem Befehlspfad.
Konfigurationsbeispiele
Provider- + CLI-Fallback (OpenAI + Whisper CLI)
Nur Provider mit Bereichs-Gating
Nur Provider (Deepgram)
Nur Provider (Mistral Voxtral)
Transkript im Chat zurückgeben (Opt-in)
Hinweise und Einschränkungen
- Die Provider-Authentifizierung folgt der Standardreihenfolge für Modell-Authentifizierung (Auth-Profile, Umgebungsvariablen,
models.providers.*.apiKey). - Details zur Groq-Einrichtung: Groq.
- Deepgram übernimmt
DEEPGRAM_API_KEY, wennprovider: "deepgram"verwendet wird. - Details zur Deepgram-Einrichtung: Deepgram (Audiotranskription).
- Details zur Mistral-Einrichtung: Mistral.
- Audio-Provider können
baseUrl,headersundproviderOptionsübertools.media.audioüberschreiben. - Die Standardgrößenbegrenzung beträgt 20 MB (
tools.media.audio.maxBytes). Zu große Audiodateien werden für dieses Modell übersprungen, und der nächste Eintrag wird versucht. - Sehr kleine/leere Audiodateien unter 1024 Byte werden vor der Transkription durch Provider/CLI übersprungen.
- Das Standard-
maxCharsfür Audio ist nicht gesetzt (volles Transkript). Setzen Sietools.media.audio.maxCharsodermaxCharspro Eintrag, um die Ausgabe zu kürzen. - Der automatische OpenAI-Standard ist
gpt-4o-mini-transcribe; setzen Siemodel: "gpt-4o-transcribe"für höhere Genauigkeit. - Verwenden Sie
tools.media.audio.attachments, um mehrere Sprachnotizen zu verarbeiten (mode: "all"+maxAttachments). - Das Transkript ist in Templates als
{{Transcript}}verfügbar. tools.media.audio.echoTranscriptist standardmäßig deaktiviert; aktivieren Sie es, um vor der Agentenverarbeitung eine Transkriptbestätigung an den ursprünglichen Chat zurückzusenden.tools.media.audio.echoFormatpasst den Echo-Text an (Platzhalter:{transcript}).- CLI-stdout ist begrenzt (5 MB); halten Sie die CLI-Ausgabe knapp.
Unterstützung für Proxy-Umgebungsvariablen
Providerbasierte Audiotranskription berücksichtigt die Standard-Proxy-Umgebungsvariablen für ausgehende Verbindungen:HTTPS_PROXYHTTP_PROXYhttps_proxyhttp_proxy
Erwähnungserkennung in Gruppen
WennrequireMention: true für einen Gruppenchat gesetzt ist, transkribiert OpenClaw Audio jetzt vor der Prüfung auf Erwähnungen. Dadurch können Sprachnotizen verarbeitet werden, auch wenn sie Erwähnungen enthalten.
So funktioniert es:
- Wenn eine Sprachnachricht keinen Textkörper hat und die Gruppe Erwähnungen erfordert, führt OpenClaw eine „Preflight“-Transkription aus.
- Das Transkript wird auf Erwähnungsmuster geprüft (z. B.
@BotName, Emoji-Trigger). - Wenn eine Erwähnung gefunden wird, läuft die Nachricht durch die vollständige Antwort-Pipeline.
- Das Transkript wird für die Erwähnungserkennung verwendet, sodass Sprachnotizen das Mention-Gate passieren können.
- Wenn die Transkription während des Preflight fehlschlägt (Timeout, API-Fehler usw.), wird die Nachricht anhand der reinen Texterkennung für Erwähnungen verarbeitet.
- Dadurch wird sichergestellt, dass gemischte Nachrichten (Text + Audio) niemals fälschlicherweise verworfen werden.
- Setzen Sie
channels.telegram.groups.<chatId>.disableAudioPreflight: true, um Erwähnungsprüfungen per Preflight-Transkript für diese Gruppe zu überspringen. - Setzen Sie
channels.telegram.groups.<chatId>.topics.<threadId>.disableAudioPreflight, um pro Thema zu überschreiben (truezum Überspringen,falsezum erzwungenen Aktivieren). - Der Standard ist
false(Preflight aktiviert, wenn mention-gesteuerte Bedingungen zutreffen).
requireMention: true eine Sprachnotiz mit dem Inhalt „Hey @Claude, wie ist das Wetter?“. Die Sprachnotiz wird transkribiert, die Erwähnung erkannt und der Agent antwortet.
Fallstricke
- Bereichsregeln verwenden „first match wins“.
chatTypewird aufdirect,groupoderroomnormalisiert. - Stellen Sie sicher, dass Ihre CLI mit Exit-Code 0 endet und Klartext ausgibt; JSON muss über
jq -r .textangepasst werden. - Bei
parakeet-mlxliest OpenClaw, wenn Sie--output-dirübergeben,<output-dir>/<media-basename>.txt, wenn--output-formattxtist (oder weggelassen wird); Ausgabeformate ungleichtxtgreifen auf stdout-Parsing zurück. - Halten Sie Timeouts angemessen (
timeoutSeconds, Standard 60 s), um das Blockieren der Antwortwarteschlange zu vermeiden. - Die Preflight-Transkription verarbeitet für die Erwähnungserkennung nur den ersten Audioanhang. Zusätzliche Audiodateien werden während der Hauptphase des Medienverständnisses verarbeitet.