Ses / Sesli Notlar (2026-01-17)
Çalışanlar
- Medya anlama (ses): Ses anlama etkinse (veya otomatik algılanıyorsa), OpenClaw:
- İlk ses ekini bulur (yerel yol veya URL) ve gerekirse indirir.
- Her model girdisine göndermeden önce
maxBytessınırını uygular. - Sırayla ilk uygun model girdisini çalıştırır (sağlayıcı veya CLI).
- Başarısız olursa veya atlanırsa (boyut/zaman aşımı), bir sonraki girdiyi dener.
- Başarılı olursa
Bodydeğerini bir[Audio]bloğuyla değiştirir ve{{Transcript}}ayarlar.
- Komut ayrıştırma: Döküm başarılı olduğunda, slash komutlarının çalışmaya devam etmesi için
CommandBody/RawBodydöküm metnine ayarlanır. - Ayrıntılı günlükleme:
--verbosemodunda döküm çalıştığında ve gövdeyi değiştirdiğinde günlük yazarız.
Otomatik algılama (varsayılan)
Model yapılandırmazsanız vetools.media.audio.enabled değeri false olarak ayarlanmamışsa,
OpenClaw şu sırayla otomatik algılama yapar ve çalışan ilk seçenekte durur:
- Sağlayıcısı ses anlamayı destekliyorsa etkin yanıt modeli.
- Yerel CLI’lar (kuruluysa)
sherpa-onnx-offline(SHERPA_ONNX_MODEL_DIRiçinde encoder/decoder/joiner/tokens gerektirir)whisper-cli(whisper-cppiçinden;WHISPER_CPP_MODELveya paketlenmiş tiny modeli kullanır)whisper(Python CLI; modelleri otomatik indirir)
read_many_fileskullanan Gemini CLI (gemini)- Sağlayıcı auth
- Sesi destekleyen yapılandırılmış
models.providers.*girdileri önce denenir - Paketlenmiş fallback sırası: OpenAI → Groq → Deepgram → Google → Mistral
- Sesi destekleyen yapılandırılmış
tools.media.audio.enabled: false ayarlayın.
Özelleştirmek için tools.media.audio.models ayarlayın.
Not: İkili algılama macOS/Linux/Windows genelinde best-effort şeklindedir; CLI’nin PATH içinde olduğundan emin olun (~ genişletilir) veya tam komut yoluna sahip açık bir CLI modeli ayarlayın.
Yapılandırma örnekleri
Sağlayıcı + CLI fallback (OpenAI + Whisper CLI)
Kapsam geçitlemeli yalnızca sağlayıcı
Yalnızca sağlayıcı (Deepgram)
Yalnızca sağlayıcı (Mistral Voxtral)
Dökümü sohbete yansıt (isteğe bağlı)
Notlar ve sınırlar
- Sağlayıcı auth’u standart model auth sırasını izler (auth profilleri, env değişkenleri,
models.providers.*.apiKey). - Groq kurulum ayrıntıları: Groq.
provider: "deepgram"kullanıldığında DeepgramDEEPGRAM_API_KEYdeğerini alır.- Deepgram kurulum ayrıntıları: Deepgram (ses dökümü).
- Mistral kurulum ayrıntıları: Mistral.
- Ses sağlayıcıları
tools.media.audioüzerindenbaseUrl,headersveproviderOptionsdeğerlerini geçersiz kılabilir. - Varsayılan boyut sınırı 20MB’dir (
tools.media.audio.maxBytes). Büyük boyutlu ses bu model için atlanır ve sonraki girdi denenir. - 1024 bayttan küçük çok küçük/boş ses dosyaları sağlayıcı/CLI dökümünden önce atlanır.
- Ses için varsayılan
maxCharsayarsızdır (tam döküm). Çıktıyı kırpmak içintools.media.audio.maxCharsveya girdi başınamaxCharsayarlayın. - OpenAI otomatik varsayılanı
gpt-4o-mini-transcribeşeklindedir; daha yüksek doğruluk içinmodel: "gpt-4o-transcribe"ayarlayın. - Birden fazla sesli notu işlemek için
tools.media.audio.attachmentskullanın (mode: "all"+maxAttachments). - Döküm şablonlara
{{Transcript}}olarak sunulur. tools.media.audio.echoTranscriptvarsayılan olarak kapalıdır; döküm onayını ajan işlemeden önce kaynak sohbete geri göndermek için bunu etkinleştirin.tools.media.audio.echoFormat, yansıtılan metni özelleştirir (yer tutucu:{transcript}).- CLI stdout sınırı 5MB’dir; CLI çıktısını kısa tutun.
Proxy ortam desteği
Sağlayıcı tabanlı ses dökümü standart giden proxy env değişkenlerini dikkate alır:HTTPS_PROXYHTTP_PROXYhttps_proxyhttp_proxy
Gruplarda mention algılama
Bir grup sohbeti içinrequireMention: true ayarlandığında OpenClaw artık mention kontrolü yapmadan önce sesi döküyor. Bu, mention içerdiğinde sesli notların da işlenmesini sağlar.
Nasıl çalışır:
- Bir sesli mesajın metin gövdesi yoksa ve grup mention gerektiriyorsa OpenClaw bir “preflight” dökümü yapar.
- Döküm, mention desenleri açısından denetlenir (ör.
@BotName, emoji tetikleyicileri). - Bir mention bulunursa mesaj tam yanıt işlem hattısına devam eder.
- Döküm mention algılama için kullanılır; böylece sesli notlar mention geçidini aşabilir.
- Preflight sırasında döküm başarısız olursa (zaman aşımı, API hatası vb.), mesaj yalnızca metin tabanlı mention algılamasına göre işlenir.
- Bu, karma mesajların (metin + ses) hiçbir zaman yanlışlıkla düşürülmemesini sağlar.
- O grup için preflight döküm mention denetimlerini atlamak üzere
channels.telegram.groups.<chatId>.disableAudioPreflight: trueayarlayın. - Konu başına geçersiz kılmak için
channels.telegram.groups.<chatId>.topics.<threadId>.disableAudioPreflightayarlayın (trueatlar,falsezorla etkinleştirir). - Varsayılan
false’dur (mention geçitli koşullar eşleştiğinde preflight etkindir).
requireMention: true ayarlı bir Telegram grubunda “Hey @Claude, hava nasıl?” diyen bir sesli not gönderir. Sesli not dökülür, mention algılanır ve ajan yanıt verir.
Dikkat edilmesi gerekenler
- Kapsam kuralları ilk eşleşme kazanır mantığıyla çalışır.
chatType,direct,groupveyaroomolarak normalize edilir. - CLI’nizin 0 ile çıktığından ve düz metin yazdırdığından emin olun; JSON çıktısı
jq -r .textile işlenmelidir. parakeet-mlxiçin--output-dirgeçirirseniz OpenClaw,--output-formattxtolduğunda (veya atlandığında)<output-dir>/<media-basename>.txtdosyasını okur;txtdışındaki çıktı biçimleri stdout ayrıştırmasına geri döner.- Yanıt kuyruğunu engellememek için zaman aşımlarını makul tutun (
timeoutSeconds, varsayılan 60 sn). - Preflight dökümü mention algılama için yalnızca ilk ses ekini işler. Ek sesler ana medya anlama aşamasında işlenir.