tools.media 設定、備援順序,以及回覆流水線整合。
運作方式
1
收集附件
收集依序排列的傳入媒體資訊(
path、url、contentType 和 kind)。2
依能力選取
對每項已啟用的能力(圖片/音訊/影片),依
attachments 政策選取附件(預設:僅第一個附件)。3
選擇模型
選取第一個符合資格的模型項目(大小、能力及可用的驗證)。
4
失敗時備援
如果模型發生錯誤、逾時,或媒體超過
maxBytes,則嘗試下一個項目。5
成功時套用
Body 會成為 [Image]、[Audio] 或 [Video] 區塊。音訊也會設定 {{Transcript}};若有字幕文字,命令解析會使用字幕文字,否則使用逐字稿。字幕會在區塊內保留為 User text:。設定
tools.media 包含一份標註能力的模型清單,以及少量的個別能力控制項:
image/audio/video)的鍵:
提示詞、限制、語言提示、請求覆寫和供應商選項,可設為能力預設值,或在個別
tools.media.models[] 項目上覆寫。未設定明確模型時,能力預設值也適用於自動偵測到的供應商。
模型項目
每個models[] 項目都是供應商項目(預設)或命令列介面項目:
- 供應商項目
- 命令列介面項目
供應商認證資訊
供應商媒體理解功能採用與一般模型呼叫相同的驗證解析順序:驗證設定檔、環境變數,接著是models.providers.<providerId>.apiKey。tools.media.models[] 項目不接受行內 apiKey 欄位。
規則與行為
- 超過
maxBytes的媒體會略過該模型,並嘗試下一個模型。 - 小於 1024 位元組的音訊檔會視為空白/損毀,並在轉錄前略過;代理會改為取得確定性的預留位置逐字稿。
- 如果目前作用中的主要圖片模型已原生支援視覺,OpenClaw 會略過
[Image]摘要區塊,直接將原始圖片傳入模型。MiniMax 是例外:minimax、minimax-cn、minimax-portal和minimax-portal-cn一律透過外掛所擁有的MiniMax-VL-01媒體供應商路由圖片理解,即使舊版 MiniMax M2.x 聊天中繼資料宣稱支援圖片輸入也一樣(只有MiniMax-M3及更新版本會視為原生支援視覺)。 - 如果閘道/WebChat 的主要模型僅支援文字,圖片附件會保留為已卸載的
media://inbound/*參照,讓圖片/PDF 工具或已設定的圖片模型仍可檢查附件,而不會遺失附件。 - 明確設定的
openclaw infer image describe --file <path> --model <provider/model>(別名:openclaw capability image describe)會直接執行該支援圖片的供應商/模型,包括ollama/qwen2.5vl:7b等 Ollama 參照,前提是在models.providers.ollama.models[]下設定了相符且支援圖片的模型。 - 如果
<capability>.enabled不是false,但未設定任何模型,OpenClaw 會在目前作用中的回覆模型之供應商支援該能力時嘗試使用該模型。
自動偵測(預設)
當tools.media.<capability>.enabled 不是 false,且未設定任何模型時,OpenClaw 會依序嘗試下列選項,並在第一個可運作的選項停止:
1
已設定的圖片模型(僅限圖片)
agents.defaults.imageModel 主要/備援參照,但目前作用中的回覆模型已原生支援視覺時除外。優先使用 provider/model 參照;只有在相符項目唯一時,才會從已設定且支援圖片的供應商模型項目補全未限定的參照。2
目前作用中的回覆模型
當目前作用中的回覆模型之供應商支援該能力時,使用該模型。
3
供應商驗證(僅限音訊,優先於本機命令列介面)
支援音訊的已設定
models.providers.* 項目會優先於本機命令列介面嘗試。內建供應商的優先順序(優先順序相同時,依供應商 ID 的字母順序決定):Groq/OpenAI → xAI → Deepgram → OpenRouter → Google/SenseAudio → Deepinfra/ElevenLabs → Mistral。4
本機命令列介面(僅限音訊)
已就緒的本機二進位檔會成為依序排列的備援清單:
whisper-cli僅在目前程序中先前的模型叫用觀察到 Metal 或 CUDA 後排在第一位- 預設使用 CPU 的
sherpa-onnx-offline(需要SHERPA_ONNX_MODEL_DIR,並搭配tokens.txt/encoder.onnx/decoder.onnx/joiner.onnx) - 當加速僅具備建置支援或尚未觀察到時,使用
whisper-cli - 在 Apple Silicon 上使用
parakeet-mlx(支援 MLX,尚未觀察到裝置使用情況) whisper(Python 命令列介面;預設使用turbo模型,並自動下載)
5
供應商驗證(圖片/影片)
支援該能力的已設定
models.providers.* 項目會優先於內建備援順序嘗試。僅設定圖片的供應商如果具有支援圖片的模型,即使不是內建供應商外掛,也會自動註冊至媒體理解功能。內建供應商的優先順序(優先順序相同時,依供應商 ID 的字母順序決定):- 圖片:Anthropic/OpenAI → Google → MiniMax → Deepinfra → MiniMax Portal → Z.AI
- 影片:Google → Qwen → Moonshot
6
Antigravity 命令列介面(僅限圖片/影片)
使用第一個已安裝的
agy 或 antigravity 二進位檔(以 OPENCLAW_ANTIGRAVITY_CLI 覆寫),並以媒體所在目錄作為沙箱範圍。在 macOS/Linux/Windows 上,二進位檔偵測採盡力而為;請確保命令列介面位於
PATH(會展開 ~),或以完整命令路徑設定明確的命令列介面模型項目。Proxy 支援(音訊/影片供應商呼叫)
以供應商為基礎的音訊與影片理解功能會遵循標準輸出 Proxy 環境變數,包括NO_PROXY/no_proxy 略過規則:HTTPS_PROXY、HTTP_PROXY、ALL_PROXY、https_proxy、http_proxy、all_proxy。小寫變數的優先順序高於大寫變數。如果均未設定,媒體理解功能會直接向外連線;如果 Proxy 值格式錯誤,OpenClaw 會記錄警告並改用直接擷取。圖片理解不會經過此 Proxy 路徑。
能力
在models[] 項目上設定 capabilities,以將其限制為特定媒體類型。對於共用清單,OpenClaw 會依各內建供應商推斷預設值:
對於命令列介面項目,請明確設定
capabilities,以避免意外的比對結果;若省略,該項目將符合其出現於其中的每個功能清單。
提供者支援矩陣
MiniMax 備註:
minimax、minimax-cn、minimax-portal 和 minimax-portal-cn 的影像理解一律來自外掛所擁有的 MiniMax-VL-01 媒體提供者,即使舊版 MiniMax M2.x 聊天中繼資料聲稱支援影像輸入亦然。模型選擇指南
- 當品質與安全性至關重要時,請為各項媒體功能優先選用目前最強的新一代模型。
- 對於處理不受信任輸入且啟用工具的代理程式,請避免使用較舊或較弱的媒體模型。
- 每項功能至少保留一個後援模型,以確保可用性(高品質模型 + 較快或較便宜的模型)。
- 當提供者 API 無法使用時,命令列介面後援(
whisper-cli、whisper、gemini)可提供協助。 - 已知的檔案輸出模式具有決定性:若推斷出的逐字稿檔案為空或不存在,則不會產生逐字稿,而不會退回使用命令列介面的進度輸出。
parakeet-mlx:搭配--output-dir和預設的{filename}輸出範本使用--output-format txt(或all)。上游的PARAKEET_OUTPUT_FORMAT和PARAKEET_OUTPUT_TEMPLATE環境變數也會受到支援。OpenClaw 會讀取<output-dir>/<media-basename>.txt;預設的srt格式、其他格式及自訂輸出範本仍會使用標準輸出。
附件政策
各功能的attachments 控制要處理哪些附件:
"first" | "all"
預設值:"first"
僅處理第一個選取的附件,或處理所有附件。
number
預設值:"1"
限制處理數量。
"first" | "last" | "path" | "url"
候選附件之間的選取偏好。
mode: "all" 時,輸出會標示為 [Image 1/2]、[Audio 2/2] 等。
檔案附件擷取
- 擷取出的檔案文字會先包裝為不受信任的外部內容,再附加至媒體提示詞;包裝會使用
<<<EXTERNAL_UNTRUSTED_CONTENT id="...">>>/<<<END_EXTERNAL_UNTRUSTED_CONTENT id="...">>>等邊界標記,並加上一行Source: External中繼資料。 - 此路徑刻意省略較長的
SECURITY NOTICE:橫幅,以保持媒體提示詞簡短;邊界標記和中繼資料仍會套用。 - 無法擷取任何文字的檔案會得到
[No extractable text]。 - 如果 PDF 退回使用轉譯後的頁面影像,OpenClaw 會將這些影像轉送至具視覺功能的回覆模型,並在檔案區塊中保留預留位置
[PDF content rendered to images]。
設定範例
- 共用模型 + 覆寫
- 僅音訊 + 影片
- 僅影像
- 單一多模態項目
狀態輸出
媒體理解執行時,/status 會包含每項功能的摘要行:
openclaw capability audio providers。本機資料列會將本機後援勝出項目,與全域提供者選擇、就緒狀態,以及各自獨立的可支援/已要求/已觀察後端欄位分開顯示。相同的本機選擇也會以資訊性 doctor 發現項目的形式提供:
備註
- 理解功能採盡力而為。錯誤不會阻止回覆。
- 即使理解功能已停用,附件仍會傳遞給模型。
- 使用
scope限制理解功能的執行位置(例如僅限私訊)。