Skip to main content
OpenClaw dapat merangkum media masuk (gambar/audio/video) sebelum alur pemrosesan balasan berjalan, sehingga penguraian perintah dan perutean menggunakan teks pendek, bukan byte mentah. Pemahaman secara otomatis mendeteksi alat lokal atau kunci penyedia, atau Anda dapat mengonfigurasi model secara eksplisit. Media asli selalu dikirimkan ke model seperti biasa; ketika pemahaman gagal atau dinonaktifkan, alur balasan tetap berlanjut tanpa perubahan. Plugin vendor mendaftarkan metadata kapabilitas (penyedia mana yang mendukung jenis media tertentu, model bawaan, prioritas). Inti OpenClaw memiliki konfigurasi bersama tools.media, urutan fallback, dan integrasi alur pemrosesan balasan.

Cara kerjanya

1

Kumpulkan lampiran

Kumpulkan lampiran masuk (MediaPaths, MediaUrls, MediaTypes).
2

Pilih per kapabilitas

Untuk setiap kapabilitas yang diaktifkan (gambar/audio/video), pilih lampiran berdasarkan kebijakan attachments (bawaan: hanya lampiran pertama).
3

Pilih model

Pilih entri model pertama yang memenuhi syarat (ukuran + kapabilitas + autentikasi tersedia).
4

Gunakan fallback saat gagal

Jika model mengalami kesalahan, kehabisan waktu, atau media melebihi maxBytes, coba entri berikutnya.
5

Terapkan saat berhasil

Body menjadi blok [Image], [Audio], atau [Video]. Audio juga menetapkan {{Transcript}}; penguraian perintah menggunakan teks keterangan jika tersedia, atau transkrip jika tidak. Keterangan dipertahankan sebagai User text: di dalam blok.

Konfigurasi

tools.media berisi daftar model bersama beserta penggantian per kapabilitas:
Kunci per kapabilitas (image/audio/video): Opsi khusus Deepgram ditempatkan di bawah providerOptions.deepgram (kolom tingkat atas deepgram: { detectLanguage, punctuate, smartFormat } telah usang, tetapi masih dibaca).

Entri model

Setiap entri models[] merupakan entri penyedia (bawaan) atau entri CLI:

Kredensial penyedia

Pemahaman media oleh penyedia menggunakan resolusi autentikasi yang sama seperti panggilan model biasa: profil autentikasi, variabel lingkungan, kemudian models.providers.<providerId>.apiKey. Entri tools.media.*.models[] tidak menerima kolom apiKey sebaris.
Lihat Alat dan penyedia khusus untuk profil, variabel lingkungan, dan URL dasar khusus.

Aturan dan perilaku

  • Media yang melebihi maxBytes melewati model tersebut dan mencoba model berikutnya.
  • Berkas audio di bawah 1024 byte dianggap kosong/rusak dan dilewati sebelum transkripsi; agen menerima transkrip placeholder deterministik sebagai gantinya.
  • Jika model gambar utama yang aktif sudah mendukung penglihatan secara native, OpenClaw melewati blok ringkasan [Image] dan meneruskan gambar asli langsung ke model. MiniMax merupakan pengecualian: minimax, minimax-cn, minimax-portal, dan minimax-portal-cn selalu merutekan pemahaman gambar melalui penyedia media MiniMax-VL-01 milik plugin, meskipun metadata obrolan MiniMax M2.x lama mengklaim dukungan masukan gambar (hanya MiniMax-M3 dan versi lebih baru yang dianggap mampu menangani penglihatan secara native).
  • Jika model utama Gateway/WebChat hanya mendukung teks, lampiran gambar dipertahankan sebagai referensi media://inbound/* yang dialihkan penyimpanannya agar alat gambar/PDF atau model gambar yang dikonfigurasi tetap dapat memeriksanya, alih-alih kehilangan lampiran tersebut.
  • Perintah eksplisit openclaw infer image describe --file <path> --model <provider/model> (alias: openclaw capability image describe) menjalankan penyedia/model berkemampuan gambar tersebut secara langsung, termasuk referensi Ollama seperti ollama/qwen2.5vl:7b ketika model berkemampuan gambar yang cocok dikonfigurasi di bawah models.providers.ollama.models[].
  • Jika <capability>.enabled bukan false, tetapi tidak ada model yang dikonfigurasi, OpenClaw mencoba model balasan aktif ketika penyedianya mendukung kapabilitas tersebut.

Deteksi otomatis (bawaan)

Ketika tools.media.<capability>.enabled bukan false dan tidak ada model yang dikonfigurasi, OpenClaw mencoba opsi berikut secara berurutan dan berhenti pada opsi pertama yang berfungsi:
1

Model gambar yang dikonfigurasi (khusus gambar)

Referensi utama/fallback agents.defaults.imageModel, kecuali model balasan aktif sudah mendukung penglihatan secara native. Utamakan referensi provider/model; referensi tanpa penyedia hanya dilengkapi dari entri model penyedia berkemampuan gambar yang dikonfigurasi ketika kecocokannya unik.
2

Model balasan aktif

Model balasan aktif, ketika penyedianya mendukung kapabilitas tersebut.
3

Autentikasi penyedia (khusus audio, sebelum CLI lokal)

Entri models.providers.* yang dikonfigurasi dan mendukung audio dicoba sebelum CLI lokal. Urutan prioritas penyedia bawaan (jika sama, diurutkan menurut abjad berdasarkan ID penyedia): Groq/OpenAI โ†’ xAI โ†’ Deepgram โ†’ OpenRouter โ†’ Google/SenseAudio โ†’ Deepinfra/ElevenLabs โ†’ Mistral.
4

CLI lokal (khusus audio)

Biner lokal yang siap digunakan menjadi daftar fallback berurutan:
  • whisper-cli ditempatkan pertama hanya setelah pemanggilan model sebelumnya dalam proses saat ini mendeteksi Metal atau CUDA
  • sherpa-onnx-offline dengan CPU sebagai bawaan (memerlukan SHERPA_ONNX_MODEL_DIR dengan tokens.txt/encoder.onnx/decoder.onnx/joiner.onnx)
  • whisper-cli ketika akselerasi hanya didukung oleh hasil build atau belum terdeteksi
  • parakeet-mlx pada Apple Silicon (mendukung MLX, penggunaan perangkat belum terdeteksi)
  • whisper (CLI Python; secara bawaan menggunakan model turbo, diunduh secara otomatis)
Pemeriksaan kapabilitas backend disimpan dalam cache dan tidak memuat model. Kapabilitas hasil build, flag backend yang diminta, dan backend yang terdeteksi dari pemanggilan nyata tetap dipisahkan. whisper.cpp yang terdeteksi otomatis membiarkan log eksekusi model tetap aktif agar baris backend terpilih dari upstream dapat direkam. Entri CLI eksplisit mempertahankan urutan, flag backend, dan flag keluaran yang dikonfigurasi.
5

Autentikasi penyedia (gambar/video)

Entri models.providers.* yang dikonfigurasi dan mendukung kapabilitas tersebut dicoba sebelum urutan fallback bawaan. Penyedia konfigurasi khusus gambar dengan model berkemampuan gambar didaftarkan secara otomatis untuk pemahaman media meskipun bukan Plugin vendor bawaan.Urutan prioritas penyedia bawaan (jika sama, diurutkan menurut abjad berdasarkan ID penyedia):
  • Gambar: Anthropic/OpenAI โ†’ Google โ†’ MiniMax โ†’ Deepinfra โ†’ MiniMax Portal โ†’ Z.AI
  • Video: Google โ†’ Qwen โ†’ Moonshot
6

CLI Antigravity (khusus gambar/video)

Biner agy atau antigravity pertama yang terpasang (ganti dengan OPENCLAW_ANTIGRAVITY_CLI), dijalankan dalam sandbox yang dibatasi pada direktori media.
Untuk menonaktifkan deteksi otomatis bagi suatu kapabilitas:
Deteksi biner bersifat upaya terbaik di macOS/Linux/Windows; pastikan CLI tersedia di PATH (~ diperluas), atau tetapkan entri model CLI eksplisit dengan jalur perintah lengkap.

Dukungan proksi (panggilan penyedia audio/video)

Pemahaman audio dan video berbasis penyedia mematuhi variabel lingkungan proksi keluar standar, termasuk aturan pengecualian NO_PROXY/no_proxy: HTTPS_PROXY, HTTP_PROXY, ALL_PROXY, https_proxy, http_proxy, all_proxy. Variabel huruf kecil lebih diprioritaskan daripada huruf besar. Jika tidak ada yang ditetapkan, pemahaman media menggunakan akses keluar langsung; jika nilai proksi tidak valid, OpenClaw mencatat peringatan dan beralih ke pengambilan langsung. Pemahaman gambar tidak melalui jalur proksi ini.

Kapabilitas

Tetapkan capabilities pada entri models[] untuk membatasinya ke jenis media tertentu. Untuk daftar bersama, OpenClaw menyimpulkan nilai bawaan per penyedia bawaan: Untuk entri CLI, tetapkan capabilities secara eksplisit guna menghindari pencocokan yang tidak terduga; jika dihilangkan, entri tersebut memenuhi syarat untuk setiap daftar kemampuan tempat entri itu muncul.

Matriks dukungan penyedia

Catatan MiniMax: pemahaman gambar minimax, minimax-cn, minimax-portal, dan minimax-portal-cn selalu berasal dari penyedia media MiniMax-VL-01 yang dimiliki Plugin, meskipun metadata obrolan MiniMax M2.x lama menyatakan dukungan masukan gambar.

Panduan pemilihan model

  • Utamakan model generasi terkini yang paling andal untuk setiap kemampuan media jika kualitas dan keamanan penting.
  • Untuk agen yang mendukung alat dan menangani masukan tidak tepercaya, hindari model media yang lebih lama atau lebih lemah.
  • Pertahankan setidaknya satu cadangan untuk setiap kemampuan demi ketersediaan (model berkualitas + model yang lebih cepat/murah).
  • Cadangan CLI (whisper-cli, whisper, gemini) membantu ketika API penyedia tidak tersedia.
  • Mode keluaran berkas yang diketahui bersifat otoritatif: berkas transkrip hasil inferensi yang kosong atau tidak ada tidak menghasilkan transkrip, alih-alih beralih ke keluaran kemajuan CLI.
  • parakeet-mlx: gunakan --output-format txt (atau all) bersama --output-dir dan templat keluaran bawaan {filename}. Variabel lingkungan hulu PARAKEET_OUTPUT_FORMAT dan PARAKEET_OUTPUT_TEMPLATE juga dipatuhi. OpenClaw membaca <output-dir>/<media-basename>.txt; format bawaan srt, format lainnya, dan templat keluaran khusus tetap menggunakan stdout.

Kebijakan lampiran

attachments per kemampuan mengontrol lampiran mana yang diproses:
"first" | "all"
default:"first"
Proses hanya lampiran pertama yang dipilih, atau semuanya.
number
default:"1"
Batasi jumlah yang diproses.
"first" | "last" | "path" | "url"
Preferensi pemilihan di antara lampiran kandidat.
Ketika mode: "all", keluaran diberi label [Gambar 1/2], [Audio 2/2], dan seterusnya.

Ekstraksi lampiran berkas

  • Teks berkas yang diekstrak dibungkus sebagai konten eksternal tidak tepercaya sebelum ditambahkan ke prompt media, menggunakan penanda batas seperti <<<EXTERNAL_UNTRUSTED_CONTENT id="...">>> / <<<END_EXTERNAL_UNTRUSTED_CONTENT id="...">>> beserta baris metadata Source: External.
  • Jalur ini sengaja menghilangkan banner panjang SECURITY NOTICE: agar prompt media tetap ringkas; penanda batas dan metadata tetap diterapkan.
  • Berkas tanpa teks yang dapat diekstrak mendapatkan [Tidak ada teks yang dapat diekstrak].
  • Jika PDF beralih ke gambar halaman yang dirender, OpenClaw meneruskan gambar tersebut ke model balasan berkemampuan penglihatan dan mempertahankan placeholder [Konten PDF dirender menjadi gambar] dalam blok berkas.

Contoh konfigurasi

Keluaran status

Ketika pemahaman media berjalan, /status menyertakan baris ringkasan per kemampuan:
Untuk inventaris prapemeriksaan, jalankan openclaw capability audio providers. Baris lokal menampilkan pilihan cadangan lokal secara terpisah dari pemilihan penyedia global, kesiapan, serta bidang backend mampu/diminta/teramati yang terpisah. Pemilihan lokal yang sama tersedia sebagai temuan informatif doctor:

Catatan

  • Pemahaman dilakukan dengan upaya terbaik. Kesalahan tidak menghalangi balasan.
  • Lampiran tetap diteruskan ke model meskipun pemahaman dinonaktifkan.
  • Gunakan scope untuk membatasi tempat pemahaman berjalan (misalnya, hanya DM).

Terkait