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[] प्रविष्टि एक प्रदाता प्रविष्टि (डिफ़ॉल्ट) या एक CLI प्रविष्टि होती है:
- प्रदाता प्रविष्टि
- CLI प्रविष्टि
प्रदाता क्रेडेंशियल
प्रदाता मीडिया अंडरस्टैंडिंग सामान्य मॉडल कॉल के समान प्रमाणीकरण समाधान का उपयोग करती है: प्रमाणीकरण प्रोफ़ाइल, पर्यावरण चर, फिरmodels.providers.<providerId>.apiKey। tools.media.models[] प्रविष्टियाँ इनलाइन apiKey फ़ील्ड स्वीकार नहीं करतीं।
नियम और व्यवहार
maxBytesसे अधिक आकार वाला मीडिया उस मॉडल को छोड़कर अगला मॉडल आज़माता है।- 1024 बाइट से छोटी ऑडियो फ़ाइलों को खाली/दूषित माना जाता है और ट्रांसक्रिप्शन से पहले छोड़ दिया जाता है; इसके बजाय एजेंट को एक नियतात्मक प्लेसहोल्डर ट्रांसक्रिप्ट मिलती है।
- यदि सक्रिय प्राथमिक इमेज मॉडल पहले से ही मूल रूप से विज़न का समर्थन करता है, तो OpenClaw
[Image]सारांश ब्लॉक छोड़ देता है और मूल इमेज सीधे मॉडल को देता है। MiniMax एक अपवाद है:minimax,minimax-cn,minimax-portal, औरminimax-portal-cnहमेशा इमेज अंडरस्टैंडिंग को plugin-स्वामित्व वालेMiniMax-VL-01मीडिया प्रदाता के माध्यम से रूट करते हैं, भले ही पुराने MiniMax M2.x चैट मेटाडेटा में इमेज इनपुट का दावा हो (केवलMiniMax-M3और बाद के संस्करणों को मूल रूप से विज़न-सक्षम माना जाता है)। - यदि Gateway/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
प्रदाता प्रमाणीकरण (केवल ऑडियो, स्थानीय CLI से पहले)
ऑडियो का समर्थन करने वाली कॉन्फ़िगर की गई
models.providers.* प्रविष्टियाँ स्थानीय CLI से पहले आज़माई जाती हैं। बंडल किए गए प्रदाताओं का प्राथमिकता क्रम (समान प्राथमिकता की स्थिति में प्रदाता आईडी के वर्णानुक्रम से निर्णय): Groq/OpenAI → xAI → Deepgram → OpenRouter → Google/SenseAudio → Deepinfra/ElevenLabs → Mistral।4
स्थानीय CLI (केवल ऑडियो)
तैयार स्थानीय बाइनरी एक क्रमबद्ध फ़ॉलबैक सूची बनाती हैं:
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 CLI; डिफ़ॉल्ट रूप सेturboमॉडल का उपयोग करता है, स्वचालित रूप से डाउनलोड होता है)
5
प्रदाता प्रमाणीकरण (इमेज/वीडियो)
क्षमता का समर्थन करने वाली कॉन्फ़िगर की गई
models.providers.* प्रविष्टियाँ बंडल किए गए फ़ॉलबैक क्रम से पहले आज़माई जाती हैं। इमेज-सक्षम मॉडल वाले केवल-इमेज कॉन्फ़िगरेशन प्रदाता मीडिया अंडरस्टैंडिंग के लिए स्वतः पंजीकृत हो जाते हैं, भले ही वे बंडल किए गए वेंडर plugin न हों।बंडल किए गए प्रदाताओं का प्राथमिकता क्रम (समान प्राथमिकता की स्थिति में प्रदाता आईडी के वर्णानुक्रम से निर्णय):- इमेज: Anthropic/OpenAI → Google → MiniMax → Deepinfra → MiniMax Portal → Z.AI
- वीडियो: Google → Qwen → Moonshot
6
Antigravity CLI (केवल इमेज/वीडियो)
पहली इंस्टॉल की गई
agy या antigravity बाइनरी (OPENCLAW_ANTIGRAVITY_CLI से ओवरराइड करें), जिसे मीडिया की डायरेक्टरी के विरुद्ध सैंडबॉक्स किया गया हो।macOS/Linux/Windows में बाइनरी पहचान सर्वोत्तम-प्रयास के आधार पर होती है; सुनिश्चित करें कि CLI
PATH पर है (~ का विस्तार किया जाता है), या पूर्ण कमांड पथ वाली स्पष्ट CLI मॉडल प्रविष्टि सेट करें।प्रॉक्सी समर्थन (ऑडियो/वीडियो प्रदाता कॉल)
प्रदाता-आधारित ऑडियो और वीडियो अंडरस्टैंडिंग मानक आउटबाउंड प्रॉक्सी पर्यावरण चरों का पालन करती है, जिनमेंNO_PROXY/no_proxy बायपास नियम शामिल हैं: HTTPS_PROXY, HTTP_PROXY, ALL_PROXY, https_proxy, http_proxy, all_proxy। लोअरकेस चर अपरकेस से अधिक प्राथमिकता लेते हैं। यदि कोई भी सेट नहीं है, तो मीडिया अंडरस्टैंडिंग सीधे निर्गमन का उपयोग करती है; यदि प्रॉक्सी मान विकृत है, तो OpenClaw चेतावनी लॉग करता है और सीधे फ़ेच पर फ़ॉलबैक करता है। इमेज अंडरस्टैंडिंग इस प्रॉक्सी पथ से नहीं गुजरती।
क्षमताएँ
किसीmodels[] प्रविष्टि को विशिष्ट मीडिया प्रकारों तक सीमित करने के लिए उस पर capabilities सेट करें। साझा सूचियों के लिए OpenClaw प्रत्येक बंडल किए गए प्रदाता के अनुसार डिफ़ॉल्ट का अनुमान लगाता है:
CLI प्रविष्टियों के लिए, अप्रत्याशित मिलानों से बचने हेतु
capabilities को स्पष्ट रूप से सेट करें; इसे छोड़ने पर प्रविष्टि उन सभी क्षमता सूचियों के लिए पात्र होगी जिनमें वह दिखाई देती है।
प्रदाता समर्थन मैट्रिक्स
MiniMax टिप्पणी:
minimax, minimax-cn, minimax-portal, और minimax-portal-cn की छवि समझ हमेशा Plugin के स्वामित्व वाले MiniMax-VL-01 मीडिया प्रदाता से आती है, भले ही पुराना MiniMax M2.x चैट मेटाडेटा छवि इनपुट का दावा करे।मॉडल चयन मार्गदर्शन
- गुणवत्ता और सुरक्षा महत्वपूर्ण होने पर प्रत्येक मीडिया क्षमता के लिए वर्तमान पीढ़ी के सबसे शक्तिशाली मॉडल को प्राथमिकता दें।
- अविश्वसनीय इनपुट संभालने वाले टूल-सक्षम एजेंटों के लिए पुराने/कमज़ोर मीडिया मॉडल से बचें।
- उपलब्धता के लिए प्रत्येक क्षमता का कम-से-कम एक फ़ॉलबैक रखें (गुणवत्ता मॉडल + तेज़/सस्ता मॉडल)।
- प्रदाता API अनुपलब्ध होने पर CLI फ़ॉलबैक (
whisper-cli,whisper,gemini) सहायक होते हैं। - ज्ञात फ़ाइल-आउटपुट मोड प्रामाणिक हैं: रिक्त या अनुपलब्ध अनुमानित ट्रांसक्रिप्ट फ़ाइल, CLI प्रगति आउटपुट पर फ़ॉलबैक करने के बजाय कोई ट्रांसक्रिप्ट उत्पन्न नहीं करती।
parakeet-mlx:--output-dirऔर डिफ़ॉल्ट{filename}आउटपुट टेम्पलेट के साथ--output-format txt(याall) का उपयोग करें। अपस्ट्रीमPARAKEET_OUTPUT_FORMATऔरPARAKEET_OUTPUT_TEMPLATEपर्यावरण चर भी स्वीकार किए जाते हैं। OpenClaw<output-dir>/<media-basename>.txtपढ़ता है; डिफ़ॉल्टsrtप्रारूप, अन्य प्रारूप और कस्टम आउटपुट टेम्पलेट stdout का उपयोग जारी रखते हैं।
अटैचमेंट नीति
प्रत्येक क्षमता का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का उपयोग करें (उदाहरण के लिए, केवल DM में)।