Nodes and media

चित्र और मीडिया समर्थन

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 चैनल व्यवहार

  • इनपुट: स्थानीय फ़ाइल पथ या HTTP(S) URL।
  • प्रवाह: Buffer में लोड करें, मीडिया प्रकार पहचानें, और सही पेलोड बनाएं:
    • छवियां: channels.whatsapp.mediaMaxMb (डिफ़ॉल्ट: 50 MB) को लक्ष्य करते हुए JPEG में रीसाइज़ और रीकंप्रेस करें (अधिकतम साइड 2048px)।
    • ऑडियो/वॉइस/वीडियो: 16 MB तक पास-थ्रू; ऑडियो वॉइस नोट (ptt: true) के रूप में भेजा जाता है।
    • दस्तावेज़: बाकी सब कुछ, 100 MB तक, उपलब्ध होने पर फ़ाइल नाम सुरक्षित रखते हुए।
  • WhatsApp GIF-शैली प्लेबैक: MP4 को gifPlayback: true (CLI: --gif-playback) के साथ भेजें ताकि मोबाइल क्लाइंट इनलाइन लूप करें।
  • MIME पहचान पहले मैजिक बाइट्स, फिर हेडर, फिर फ़ाइल एक्सटेंशन को प्राथमिकता देती है।
  • कैप्शन --message या reply.text से आता है; खाली कैप्शन की अनुमति है।
  • लॉगिंग: गैर-वर्बोज़ ↩️/ दिखाता है; वर्बोज़ में आकार और स्रोत पथ/URL शामिल होते हैं।

ऑटो-रिप्लाई पाइपलाइन

  • getReplyFromConfig { text?, mediaUrl?, mediaUrls? } लौटाता है।
  • जब मीडिया मौजूद हो, तो वेब सेंडर स्थानीय पथों या URL को openclaw message send जैसी ही पाइपलाइन का उपयोग करके हल करता है।
  • यदि कई मीडिया प्रविष्टियां दी गई हों, तो उन्हें क्रमिक रूप से भेजा जाता है।

इनबाउंड मीडिया से कमांड तक

  • जब इनबाउंड वेब संदेशों में मीडिया शामिल होता है, OpenClaw उसे अस्थायी फ़ाइल में डाउनलोड करता है और टेम्पलेटिंग वेरिएबल उपलब्ध कराता है:
    • इनबाउंड मीडिया के लिए {{MediaUrl}} छद्म-URL।
    • कमांड चलाने से पहले लिखा गया स्थानीय अस्थायी पथ {{MediaPath}}
  • जब प्रति-सत्र Docker सैंडबॉक्स सक्षम हो, तो इनबाउंड मीडिया सैंडबॉक्स वर्कस्पेस में कॉपी किया जाता है और MediaPath/MediaUrl को media/inbound/<filename> जैसे सापेक्ष पथ में फिर से लिखा जाता है।
  • मीडिया समझ (यदि tools.media.* या साझा tools.media.models के माध्यम से कॉन्फ़िगर की गई हो) टेम्पलेटिंग से पहले चलती है और Body में [Image], [Audio], और [Video] ब्लॉक डाल सकती है।
    • ऑडियो {{Transcript}} सेट करता है और कमांड पार्सिंग के लिए ट्रांसक्रिप्ट का उपयोग करता है ताकि स्लैश कमांड अब भी काम करें।
    • वीडियो और छवि विवरण कमांड पार्सिंग के लिए किसी भी कैप्शन टेक्स्ट को सुरक्षित रखते हैं।
    • यदि सक्रिय प्राथमिक छवि मॉडल पहले से ही मूल रूप से विज़न का समर्थन करता है, तो OpenClaw [Image] सारांश ब्लॉक छोड़ देता है और इसके बजाय मूल छवि को मॉडल को पास करता है।
  • डिफ़ॉल्ट रूप से केवल पहला मेल खाता छवि/ऑडियो/वीडियो अटैचमेंट प्रोसेस किया जाता है; कई अटैचमेंट प्रोसेस करने के लिए tools.media.<cap>.attachments सेट करें।

सीमाएं और त्रुटियां

आउटबाउंड भेजने की कैप्स (WhatsApp web send)

  • छवियां: रीकंप्रेशन के बाद 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)।
  • बहुत बड़ा मीडिया समझ को छोड़ देता है, लेकिन उत्तर मूल बॉडी के साथ फिर भी आगे बढ़ते हैं।

परीक्षणों के लिए नोट्स

  • छवि/ऑडियो/दस्तावेज़ मामलों के लिए भेजने + उत्तर प्रवाह कवर करें।
  • छवियों के लिए रीकंप्रेशन (आकार सीमा) और ऑडियो के लिए वॉइस-नोट फ़्लैग सत्यापित करें।
  • सुनिश्चित करें कि मल्टी-मीडिया उत्तर क्रमिक भेजावों के रूप में फैलते हैं।

संबंधित

Was this useful?
On this page

On this page