Ses / Sesli Notlar — 2026-01-17¶
Neler çalışır¶
- Medya anlama (ses): Ses anlama etkinse (veya otomatik algılanıyorsa), OpenClaw:
1. İlk ses ekini (yerel yol veya URL) bulur ve gerekirse indirir.
2. Her model girdisine göndermeden önce
maxBytesuygular. 3. Uygun ilk model girdisini sırayla çalıştırır (sağlayıcı veya CLI). 4. Başarısız olursa veya atlanırsa (boyut/zaman aşımı), bir sonraki girdiyi dener. 5. Başarı durumundaBodyöğesini bir[Audio]bloğu ile değiştirir ve{{Transcript}}ayarlar. - Komut ayrıştırma: Yazıya döküm başarılı olduğunda, eğik çizgi komutları çalışmaya devam etsin diye
CommandBody/RawBodytranskript olarak ayarlanır. - Ayrıntılı günlükleme:
--verboseiçinde, yazıya dökümün ne zaman çalıştığını ve gövdeyi ne zaman değiştirdiğini günlüğe kaydederiz.
Otomatik algılama (varsayılan)¶
Modelleri yapılandırmazsanız ve tools.media.audio.enabled false olarak ayarlı değilse,
OpenClaw aşağıdaki sırayla otomatik algılar ve çalışan ilk seçenekte durur:
- Yerel CLIs (kuruluysa)
-
sherpa-onnx-offline(kodlayıcı/kod çözücü/birleştirici/tokenlar ileSHERPA_ONNX_MODEL_DIRgerektirir) -whisper-cli(whisper-cppkaynağından;WHISPER_CPP_MODELveya paketlenmiş tiny modeli kullanır) -whisper(Python CLI; modelleri otomatik indirir) - Gemini CLI (
gemini) kullanılarakread_many_files - Sağlayıcı anahtarları (OpenAI → Groq → Deepgram → Google)
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 ile yapılır; CLI'nin PATH üzerinde olduğundan emin olun (~ genişletilir) veya tam komut yoluyla açık bir CLI modeli ayarlayın.
Yapılandırma örnekleri¶
Sağlayıcı + CLI geri dönüşü (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,
},
],
},
},
},
}
Kapsam geçitli yalnızca sağlayıcı¶
{
tools: {
media: {
audio: {
enabled: true,
scope: {
default: "allow",
rules: [{ action: "deny", match: { chatType: "group" } }],
},
models: [{ provider: "openai", model: "gpt-4o-mini-transcribe" }],
},
},
},
}
Yalnızca sağlayıcı (Deepgram)¶
{
tools: {
media: {
audio: {
enabled: true,
models: [{ provider: "deepgram", model: "nova-3" }],
},
},
},
}
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). provider: "deepgram"kullanıldığında Deepgram,DEEPGRAM_API_KEYdeğerini alır.- Deepgram kurulum ayrıntıları: Deepgram (ses yazıya dökümü).
- Ses sağlayıcıları,
tools.media.audioaracılığıylabaseUrl,headersveproviderOptionsdeğerlerini geçersiz kılabilir. - Varsayılan boyut üst sınırı 20MB'dir (
tools.media.audio.maxBytes). Aşırı büyük ses, o model için atlanır ve bir sonraki girdi denenir. - Ses için varsayılan
maxCharsayarlı değildir (tam transkript). Çıktıyı kırpmak içintools.media.audio.maxCharsveya girdi başınamaxCharsayarlayın. - OpenAI otomatik varsayılanı
gpt-4o-mini-transcribe’tir; 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, şablonlara
{{Transcript}}olarak sunulur. - CLI stdout çıktısı sınırlandırılmıştır (5MB); CLI çıktısını kısa tutun.
Gotchas¶
- Kapsam kuralları ilk eşleşme kazanır.
chatType,direct,groupveyaroomolarak normalize edilir. - CLI'nizin 0 koduyla çıkmasını ve düz metin yazdırmasını sağlayın; JSON çıktısı
jq -r .textile uyarlanmalıdır. - Yanıt kuyruğunu engellememek için zaman aşımlarını makul tutun (
timeoutSeconds, varsayılan 60 sn).