Skip to main content
يمكن لـ OpenClaw تلخيص الوسائط الواردة (الصور/الصوت/الفيديو) قبل تشغيل مسار معالجة الرد، بحيث يعمل تحليل الأوامر وتوجيهها على نص قصير بدلًا من وحدات البايت الخام. يكتشف نظام الفهم تلقائيًا الأدوات المحلية أو مفاتيح المزوّدين، ويمكنك أيضًا تكوين نماذج صريحة. تُسلَّم الوسائط الأصلية دائمًا إلى النموذج كالمعتاد؛ وعند فشل الفهم أو تعطيله، يستمر تدفق الرد دون تغيير. تسجّل Plugins الخاصة بالمورّدين بيانات تعريف القدرات (أي مزوّد يدعم أي نوع وسائط، والنموذج الافتراضي، والأولوية). تتولى نواة OpenClaw ملكية تكوين tools.media المشترك، وترتيب البدائل، والتكامل مع مسار معالجة الرد.

آلية العمل

1

جمع المرفقات

اجمع المرفقات الواردة (MediaPaths وMediaUrls وMediaTypes).
2

الاختيار لكل قدرة

لكل قدرة مفعّلة (الصور/الصوت/الفيديو)، حدّد المرفقات وفق سياسة attachments (الافتراضي: المرفق الأول فقط).
3

اختيار نموذج

اختر أول إدخال نموذج مؤهل (الحجم + القدرة + توفر المصادقة).
4

الرجوع إلى البديل عند الفشل

إذا أعاد نموذج خطأ، أو انتهت مهلته، أو تجاوزت الوسائط maxBytes، فجرّب الإدخال التالي.
5

التطبيق عند النجاح

تصبح Body كتلة [Image] أو [Audio] أو [Video]. يعيّن الصوت أيضًا {{Transcript}}؛ ويستخدم تحليل الأوامر نص التعليق التوضيحي عند توفره، وإلا فيستخدم النص المنسوخ. تُحفظ التعليقات التوضيحية بصيغة User text: داخل الكتلة.

التكوين

يحتوي tools.media على قائمة نماذج مشتركة بالإضافة إلى تجاوزات لكل قدرة:
مفاتيح كل قدرة (image/audio/video): توضع الخيارات الخاصة بـ Deepgram ضمن providerOptions.deepgram (الحقل ذو المستوى الأعلى deepgram: { detectLanguage, punctuate, smartFormat } مهمل، لكنه لا يزال مقروءًا).

إدخالات النماذج

كل إدخال في models[] هو إدخال مزوّد (افتراضيًا) أو إدخال CLI:

بيانات اعتماد المزوّد

يستخدم فهم الوسائط عبر المزوّد آلية حل المصادقة نفسها المستخدمة في استدعاءات النماذج العادية: ملفات تعريف المصادقة، ثم متغيرات البيئة، ثم models.providers.<providerId>.apiKey. لا تقبل إدخالات tools.media.*.models[] حقل apiKey مضمنًا.
راجع الأدوات والمزوّدين المخصصين للاطلاع على ملفات التعريف، ومتغيرات البيئة، وعناوين URL الأساسية المخصصة.

القواعد والسلوك

  • تتجاوز الوسائط التي تتخطى maxBytes ذلك النموذج وتجرّب النموذج التالي.
  • تُعامل الملفات الصوتية التي يقل حجمها عن 1024 بايت على أنها فارغة/تالفة، ويجري تخطيها قبل النسخ؛ ويحصل الوكيل بدلًا منها على نص نائب حتمي.
  • إذا كان نموذج الصور الأساسي النشط يدعم الرؤية أصلًا، يتخطى OpenClaw كتلة ملخص [Image] ويمرر الصورة الأصلية مباشرةً إلى النموذج. يُعد MiniMax استثناءً: توجّه minimax وminimax-cn وminimax-portal وminimax-portal-cn دائمًا فهم الصور عبر مزوّد الوسائط MiniMax-VL-01 المملوك للـPlugin، حتى إذا ادّعت بيانات تعريف محادثة MiniMax M2.x القديمة دعم إدخال الصور (لا تُعامل إلا MiniMax-M3 والإصدارات اللاحقة على أنها تدعم الرؤية أصلًا).
  • إذا كان نموذج Gateway/WebChat الأساسي نصيًا فقط، تُحفظ مرفقات الصور كمراجع media://inbound/* مُرحّلة، بحيث تظل أدوات الصور/PDF أو نموذج صور مكوّن قادرة على فحصها بدلًا من فقدان المرفق.
  • يشغّل الأمر الصريح openclaw infer image describe --file <path> --model <provider/model> (الاسم البديل: openclaw capability image describe) ذلك المزوّد/النموذج الداعم للصور مباشرةً، بما في ذلك مراجع Ollama مثل ollama/qwen2.5vl:7b عند تكوين نموذج مطابق يدعم الصور ضمن 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
  • sherpa-onnx-offline الافتراضي لوحدة المعالجة المركزية (يتطلب SHERPA_ONNX_MODEL_DIR مع tokens.txt/encoder.onnx/decoder.onnx/joiner.onnx)
  • whisper-cli عندما يكون التسريع ممكنًا في البناء فحسب أو لم يُلاحظ
  • parakeet-mlx على Apple Silicon (يدعم MLX، مع عدم ملاحظة استخدام الجهاز)
  • whisper (واجهة CLI بلغة Python؛ تستخدم نموذج turbo افتراضيًا، وتُنزّله تلقائيًا)
يُخزّن فحص قدرة الواجهة الخلفية مؤقتًا ولا يحمّل نموذجًا. تظل قدرة البناء، ورايات الواجهة الخلفية المطلوبة، والواجهة الخلفية المرصودة من استدعاء حقيقي منفصلة. يترك whisper.cpp المكتشف تلقائيًا سجلات تشغيل النموذج مفعّلة حتى يمكن تسجيل سطر الواجهة الخلفية المحددة من المنبع. تحتفظ إدخالات CLI الصريحة بترتيبها المكوّن، ورايات الواجهة الخلفية، ورايات الإخراج.
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 تحذيرًا ويعود إلى الجلب المباشر. لا يمر فهم الصور عبر مسار الوكيل هذا.

القدرات

عيّن capabilities في إدخال models[] لتقييده بأنواع وسائط محددة. بالنسبة إلى القوائم المشتركة، يستنتج OpenClaw القيم الافتراضية لكل مزوّد مضمّن: بالنسبة إلى إدخالات CLI، عيّن capabilities صراحةً لتجنب المطابقات غير المتوقعة؛ وإذا حُذفت، يصبح الإدخال مؤهلًا لكل قائمة إمكانات يظهر فيها.

مصفوفة دعم المزوّدين

ملاحظة MiniMax: يأتي فهم الصور في minimax وminimax-cn وminimax-portal وminimax-portal-cn دائمًا من مزوّد الوسائط MiniMax-VL-01 المملوك للـ Plugin، حتى إذا زعمت بيانات دردشة MiniMax M2.x القديمة دعم إدخال الصور.

إرشادات اختيار النموذج

  • فضّل أقوى نموذج من الجيل الحالي لكل إمكانية وسائط عندما تكون الجودة والسلامة مهمتين.
  • بالنسبة إلى الوكلاء المزوّدين بأدوات والذين يتعاملون مع مدخلات غير موثوقة، تجنب نماذج الوسائط الأقدم أو الأضعف.
  • احتفظ بخيار احتياطي واحد على الأقل لكل إمكانية لضمان التوافر (نموذج عالي الجودة + نموذج أسرع أو أقل تكلفة).
  • تساعد خيارات CLI الاحتياطية (whisper-cli وwhisper وgemini) عندما تكون واجهات المزوّدين البرمجية غير متاحة.
  • أوضاع إخراج الملفات المعروفة هي المرجع الحاسم: إذا كان ملف النص المنسوخ المستنتج فارغًا أو مفقودًا، فلن يُنتج أي نص منسوخ بدلًا من الرجوع إلى مخرجات تقدم CLI.
  • parakeet-mlx: استخدم --output-format txt (أو all) مع --output-dir وقالب الإخراج الافتراضي {filename}. تُحترم أيضًا متغيرات البيئة 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"، تُوسم المخرجات بـ [الصورة 1/2] و[الصوت 2/2] وما إلى ذلك.

استخراج مرفقات الملفات

  • يُغلَّف نص الملف المستخرج بوصفه محتوى خارجيًا غير موثوق قبل إلحاقه بموجّه الوسائط، باستخدام علامات حدود مثل <<<EXTERNAL_UNTRUSTED_CONTENT id="...">>> / <<<END_EXTERNAL_UNTRUSTED_CONTENT id="...">>> إضافةً إلى سطر البيانات الوصفية Source: External.
  • يحذف هذا المسار عمدًا لافتة SECURITY NOTICE: الطويلة للحفاظ على قِصر موجّه الوسائط؛ وتظل علامات الحدود والبيانات الوصفية مطبقة.
  • يحصل الملف الذي لا يحتوي على نص قابل للاستخراج على [لا يوجد نص قابل للاستخراج].
  • إذا لجأ ملف PDF إلى صور الصفحات المعروضة، يمرر OpenClaw تلك الصور إلى نماذج الرد التي تدعم الرؤية، ويُبقي العنصر النائب [تم عرض محتوى PDF على هيئة صور] في كتلة الملف.

أمثلة الإعداد

مخرجات الحالة

عند تشغيل فهم الوسائط، يتضمن /status سطر ملخص لكل إمكانية:
لجرد الفحص التمهيدي، شغّل openclaw capability audio providers. تعرض الصفوف المحلية الفائز الاحتياطي المحلي بصورة منفصلة عن اختيار المزوّد العام، والجاهزية، وحقول الخلفية المنفصلة التي توضح القادر والمطلوب والمُلاحظ. يتوفر الاختيار المحلي نفسه أيضًا بوصفه نتيجة معلوماتية من doctor:

ملاحظات

  • يتم الفهم وفق أفضل جهد ممكن. ولا تمنع الأخطاء إرسال الردود.
  • تظل المرفقات تُمرَّر إلى النماذج حتى عندما يكون الفهم معطلًا.
  • استخدم scope لتقييد مواضع تشغيل الفهم (على سبيل المثال، في الرسائل المباشرة فقط).

ذو صلة