Media Understanding - Masuk (2026-01-17)
OpenClaw dapat meringkas media masuk (gambar/audio/video) sebelum pipeline balasan berjalan. OpenClaw mendeteksi secara otomatis saat alat lokal atau kunci provider tersedia, dan dapat dinonaktifkan atau dikustomisasi. Jika understanding dimatikan, model tetap menerima file/URL asli seperti biasa. Perilaku media khusus vendor didaftarkan oleh plugin vendor, sementara core OpenClaw memiliki konfigurasi bersamatools.media, urutan fallback, dan integrasi
pipeline balasan.
Tujuan
- Opsional: mencerna media masuk menjadi teks singkat sebelumnya untuk routing yang lebih cepat + parsing perintah yang lebih baik.
- Mempertahankan pengiriman media asli ke model (selalu).
- Mendukung API provider dan fallback CLI.
- Memungkinkan beberapa model dengan fallback berurutan (error/ukuran/timeout).
Perilaku tingkat tinggi
- Kumpulkan lampiran masuk (
MediaPaths,MediaUrls,MediaTypes). - Untuk setiap capability yang diaktifkan (gambar/audio/video), pilih lampiran sesuai kebijakan (default: pertama).
- Pilih entri model pertama yang memenuhi syarat (ukuran + capability + auth).
- Jika model gagal atau media terlalu besar, fallback ke entri berikutnya.
- Jika berhasil:
Bodymenjadi blok[Image],[Audio], atau[Video].- Audio menetapkan
{{Transcript}}; parsing perintah menggunakan teks caption jika ada, jika tidak, menggunakan transkrip. - Caption dipertahankan sebagai
User text:di dalam blok.
Ringkasan konfigurasi
tools.media mendukung model bersama plus override per capability:
tools.media.models: daftar model bersama (gunakancapabilitiesuntuk gating).tools.media.image/tools.media.audio/tools.media.video:- default (
prompt,maxChars,maxBytes,timeoutSeconds,language) - override provider (
baseUrl,headers,providerOptions) - opsi audio Deepgram melalui
tools.media.audio.providerOptions.deepgram - kontrol echo transkrip audio (
echoTranscript, defaultfalse;echoFormat) - daftar
modelsper capability opsional (diprioritaskan sebelum model bersama) - kebijakan
attachments(mode,maxAttachments,prefer) scope(gating opsional berdasarkan channel/chatType/kunci sesi)
- default (
tools.media.concurrency: jumlah maksimum eksekusi capability bersamaan (default 2).
Entri model
Setiap entrimodels[] dapat berupa provider atau CLI:
{{MediaDir}}(direktori yang berisi file media){{OutputDir}}(direktori scratch yang dibuat untuk eksekusi ini){{OutputBase}}(jalur dasar file scratch, tanpa ekstensi)
Default dan batas
Default yang direkomendasikan:maxChars: 500 untuk gambar/video (singkat, ramah perintah)maxChars: tidak disetel untuk audio (transkrip penuh kecuali Anda menetapkan batas)maxBytes:- gambar: 10MB
- audio: 20MB
- video: 50MB
- Jika media melebihi
maxBytes, model tersebut dilewati dan model berikutnya dicoba. - File audio yang lebih kecil dari 1024 byte diperlakukan sebagai kosong/rusak dan dilewati sebelum transkripsi provider/CLI.
- Jika model mengembalikan lebih dari
maxChars, output dipangkas. promptsecara default berupa โDescribe the .โ sederhana plus panduanmaxChars(hanya gambar/video).- Jika model gambar utama aktif sudah mendukung vision secara native, OpenClaw
melewati blok ringkasan
[Image]dan sebagai gantinya meneruskan gambar asli ke dalam model. - Jika
<capability>.enabled: truetetapi tidak ada model yang dikonfigurasi, OpenClaw mencoba model balasan aktif saat provider-nya mendukung capability tersebut.
Deteksi otomatis media understanding (default)
Jikatools.media.<capability>.enabled tidak disetel ke false dan Anda belum
mengonfigurasi model, OpenClaw mendeteksi otomatis dalam urutan ini dan berhenti pada opsi pertama
yang berfungsi:
- Model balasan aktif saat provider-nya mendukung capability tersebut.
- Ref primary/fallback
agents.defaults.imageModel(hanya gambar). - CLI lokal (hanya audio; jika terpasang)
sherpa-onnx-offline(memerlukanSHERPA_ONNX_MODEL_DIRdengan encoder/decoder/joiner/tokens)whisper-cli(whisper-cpp; menggunakanWHISPER_CPP_MODELatau model tiny bawaan)whisper(CLI Python; mengunduh model secara otomatis)
- Gemini CLI (
gemini) menggunakanread_many_files - Auth provider
- Entri
models.providers.*yang dikonfigurasi dan mendukung capability tersebut dicoba sebelum urutan fallback bawaan. - Provider konfigurasi khusus gambar dengan model yang mendukung gambar akan terdaftar otomatis untuk media understanding bahkan saat mereka bukan plugin vendor bawaan.
- Urutan fallback bawaan:
- Audio: OpenAI โ Groq โ Deepgram โ Google โ Mistral
- Gambar: OpenAI โ Anthropic โ Google โ MiniMax โ MiniMax Portal โ Z.AI
- Video: Google โ Qwen โ Moonshot
- Entri
PATH (kami mengekspansi ~), atau setel model CLI eksplisit dengan jalur perintah lengkap.
Dukungan environment proxy (model provider)
Saat media understanding audio dan video berbasis provider diaktifkan, OpenClaw menghormati variabel lingkungan proxy keluar standar untuk panggilan HTTP provider:HTTPS_PROXYHTTP_PROXYhttps_proxyhttp_proxy
Capabilities (opsional)
Jika Anda menetapkancapabilities, entri hanya berjalan untuk jenis media tersebut. Untuk daftar
bersama, OpenClaw dapat menyimpulkan default:
openai,anthropic,minimax: imageminimax-portal: imagemoonshot: image + videoopenrouter: imagegoogle(Gemini API): image + audio + videoqwen: image + videomistral: audiozai: imagegroq: audiodeepgram: audio- Katalog
models.providers.<id>.models[]apa pun dengan model yang mendukung gambar: image
capabilities secara eksplisit untuk menghindari kecocokan yang mengejutkan.
Jika Anda menghilangkan capabilities, entri memenuhi syarat untuk daftar tempat entri itu muncul.
Matriks dukungan provider (integrasi OpenClaw)
| Capability | Integrasi provider | Catatan |
|---|---|---|
| Image | OpenAI, OpenRouter, Anthropic, Google, MiniMax, Moonshot, Qwen, Z.AI, config providers | Plugin vendor mendaftarkan dukungan gambar; MiniMax dan MiniMax OAuth sama-sama menggunakan MiniMax-VL-01; provider konfigurasi yang mendukung gambar terdaftar otomatis. |
| Audio | OpenAI, Groq, Deepgram, Google, Mistral | Transkripsi provider (Whisper/Deepgram/Gemini/Voxtral). |
| Video | Google, Qwen, Moonshot | Video understanding provider melalui plugin vendor; video understanding Qwen menggunakan endpoint Standard DashScope. |
- Media understanding gambar
minimaxdanminimax-portalberasal dari provider mediaMiniMax-VL-01milik plugin. - Katalog teks MiniMax bawaan tetap dimulai sebagai teks saja; entri
models.providers.minimaxeksplisit mematerialkan ref chat M2.7 yang mendukung gambar.
Panduan pemilihan model
- Pilih model generasi terbaru terkuat yang tersedia untuk setiap capability media saat kualitas dan keamanan penting.
- Untuk agen dengan alat yang menangani input tidak tepercaya, hindari model media yang lebih lama/lemah.
- Simpan setidaknya satu fallback per capability untuk ketersediaan (model berkualitas + model lebih cepat/lebih murah).
- Fallback CLI (
whisper-cli,whisper,gemini) berguna saat API provider tidak tersedia. - Catatan
parakeet-mlx: dengan--output-dir, OpenClaw membaca<output-dir>/<media-basename>.txtsaat format output adalahtxt(atau tidak ditentukan); format selaintxtakan fallback ke stdout.
Kebijakan lampiran
attachments per capability mengontrol lampiran mana yang diproses:
mode:first(default) atauallmaxAttachments: membatasi jumlah yang diproses (default 1)prefer:first,last,path,url
mode: "all", output diberi label [Image 1/2], [Audio 2/2], dst.
Perilaku ekstraksi lampiran file:
- Teks file yang diekstrak dibungkus sebagai konten eksternal tidak tepercaya sebelum ditambahkan ke prompt media.
- Blok yang disuntikkan menggunakan penanda batas eksplisit seperti
<<<EXTERNAL_UNTRUSTED_CONTENT id="...">>>/<<<END_EXTERNAL_UNTRUSTED_CONTENT id="...">>>dan menyertakan baris metadataSource: External. - Jalur ekstraksi lampiran ini sengaja menghilangkan banner panjang
SECURITY NOTICE:agar prompt media tidak membengkak; penanda batas dan metadata tetap dipertahankan. - Jika file tidak memiliki teks yang dapat diekstrak, OpenClaw menyuntikkan
[No extractable text]. - Jika PDF fallback ke gambar halaman hasil render di jalur ini, prompt media tetap menyimpan
placeholder
[PDF content rendered to images; images not forwarded to model]karena langkah ekstraksi lampiran ini meneruskan blok teks, bukan gambar PDF hasil render.
Contoh konfigurasi
1) Daftar model bersama + override
2) Hanya audio + video (gambar nonaktif)
3) Image understanding opsional
4) Entri tunggal multi-modal (capabilities eksplisit)
Output status
Saat media understanding berjalan,/status menyertakan baris ringkasan singkat:
Catatan
- Understanding bersifat best-effort. Error tidak memblokir balasan.
- Lampiran tetap diteruskan ke model bahkan saat understanding dinonaktifkan.
- Gunakan
scopeuntuk membatasi tempat understanding berjalan (misalnya hanya DM).