الوسائط والأجهزة

دعم الصور والوسائط

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

الأهداف

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

واجهة سطر الأوامر (CLI)

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

سلوك قناة واتساب ويب

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

خط أنابيب الرد التلقائي

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

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

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

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

حدود الإرسال الصادرة (إرسال واتساب ويب)

  • الصور: حد أقصى ~6 ميجابايت بعد إعادة الضغط.
  • الصوت/الصوت/الفيديو: حد أقصى 16 ميجابايت؛ المستندات: حد أقصى 100 ميجابايت.
  • الوسائط كبيرة الحجم أو غير القابلة للقراءة → خطأ واضح في السجلات ويتم تخطي الرد.

حدود فهم الوسائط (النسخ/الوصف)

  • الصور الافتراضي: 10 ميجابايت (tools.media.image.maxBytes).
  • الصوت الافتراضي: 20 ميجابايت (tools.media.audio.maxBytes).
  • الفيديو الافتراضي: 50 ميجابايت (tools.media.video.maxBytes).
  • تتخطى الوسائط كبيرة الحجم عملية الفهم، لكن الردود لا تزال تتم مع النص الأصلي.

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

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

فهم الوسائطالصوت والملاحظات الصوتية