يمكن لـ OpenClaw تلخيص الوسائط الواردة (الصور/الصوت/الفيديو) قبل تشغيل مسار الرد. يكتشف تلقائيًا متى تكون الأدوات المحلية أو مفاتيح المزوّدين متاحة، ويمكن تعطيله أو تخصيصه. إذا كان الفهم متوقفًا، فستظل النماذج تتلقى الملفات/عناوين URL الأصلية كالمعتاد. تُسجَّل سلوكيات الوسائط الخاصة بالمورّدين بواسطة Plugins المورّدين، بينما يمتلك قلب OpenClaw إعدادDocumentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
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
القيم الافتراضية والحدود
القيم الافتراضية الموصى بها: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, config providers | تسجّل Plugins المورّدين دعم الصور؛ يستخدم openai-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-portalمن مزوّد الوسائطMiniMax-VL-01المملوك للـ Plugin. - لا يزال كتالوج النصوص المضمّن في MiniMax يبدأ كنصي فقط؛ إدخالات
models.providers.minimaxالصريحة تنشئ مراجع دردشة M2.7 قادرة على الصور.
إرشادات اختيار النموذج
- فضّل أقوى نموذج متاح من أحدث جيل لكل قدرة وسائط عندما تهم الجودة والسلامة.
- بالنسبة إلى الوكلاء الممكّنين بالأدوات الذين يتعاملون مع مدخلات غير موثوقة، تجنب نماذج الوسائط الأقدم/الأضعف.
- احتفظ ببديل احتياطي واحد على الأقل لكل قدرة لضمان التوفر (نموذج جودة + نموذج أسرع/أرخص).
- بدائل 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] وما إلى ذلك.
File-attachment extraction behavior
File-attachment extraction behavior
- يُغلَّف نص الملف المستخرج بوصفه محتوى خارجيًا غير موثوق قبل إلحاقه بمطالبة الوسائط.
- تستخدم الكتلة المُدرجة علامات حدود صريحة مثل
<<<EXTERNAL_UNTRUSTED_CONTENT id="...">>>/<<<END_EXTERNAL_UNTRUSTED_CONTENT id="...">>>وتتضمن سطر بيانات وصفيةSource: External. - يحذف مسار استخراج المرفقات هذا عمدًا شريط
SECURITY NOTICE:الطويل لتجنب تضخيم مطالبة الوسائط؛ وتظل علامات الحدود والبيانات الوصفية موجودة. - إذا لم يكن في الملف نص قابل للاستخراج، يُدرج OpenClaw العبارة
[No extractable text]. - إذا عاد ملف PDF احتياطيًا إلى صور صفحات معروضة في هذا المسار، تُبقي مطالبة الوسائط العنصر النائب
[PDF content rendered to images; images not forwarded to model]لأن خطوة استخراج المرفقات هذه تمرر كتلًا نصية، لا صور PDF المعروضة.
أمثلة التكوين
مخرجات الحالة
عند تشغيل فهم الوسائط، يتضمن/status سطر ملخص قصيرًا:
ملاحظات
- الفهم يتم وفق أفضل جهد ممكن. لا تمنع الأخطاء الردود.
- تظل المرفقات تُمرر إلى النماذج حتى عندما يكون الفهم معطلًا.
- استخدم
scopeللحد من الأماكن التي يعمل فيها الفهم (مثل الرسائل المباشرة فقط).