tools.media المشترك، وترتيب الرجوع الاحتياطي، وتكامل مسار الرد.
الأهداف
- اختياري: هضم الوسائط الواردة مسبقًا إلى نص قصير لتسريع التوجيه وتحسين تحليل الأوامر.
- الحفاظ على تسليم الوسائط الأصلية إلى النموذج (دائمًا).
- دعم واجهات API للمزوّدين وبدائل CLI الاحتياطية.
- السماح بعدة نماذج مع رجوع احتياطي مرتب (خطأ/حجم/مهلة).
السلوك عالي المستوى
إذا فشل الفهم أو كان معطلًا، يستمر تدفق الرد مع المتن الأصلي + المرفقات.
نظرة عامة على الإعدادات
يدعمtools.media نماذج مشتركة بالإضافة إلى تجاوزات لكل قدرة:
مفاتيح المستوى الأعلى
مفاتيح المستوى الأعلى
tools.media.models: قائمة النماذج المشتركة (استخدمcapabilitiesللتقييد).tools.media.image/tools.media.audio/tools.media.video:- الافتراضات (
prompt،maxChars،maxBytes،timeoutSeconds،language) - تجاوزات المزوّد (
baseUrl،headers،providerOptions) - خيارات صوت Deepgram عبر
tools.media.audio.providerOptions.deepgram - عناصر التحكم في صدى نص الصوت (
echoTranscript، الافتراضيfalse؛echoFormat) - قائمة
modelsلكل قدرة اختيارية (مفضلة قبل النماذج المشتركة) - سياسة
attachments(mode،maxAttachments،prefer) scope(تقييد اختياري حسب القناة/نوع الدردشة/مفتاح الجلسة)
- الافتراضات (
tools.media.concurrency: الحد الأقصى لتشغيل القدرات بالتوازي (الافتراضي 2).
إدخالات النماذج
يمكن أن يكون كل إدخالmodels[] مزوّدًا أو CLI:
- إدخال مزوّد
- إدخال CLI
بيانات اعتماد المزوّد (apiKey)
يستخدم فهم الوسائط عبر المزوّدين آلية حل مصادقة المزوّد نفسها المستخدمة في استدعاءات
النماذج العادية: ملفات تعريف المصادقة، ثم متغيرات البيئة، ثم
models.providers.<providerId>.apiKey.
لا تقبل إدخالات tools.media.*.models[] حقل apiKey مضمنًا. يجب أن تكون
قيمة provider في إدخال نموذج الوسائط، مثل openai أو moonshot، لديها
بيانات اعتماد متاحة عبر أحد مصادر مصادقة المزوّد القياسية.
مثال أدنى:
الافتراضات والحدود
الافتراضات الموصى بها:maxChars: 500 للصورة/الفيديو (قصير ومناسب للأوامر)maxChars: غير معيّن للصوت (النص المنسوخ الكامل ما لم تضبط حدًا)maxBytes:- الصورة: 10MB
- الصوت: 20MB
- الفيديو: 50MB
القواعد
القواعد
- إذا تجاوزت الوسائط
maxBytes، يُتخطى ذلك النموذج وتُجرَّب النماذج التالية. - تُعامل ملفات الصوت الأصغر من 1024 بايت كفارغة/تالفة وتُتخطى قبل النسخ عبر المزوّد/CLI؛ ويتلقى سياق الرد الوارد نصًا منسوخًا بديلًا حتميًا حتى يعرف الوكيل أن الملاحظة كانت صغيرة جدًا.
- إذا أعاد النموذج أكثر من
maxChars، يُقص الناتج. - يكون
promptافتراضيًا على عبارة بسيطة “Describe the .” بالإضافة إلى إرشادmaxChars(للصور/الفيديو فقط). - إذا كان نموذج الصورة الأساسي النشط يدعم الرؤية أصلاً، يتخطى OpenClaw كتلة ملخص
[Image]ويمرر الصورة الأصلية إلى النموذج بدلًا من ذلك. - إذا كان نموذج Gateway/WebChat الأساسي نصيًا فقط، تُحفظ مرفقات الصور كمراجع
media://inbound/*مُرحّلة بحيث تظل أدوات الصورة/PDF أو نموذج الصورة المضبوط قادرة على فحصها بدل فقدان المرفق. - تختلف طلبات
openclaw infer image describe --model <provider/model>الصريحة: فهي تشغّل ذلك المزوّد/النموذج القادر على الصور مباشرة، بما في ذلك مراجع Ollama مثلollama/qwen2.5vl:7b. - إذا كان
<capability>.enabled: trueلكن لم تُضبط أي نماذج، يحاول OpenClaw استخدام نموذج الرد النشط عندما يدعم مزوّده القدرة.
الاكتشاف التلقائي لفهم الوسائط (افتراضي)
إذا لم يُضبطtools.media.<capability>.enabled على false وكنت لم تضبط نماذج، يكتشف OpenClaw تلقائيًا بهذا الترتيب ويتوقف عند أول خيار يعمل:
agents.defaults.imageModel
مراجع
agents.defaults.imageModel الأساسية/الاحتياطية (للصور فقط).
فضّل مراجع provider/model. تُؤهَّل المراجع المجردة من إدخالات نماذج المزوّدين القادرة على الصور المضبوطة فقط عندما تكون المطابقة فريدة.واجهات CLI المحلية (للصوت فقط)
واجهات CLI المحلية (إذا كانت مثبتة):
sherpa-onnx-offline(يتطلبSHERPA_ONNX_MODEL_DIRمع encoder/decoder/joiner/tokens)whisper-cli(whisper-cpp؛ يستخدمWHISPER_CPP_MODELأو النموذج الصغير المضمّن)whisper(Python CLI؛ يحمّل النماذج تلقائيًا)
مصادقة المزوّد
- تُجرَّب إدخالات
models.providers.*المضبوطة التي تدعم القدرة قبل ترتيب الرجوع الاحتياطي المضمّن. - يسجل مزوّدو الإعدادات المخصصون للصور فقط الذين لديهم نموذج قادر على الصور أنفسهم تلقائيًا لفهم الوسائط حتى عندما لا يكونوا Plugin مورّدًا مضمّنًا.
- يتوفر فهم الصور عبر Ollama عند اختياره صراحة، على سبيل المثال عبر
agents.defaults.imageModelأوopenclaw infer image describe --model ollama/<vision-model>.
- الصوت: OpenAI → Groq → xAI → Deepgram → OpenRouter → Google → SenseAudio → ElevenLabs → Mistral
- الصورة: OpenAI → Anthropic → Google → MiniMax → MiniMax Portal → Z.AI
- الفيديو: Google → Qwen → Moonshot
اكتشاف الملفات التنفيذية يعمل بأفضل جهد عبر macOS/Linux/Windows؛ تأكد من أن CLI موجود على
PATH (نوسّع ~)، أو اضبط نموذج CLI صريحًا بمسار أمر كامل.دعم بيئة الوكيل (نماذج المزوّدين)
عند تفعيل فهم الوسائط المعتمد على المزوّدين لكل من الصوت والفيديو، يحترم OpenClaw متغيرات بيئة الوكيل القياسية الصادرة لاستدعاءات HTTP الخاصة بالمزوّدين:HTTPS_PROXYHTTP_PROXYALL_PROXYhttps_proxyhttp_proxyall_proxy
القدرات (اختياري)
إذا ضبطتcapabilities، يعمل الإدخال فقط لأنواع الوسائط تلك. بالنسبة إلى القوائم المشتركة، يمكن لـ OpenClaw استنتاج الافتراضات:
openai،anthropic،minimax: صورةminimax-portal: صورةmoonshot: صورة + فيديوopenrouter: صورة + صوتgoogle(Gemini API): صورة + صوت + فيديوqwen: صورة + فيديوmistral: صوتzai: صورةgroq: صوتxai: صوتdeepgram: صوت- أي كتالوج
models.providers.<id>.models[]يحتوي على نموذج قادر على الصور: صورة
capabilities صراحة لتجنب المطابقات المفاجئة. إذا حذفت capabilities، يكون الإدخال مؤهلًا للقائمة التي يظهر فيها.
مصفوفة دعم المزوّدين (تكاملات OpenClaw)
| القدرة | تكامل المزوّد | ملاحظات |
|---|---|---|
| الصورة | OpenAI، OpenAI Codex OAuth، Codex app-server، OpenRouter، Anthropic، Google، MiniMax، Moonshot، Qwen، Z.AI، مزوّدو الإعدادات | تسجل Plugins المورّدين دعم الصور؛ يمكن لـ openai/* استخدام مفتاح API أو توجيه Codex OAuth؛ يستخدم codex/* دورة Codex app-server محدودة؛ يستخدم MiniMax وMiniMax OAuth كلاهما MiniMax-VL-01؛ ويسجل مزوّدو الإعدادات القادرون على الصور أنفسهم تلقائيًا. |
| الصوت | OpenAI، Groq، xAI، Deepgram، OpenRouter، Google، SenseAudio، ElevenLabs، Mistral | نسخ عبر المزوّد (Whisper/Groq/xAI/Deepgram/OpenRouter STT/Gemini/SenseAudio/Scribe/Voxtral). |
| الفيديو | Google، Qwen، Moonshot | فهم الفيديو عبر المزوّد من خلال Plugins المورّدين؛ يستخدم فهم الفيديو في Qwen نقاط نهاية Standard DashScope. |
ملاحظة MiniMax
- يأتي فهم الصور في
minimaxوminimax-cnوminimax-portalوminimax-portal-cnمن موفّر الوسائطMiniMax-VL-01المملوك للـPlugin. - يواصل توجيه الصور التلقائي استخدام
MiniMax-VL-01حتى إذا كانت بيانات تعريف دردشة MiniMax M2.x القديمة تدّعي دعم إدخال الصور.
إرشادات اختيار النموذج
- فضّل أقوى نموذج متاح من أحدث جيل لكل قدرة وسائط عندما تكون الجودة والسلامة مهمتين.
- بالنسبة إلى الوكلاء المفعّلين بالأدوات الذين يتعاملون مع مدخلات غير موثوقة، تجنّب نماذج الوسائط الأقدم أو الأضعف.
- احتفظ بخيار احتياطي واحد على الأقل لكل قدرة لضمان التوافر (نموذج جودة + نموذج أسرع/أرخص).
- تكون بدائل CLI الاحتياطية (
whisper-cliوwhisperوgemini) مفيدة عندما لا تكون واجهات API الخاصة بالموفّرين متاحة. - ملاحظة
parakeet-mlx: مع--output-dir، يقرأ OpenClaw الملف<output-dir>/<media-basename>.txtعندما يكون تنسيق الإخراجtxt(أو غير محدد)؛ وتعود التنسيقات غيرtxtإلى stdout.
سياسة المرفقات
تتحكمattachments لكل قدرة في المرفقات التي تتم معالجتها:
ما إذا كان ستتم معالجة أول مرفق محدد أم جميعها.
حدّ عدد العناصر التي تتم معالجتها.
تفضيل الاختيار بين المرفقات المرشحة.
mode: "all"، تُوسم المخرجات مثل [Image 1/2] و[Audio 2/2] وما إلى ذلك.
سلوك استخراج مرفقات الملفات
سلوك استخراج مرفقات الملفات
- يُغلّف نص الملف المستخرج باعتباره محتوى خارجيًا غير موثوق قبل إلحاقه بموجّه الوسائط.
- تستخدم الكتلة المُحقنة علامات حدود صريحة مثل
<<<EXTERNAL_UNTRUSTED_CONTENT id="...">>>/<<<END_EXTERNAL_UNTRUSTED_CONTENT id="...">>>وتتضمن سطر بيانات تعريفSource: External. - يتعمّد مسار استخراج المرفقات هذا حذف لافتة
SECURITY NOTICE:الطويلة لتجنّب تضخيم موجّه الوسائط؛ وتبقى علامات الحدود والبيانات التعريفية موجودة. - إذا لم يكن في الملف نص قابل للاستخراج، يحقن OpenClaw العبارة
[No extractable text]. - إذا عاد ملف PDF إلى صور صفحات مُصيّرة في هذا المسار، يمرّر OpenClaw صور الصفحات تلك إلى نماذج الرد القادرة على الرؤية ويبقي العنصر النائب
[PDF content rendered to images]في كتلة الملف.
أمثلة التكوين
- النماذج المشتركة + التجاوزات
- الصوت + الفيديو فقط
- الصور فقط
- إدخال واحد متعدد الوسائط
مخرجات الحالة
عند تشغيل فهم الوسائط، يتضمن/status سطر ملخص قصيرًا:
ملاحظات
- الفهم يجري حسب أفضل جهد. لا تمنع الأخطاء الردود.
- لا تزال المرفقات تُمرَّر إلى النماذج حتى عندما يكون الفهم معطّلًا.
- استخدم
scopeلتحديد مواضع تشغيل الفهم (مثل الرسائل المباشرة فقط).