الانتقال إلى المحتوى الرئيسي

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.

تعمل قناة WhatsApp عبر Baileys Web. يوثّق هذا المستند قواعد التعامل مع الوسائط الحالية للإرسال وGateway وردود الوكيل.

الأهداف

  • إرسال الوسائط مع تسميات توضيحية اختيارية عبر openclaw message send --media.
  • السماح للردود التلقائية من صندوق الوارد على الويب بتضمين وسائط إلى جانب النص.
  • إبقاء الحدود حسب النوع معقولة وقابلة للتنبؤ.

سطح CLI

  • openclaw message send --media <path-or-url> [--message <caption>]
    • --media اختياري؛ يمكن أن تكون التسمية التوضيحية فارغة لعمليات الإرسال التي تحتوي على وسائط فقط.
    • يطبع --dry-run الحمولة المحلولة؛ ويُخرج --json{ channel, to, messageId, mediaUrl, caption }.

سلوك قناة WhatsApp Web

  • الإدخال: مسار ملف محلي أو عنوان URL بنظام HTTP(S).
  • التدفق: التحميل في Buffer، واكتشاف نوع الوسائط، وبناء الحمولة الصحيحة:
    • الصور: تغيير الحجم وإعادة الضغط إلى JPEG (أقصى جانب 2048px) مع استهداف channels.whatsapp.mediaMaxMb (الافتراضي: 50 MB).
    • الصوت/الصوتيات/الفيديو: تمرير مباشر حتى 16 MB؛ يُرسل الصوت كملاحظة صوتية (ptt: true).
    • المستندات: أي شيء آخر، حتى 100 MB، مع الحفاظ على اسم الملف عندما يكون متاحًا.
  • تشغيل بنمط GIF في WhatsApp: أرسل MP4 مع gifPlayback: true (CLI: ‏--gif-playback) كي تكرره عملاء الجوال داخل السطر.
  • يفضّل اكتشاف MIME البايتات السحرية، ثم الرؤوس، ثم امتداد الملف.
  • تأتي التسمية التوضيحية من --message أو reply.text؛ التسمية التوضيحية الفارغة مسموحة.
  • التسجيل: يعرض الوضع غير المطوّل ↩️/؛ ويتضمن الوضع المطوّل الحجم ومسار/عنوان URL المصدر.

مسار الرد التلقائي

  • يعيد getReplyFromConfig{ text?, mediaUrl?, mediaUrls? }.
  • عند وجود وسائط، يحل مرسل الويب المسارات المحلية أو عناوين URL باستخدام المسار نفسه مثل openclaw message send.
  • تُرسل إدخالات الوسائط المتعددة بالتتابع إذا قُدمت.

الوسائط الواردة إلى الأوامر (Pi)

  • عندما تتضمن رسائل الويب الواردة وسائط، ينزل OpenClaw الوسائط إلى ملف مؤقت ويعرض متغيرات القوالب:
    • {{MediaUrl}} عنوان URL زائف للوسائط الواردة.
    • {{MediaPath}} مسار مؤقت محلي يُكتب قبل تشغيل الأمر.
  • عند تمكين صندوق عزل Docker لكل جلسة، تُنسخ الوسائط الواردة إلى مساحة عمل صندوق العزل ويُعاد كتابة MediaPath/MediaUrl إلى مسار نسبي مثل media/inbound/<filename>.
  • يعمل فهم الوسائط (إذا ضُبط عبر tools.media.* أو tools.media.models المشتركة) قبل القوالب ويمكنه إدراج كتل [Image] و[Audio] و[Video] في Body.
    • يضبط الصوت {{Transcript}} ويستخدم النص المفرغ لتحليل الأوامر كي تستمر أوامر الشرطة المائلة في العمل.
    • تحافظ أوصاف الفيديو والصور على أي نص تسمية توضيحية لتحليل الأوامر.
    • إذا كان نموذج الصور الأساسي النشط يدعم الرؤية أصلاً، يتخطى OpenClaw كتلة ملخص [Image] ويمرر الصورة الأصلية إلى النموذج بدلاً من ذلك.
  • افتراضيًا، لا تُعالَج إلا أول مرفقات صورة/صوت/فيديو مطابقة؛ اضبط tools.media.<cap>.attachments لمعالجة مرفقات متعددة.

الحدود والأخطاء

حدود الإرسال الصادر (إرسال WhatsApp عبر الويب)
  • الصور: حتى channels.whatsapp.mediaMaxMb (الافتراضي: 50 MB) بعد إعادة الضغط.
  • الصوت/الصوتيات/الفيديو: حد 16 MB؛ المستندات: حد 100 MB.
  • الوسائط كبيرة الحجم أو غير القابلة للقراءة → خطأ واضح في السجلات ويتم تخطي الرد.
حدود فهم الوسائط (النسخ/الوصف)
  • الافتراضي للصور: 10 MB ‏(tools.media.image.maxBytes).
  • الافتراضي للصوت: 20 MB ‏(tools.media.audio.maxBytes).
  • الافتراضي للفيديو: 50 MB ‏(tools.media.video.maxBytes).
  • تتخطى الوسائط كبيرة الحجم الفهم، لكن الردود تظل تمرر بالنص الأصلي.

ملاحظات للاختبارات

  • تغطية تدفقات الإرسال + الرد لحالات الصور/الصوت/المستندات.
  • التحقق من إعادة الضغط للصور (حد الحجم) وعلامة الملاحظة الصوتية للصوت.
  • التأكد من أن الردود متعددة الوسائط تتفرع كعمليات إرسال متتابعة.

ذات صلة