Lyd / Voicenotes — 2026-01-17¶
Hvad virker¶
- Medieforståelse (lyd): Hvis lydforståelse er aktiveret (eller auto‑detekteret), gør OpenClaw:
1. Finder den første lydvedhæftning (lokal sti eller URL) og downloader den om nødvendigt.
2. Håndhæver
maxBytesfør afsendelse til hver modelpost. 3. Kører den første egnede modelpost i rækkefølge (udbyder eller CLI). 4. Hvis den fejler eller springes over (størrelse/timeout), prøver den næste post. 5. Ved succes erstatter denBodymed en[Audio]‑blok og sætter{{Transcript}}. - Kommandofortolkning: Når transskription lykkes, sættes
CommandBody/RawBodytil transskriptionen, så slash‑kommandoer stadig virker. - Udførlig logning: I
--verboselogger vi, når transskription kører, og når den erstatter brødteksten.
Auto‑detektion (standard)¶
Hvis du ikke konfigurerer modeller, og tools.media.audio.enabled ikke er sat til false,
auto‑detekterer OpenClaw i denne rækkefølge og stopper ved den første fungerende mulighed:
- Lokale CLI’er (hvis installeret)
-
sherpa-onnx-offline(kræverSHERPA_ONNX_MODEL_DIRmed encoder/decoder/joiner/tokens) -whisper-cli(frawhisper-cpp; brugerWHISPER_CPP_MODELeller den medfølgende tiny‑model) -whisper(Python CLI; downloader modeller automatisk) - Gemini CLI (
gemini) medread_many_files - Udbydernøgler (OpenAI → Groq → Deepgram → Google)
For at deaktivere auto-detektion, angiv tools.media.audio.enabled: false.
For at tilpasse, angiv tools.media.audio.models.
Bemærk: Binær registrering er best-effort på tværs af macOS/Linux/Windows; sørg for, at CLI’en er på PATH (vi udvider ~), eller angiv en eksplicit CLI-model med fuld kommandosti.
Konfigurationseksempler¶
Udbyder + CLI‑fallback (OpenAI + Whisper CLI)¶
{
tools: {
media: {
audio: {
enabled: true,
maxBytes: 20971520,
models: [
{ provider: "openai", model: "gpt-4o-mini-transcribe" },
{
type: "cli",
command: "whisper",
args: ["--model", "base", "{{MediaPath}}"],
timeoutSeconds: 45,
},
],
},
},
},
}
Kun udbyder med scope‑afgrænsning¶
{
tools: {
media: {
audio: {
enabled: true,
scope: {
default: "allow",
rules: [{ action: "deny", match: { chatType: "group" } }],
},
models: [{ provider: "openai", model: "gpt-4o-mini-transcribe" }],
},
},
},
}
Kun udbyder (Deepgram)¶
{
tools: {
media: {
audio: {
enabled: true,
models: [{ provider: "deepgram", model: "nova-3" }],
},
},
},
}
Noter & begrænsninger¶
- Udbyder‑autentificering følger den standardiserede rækkefølge for model‑autentificering (auth‑profiler, miljøvariabler,
models.providers.*.apiKey). - Deepgram opfanger
DEEPGRAM_API_KEY, nårprovider: "deepgram"bruges. - Deepgram‑opsætningsdetaljer: Deepgram (lydtransskription).
- Lydudbydere kan tilsidesætte
baseUrl,headersogproviderOptionsviatools.media.audio. - Standard størrelse cap er 20MB (
tools.media.audio.maxBytes). Oversize lyd er sprunget over for denne model og den næste post er prøvet. - Standard
maxCharsfor lyd er unset (full transcript). Indstiltools.media.audio.maxCharseller per-entrymaxCharsfor at trimme output. - OpenAI’s auto‑standard er
gpt-4o-mini-transcribe; sætmodel: "gpt-4o-transcribe"for højere nøjagtighed. - Brug
tools.media.audio.attachmentstil at behandle flere voicenotes (mode: "all"+maxAttachments). - Transskriptionen er tilgængelig for skabeloner som
{{Transcript}}. - CLI‑stdout er begrænset (5MB); hold CLI‑output kortfattet.
Faldgruber¶
- Anvendelsesregler bruger førsteklasses gevinster.
chatTypeer normaliseret tildirect,group, ellerroom. - Sørg for, at din CLI afslutter med status 0 og udskriver ren tekst; JSON skal tilpasses via
jq -r .text. - Hold timeouts rimelige (
timeoutSeconds, standard 60s) for at undgå at blokere svarkøen.