Media Understanding - Gelen (2026-01-17)
OpenClaw, yanıt işlem hattı çalışmadan önce gelen medyayı (görsel/ses/video) özetleyebilir. Yerel araçların veya provider anahtarlarının kullanılabilir olduğunu otomatik algılar ve devre dışı bırakılabilir ya da özelleştirilebilir. Anlama kapalıysa modeller her zamanki gibi özgün dosyaları/URL’leri almaya devam eder. Vendor’a özgü medya davranışı vendor plugin’leri tarafından kaydedilirken, OpenClaw çekirdeği paylaşılantools.media yapılandırmasına, fallback sırasına ve yanıt işlem hattı
entegrasyonuna sahip olur.
Hedefler
- İsteğe bağlı: daha hızlı yönlendirme ve daha iyi komut ayrıştırma için gelen medyayı kısa metne önceden indirgemek.
- Özgün medya teslimini modele korumak (her zaman).
- Provider API’lerini ve CLI fallback’lerini desteklemek.
- Sıralı fallback ile birden çok modele izin vermek (hata/boyut/zaman aşımı).
Üst düzey davranış
- Gelen ekleri topla (
MediaPaths,MediaUrls,MediaTypes). - Etkin her yetenek için (görsel/ses/video) ilkeye göre ekleri seç (varsayılan: ilk).
- İlk uygun model girdisini seç (boyut + yetenek + auth).
- Bir model başarısız olursa veya medya çok büyükse, sonraki girdiye fallback yap.
- Başarılı olursa:
Body,[Image],[Audio]veya[Video]bloğu olur.- Ses,
{{Transcript}}ayarlar; komut ayrıştırma, varsa altyazı metnini, yoksa transkripti kullanır. - Altyazılar blok içinde
User text:olarak korunur.
Yapılandırmaya genel bakış
tools.media, paylaşılan modelleri ve yetenek başına geçersiz kılmaları destekler:
tools.media.models: paylaşılan model listesi (capabilitiesile kapılamak için kullanın).tools.media.image/tools.media.audio/tools.media.video:- varsayılanlar (
prompt,maxChars,maxBytes,timeoutSeconds,language) - provider geçersiz kılmaları (
baseUrl,headers,providerOptions) tools.media.audio.providerOptions.deepgramüzerinden Deepgram ses seçenekleri- ses transcript yankı denetimleri (
echoTranscript, varsayılanfalse;echoFormat) - isteğe bağlı yetenek başına
modelslistesi (paylaşılan modellerden önce tercih edilir) attachmentsilkesi (mode,maxAttachments,prefer)scope(kanal/chatType/session key bazında isteğe bağlı kapılama)
- varsayılanlar (
tools.media.concurrency: eşzamanlı en yüksek yetenek çalıştırması (varsayılan 2).
Model girdileri
Hermodels[] girdisi provider veya CLI olabilir:
{{MediaDir}}(medya dosyasını içeren dizin){{OutputDir}}(bu çalıştırma için oluşturulan scratch dizini){{OutputBase}}(uzantısız scratch dosya taban yolu)
Varsayılanlar ve sınırlar
Önerilen varsayılanlar:maxChars: görsel/video için 500 (kısa, komut dostu)maxChars: ses için ayarsız (siz sınır koymazsanız tam transcript)maxBytes:- görsel: 10MB
- ses: 20MB
- video: 50MB
- Medya
maxBytesdeğerini aşarsa o model atlanır ve sonraki model denenir. - 1024 bayt altındaki ses dosyaları boş/bozulmuş kabul edilir ve provider/CLI transcription öncesinde atlanır.
- Model
maxCharsdeğerinden fazla döndürürse çıktı kırpılır. prompt, basit bir “Describe the .” varsayılanını vemaxCharsyönlendirmesini kullanır (yalnızca görsel/video).- Etkin birincil image modeli zaten vision desteğine sahipse OpenClaw,
[Image]özet bloğunu atlar ve özgün görseli doğrudan modele geçirir. <capability>.enabled: trueama yapılandırılmış model yoksa OpenClaw, provider’ı o yeteneği desteklediğinde etkin yanıt modelini dener.
Medya anlamayı otomatik algılama (varsayılan)
tools.media.<capability>.enabled açıkça false yapılmamışsa ve siz
model yapılandırmadıysanız, OpenClaw şu sırayla otomatik algılar ve ilk
çalışan seçenekte durur:
- Provider’ı yeteneği destekliyorsa etkin yanıt modeli.
agents.defaults.imageModelprimary/fallback referansları (yalnızca görsel).- Yerel CLI’ler (yalnızca ses; kuruluysa)
sherpa-onnx-offline(SHERPA_ONNX_MODEL_DIRgerekir; encoder/decoder/joiner/tokens ile)whisper-cli(whisper-cpp;WHISPER_CPP_MODELveya paketlenmiş tiny modeli kullanır)whisper(Python CLI; modelleri otomatik indirir)
read_many_fileskullanan Gemini CLI (gemini)- Provider auth
- Yeteneği destekleyen yapılandırılmış
models.providers.*girdileri, paketlenmiş fallback sırasından önce denenir. - Görsel yetenekli modele sahip yalnızca görsel config provider’ları, paketlenmiş vendor plugin’i olmasalar bile medya anlama için otomatik kaydolur.
- Paketlenmiş fallback sırası:
- Ses: OpenAI → Groq → Deepgram → Google → Mistral
- Görsel: OpenAI → Anthropic → Google → MiniMax → MiniMax Portal → Z.AI
- Video: Google → Qwen → Moonshot
- Yeteneği destekleyen yapılandırılmış
PATH üzerinde olduğundan emin olun (~ genişletilir) veya tam komut yoluyla açık bir CLI modeli ayarlayın.
Proxy ortam desteği (provider modelleri)
Provider tabanlı ses ve video medya anlama etkin olduğunda OpenClaw, provider HTTP çağrıları için standart giden proxy ortam değişkenlerine uyar:HTTPS_PROXYHTTP_PROXYhttps_proxyhttp_proxy
Yetenekler (isteğe bağlı)
capabilities ayarlarsanız girdi yalnızca bu medya türleri için çalışır. Paylaşılan
listelerde OpenClaw varsayılanları çıkarabilir:
openai,anthropic,minimax: görselminimax-portal: görselmoonshot: görsel + videoopenrouter: görselgoogle(Gemini API): görsel + ses + videoqwen: görsel + videomistral: seszai: görselgroq: sesdeepgram: ses- Görsel yetenekli model içeren herhangi bir
models.providers.<id>.models[]kataloğu: görsel
capabilities değerini açıkça ayarlayın.
capabilities değerini atlarsanız girdi, bulunduğu liste için uygundur.
Provider destek matrisi (OpenClaw entegrasyonları)
| Yetenek | Provider entegrasyonu | Notlar |
|---|---|---|
| Görsel | OpenAI, OpenRouter, Anthropic, Google, MiniMax, Moonshot, Qwen, Z.AI, config provider’ları | Vendor plugin’leri görsel desteği kaydeder; MiniMax ve MiniMax OAuth ikisi de MiniMax-VL-01 kullanır; görsel yetenekli config provider’ları otomatik kaydolur. |
| Ses | OpenAI, Groq, Deepgram, Google, Mistral | Provider transcription (Whisper/Deepgram/Gemini/Voxtral). |
| Video | Google, Qwen, Moonshot | Vendor plugin’leri üzerinden provider video anlama; Qwen video anlama Standard DashScope uç noktalarını kullanır. |
minimaxveminimax-portalgörsel anlama, plugin’e aitMiniMax-VL-01medya provider’ından gelir.- Paketlenmiş MiniMax metin kataloğu yine de yalnızca metin olarak başlar; açık
models.providers.minimaxgirdileri görsel yetenekli M2.7 sohbet referanslarını somutlaştırır.
Model seçme rehberliği
- Kalite ve güvenlik önemli olduğunda her medya yeteneği için mevcut en güçlü son nesil modeli tercih edin.
- Güvenilmeyen girdileri işleyen araç etkin agent’lar için eski/zayıf medya modellerinden kaçının.
- Kullanılabilirlik için yetenek başına en az bir fallback tutun (kalite modeli + daha hızlı/ucuz model).
- Provider API’leri kullanılamadığında CLI fallback’leri (
whisper-cli,whisper,gemini) yararlıdır. parakeet-mlxnotu:--output-dirile OpenClaw, çıktı biçimitxtolduğunda (veya belirtilmediğinde)<output-dir>/<media-basename>.txtdosyasını okur;txtdışı biçimler stdout’a fallback yapar.
Ek ilkesi
Yetenek başınaattachments, hangi eklerin işlendiğini denetler:
mode:first(varsayılan) veyaallmaxAttachments: işlenecek en yüksek sayı (varsayılan 1)prefer:first,last,path,url
mode: "all" olduğunda çıktılar [Image 1/2], [Audio 2/2] vb. olarak etiketlenir.
Dosya eki çıkarma davranışı:
- Çıkarılan dosya metni, medya prompt’una eklenmeden önce güvenilmeyen dış içerik olarak sarılır.
- Eklenen blok, açık sınır işaretleyicileri kullanır; örneğin
<<<EXTERNAL_UNTRUSTED_CONTENT id="...">>>/<<<END_EXTERNAL_UNTRUSTED_CONTENT id="...">>>ve birSource: Externalmeta veri satırı içerir. - Bu ek çıkarma yolu, medya prompt’unu şişirmemek için uzun
SECURITY NOTICE:başlığını bilerek atlar; sınır işaretleyicileri ve meta veriler yine korunur. - Bir dosyada çıkarılabilir metin yoksa OpenClaw
[No extractable text]ekler. - Bir PDF bu yolda işlenmiş sayfa görsellerine fallback yaparsa, medya prompt’u
[PDF content rendered to images; images not forwarded to model]placeholder’ını korur; çünkü bu ek çıkarma adımı işlenmiş PDF görsellerini değil metin bloklarını iletir.
Yapılandırma örnekleri
1) Paylaşılan model listesi + geçersiz kılmalar
2) Yalnızca ses + video (görsel kapalı)
3) İsteğe bağlı görsel anlama
4) Çok modlu tek girdi (açık yetenekler)
Durum çıktısı
Medya anlama çalıştığında/status kısa bir özet satırı içerir:
Notlar
- Anlama best-effort çalışır. Hatalar yanıtları engellemez.
- Anlama devre dışı olsa bile ekler yine modellere geçirilir.
- Anlamanın nerede çalışacağını sınırlamak için
scopekullanın (ör. yalnızca DM’ler).