Neler çalışır
- Medya anlama (ses): Ses anlama etkinleştirilmişse (veya otomatik algılanmışsa), OpenClaw:
- İlk ses ekini (yerel yol veya URL) bulur ve gerekirse indirir.
- Her model girdisine göndermeden önce
maxBytessınırını uygular. - Sıradaki 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ı), sonraki girdiyi dener.
- Başarılı olduğunda,
Bodydeğerini bir[Audio]bloğuyla değiştirir ve{{Transcript}}değerini ayarlar.
- Komut ayrıştırma: Transkripsiyon başarılı olduğunda, eğik çizgi komutlarının çalışmaya devam etmesi için
CommandBody/RawBodytranskripte ayarlanır. - Ayrıntılı günlükleme:
--verbosekullanıldığında, transkripsiyon çalıştığında ve gövdeyi değiştirdiğinde günlük kaydı yaparız.
Otomatik algılama (varsayılan)
Model yapılandırmazsanız vetools.media.audio.enabled değeri false olarak ayarlanmamışsa,
OpenClaw aşağıdaki sırayla otomatik algılama yapar ve ilk çalışan seçenekte durur:
- Sağlayıcısı ses anlamayı desteklediğinde etkin yanıt modeli.
- Yerel CLI’ler (kuruluysa)
sherpa-onnx-offline(encoder/decoder/joiner/tokens içerenSHERPA_ONNX_MODEL_DIRgerektirir)whisper-cli(whisper-cppiçinden;WHISPER_CPP_MODELveya birlikte gelen tiny modeli kullanır)whisper(Python CLI; modelleri otomatik indirir)
- Sağlayıcı kimlik doğrulaması
- Önce sesi destekleyen yapılandırılmış
models.providers.*girdileri denenir - Sağlayıcı yedek sırası: OpenAI → Groq → xAI → Deepgram → Google → SenseAudio → ElevenLabs → Mistral
- Önce sesi destekleyen yapılandırılmış
agy) taşınmalıdır.
Otomatik algılamayı devre dışı bırakmak için tools.media.audio.enabled: false ayarlayın.
Özelleştirmek için tools.media.audio.models ayarlayın.
Not: İkili dosya algılama macOS/Linux/Windows genelinde en iyi çaba esasına dayanır; CLI’nin PATH üzerinde olduğundan emin olun (~ genişletilir) veya tam komut yolu olan açık bir CLI modeli ayarlayın.
Yapılandırma örnekleri
Sağlayıcı + CLI yedeği (OpenAI + Whisper CLI)
Kapsam denetimiyle yalnızca sağlayıcı
Yalnızca sağlayıcı (Deepgram)
Yalnızca sağlayıcı (Mistral Voxtral)
Yalnızca sağlayıcı (SenseAudio)
Transkripti sohbete geri gönderme (isteğe bağlı)
Notlar ve sınırlar
- Sağlayıcı kimlik doğrulaması standart model kimlik doğrulama sırasını izler (kimlik doğrulama profilleri, ortam 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 transkripsiyonu).
- Mistral kurulum ayrıntıları: Mistral.
provider: "senseaudio"kullanıldığında SenseAudioSENSEAUDIO_API_KEYdeğerini alır.- SenseAudio kurulum ayrıntıları: SenseAudio.
- Ses sağlayıcıları
tools.media.audioüzerindenbaseUrl,headersveproviderOptionsdeğerlerini geçersiz kılabilir. - Varsayılan boyut sınırı 20 MB’dir (
tools.media.audio.maxBytes). Fazla büyük ses, o model için atlanır ve sonraki girdi denenir. - 1024 baytın altındaki küçük/boş ses dosyaları, sağlayıcı/CLI transkripsiyonundan önce atlanır.
- Ses için varsayılan
maxCharsayarlanmamıştır (tam transkript). Çıktıyı kırpmak içintools.media.audio.maxCharsveya girdi başınamaxCharsayarlayın. - OpenAI otomatik varsayılanı
gpt-4o-mini-transcribedeğeridir; 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). - Transkript şablonlarda
{{Transcript}}olarak kullanılabilir. tools.media.audio.echoTranscriptvarsayılan olarak kapalıdır; aracı işlemeden önce transkript onayını kaynak sohbete geri göndermek için etkinleştirin.tools.media.audio.echoFormatgeri gönderilen metni özelleştirir (yer tutucu:{transcript}).- CLI stdout sınırlandırılmıştır (5 MB); CLI çıktısını kısa tutun.
- CLI
args, yerel ses dosyası yolu için{{MediaPath}}kullanmalıdır. Eskiaudio.transcription.commandyapılandırmalarındaki kullanımdan kaldırılmış{input}yer tutucularını geçirmek içinopenclaw doctor --fixçalıştırın.
Proxy ortam desteği
Sağlayıcı tabanlı ses transkripsiyonu standart giden proxy ortam değişkenlerini dikkate alır:HTTPS_PROXYHTTP_PROXYALL_PROXYhttps_proxyhttp_proxyall_proxy
Gruplarda bahsetme algılama
Bir grup sohbeti içinrequireMention: true ayarlandığında, OpenClaw artık bahsetmeleri denetlemeden önce sesi transkribe eder. Bu, sesli notlar bahsetme içerdiğinde bile işlenmelerini sağlar.
Nasıl çalışır:
- Bir sesli mesajın metin gövdesi yoksa ve grup bahsetme gerektiriyorsa, OpenClaw bir “ön denetim” transkripsiyonu gerçekleştirir.
- Transkript bahsetme kalıpları için denetlenir (ör.
@BotName, emoji tetikleyicileri). - Bir bahsetme bulunursa, mesaj tam yanıt işlem hattından geçer.
- Transkript, sesli notların bahsetme koşulunu geçebilmesi için bahsetme algılamada kullanılır.
- Ön denetim sırasında transkripsiyon başarısız olursa (zaman aşımı, API hatası vb.), mesaj yalnızca metne dayalı bahsetme algılamasına göre işlenir.
- Bu, karma mesajların (metin + ses) asla yanlışlıkla düşürülmemesini sağlar.
- O grup için ön denetim transkript bahsetme 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 (atlamak içintrue, zorla etkinleştirmek içinfalse). - Varsayılan
falsedeğeridir (bahsetme koşullu durumlar eşleştiğinde ön denetim etkindir).
requireMention: true olan bir Telegram grubunda “Hey @Claude, what’s the weather?” diyen bir sesli not gönderir. Sesli not transkribe edilir, bahsetme algılanır ve aracı yanıt verir.
Dikkat edilmesi gerekenler
- Kapsam kuralları ilk eşleşme kazanır mantığını kullanır.
chatType,direct,groupveyaroomolarak normalize edilir. - CLI’nizin 0 ile çıktığından ve düz metin yazdırdığından emin olun; JSON’un
jq -r .textile düzenlenmesi gerekir. parakeet-mlxiçin--output-dirgeçirirseniz,--output-formatdeğeritxtolduğunda (veya atlandığında) OpenClaw<output-dir>/<media-basename>.txtdosyasını okur;txtdışı çı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). - Ön denetim transkripsiyonu, bahsetme algılama için yalnızca ilk ses ekini işler. Ek sesler ana medya anlama aşamasında işlenir.