Technical reference

रिच आउटपुट प्रोटोकॉल

सहायक आउटपुट कुछ समर्पित चैनलों के माध्यम से डिलीवरी/रेंडर निर्देश भेजता है:

  • अटैचमेंट डिलीवरी के लिए संरचित mediaUrl / mediaUrls फ़ील्ड।
  • ऑडियो प्रस्तुति संकेतों के लिए [[audio_as_voice]]
  • उत्तर मेटाडेटा के लिए [[reply_to_current]] / [[reply_to:<id>]]
  • Control UI में रिच रेंडरिंग के लिए [embed ...]

संरचित मीडिया फ़ील्ड और [[...]] टैग डिलीवरी मेटाडेटा हैं। [embed ...] अलग, केवल-वेब रिच-रेंडर पथ है; यह मीडिया उपनाम नहीं है।

मीडिया अटैचमेंट

रिमोट अटैचमेंट सार्वजनिक https: URL होने चाहिए। http:, लूपबैक, लिंक-लोकल, निजी और आंतरिक होस्टनेम को अटैचमेंट निर्देशों के रूप में अस्वीकार किया जाता है; सर्वर-साइड मीडिया फ़ेचर इनके अतिरिक्त अपने नेटवर्क सुरक्षा नियंत्रण लागू करते हैं।

स्थानीय अटैचमेंट निरपेक्ष पथ, वर्कस्पेस-सापेक्ष पथ या होम-सापेक्ष ~/ पथ स्वीकार करते हैं। डिलीवरी से पहले वे फिर भी एजेंट की फ़ाइल-पठन नीति और मीडिया प्रकार जाँच से गुजरते हैं।

सादा Markdown छवि सिंटैक्स (![alt](url)) डिफ़ॉल्ट रूप से टेक्स्ट ही रहता है। जो चैनल Markdown छवियों को मीडिया उत्तर मानना चाहते हैं, वे अपने आउटबाउंड अडैप्टर में इसे चुनते हैं; Telegram ऐसा करता है, इसलिए ![alt](url) मीडिया अटैचमेंट बन जाता है।

ब्लॉक स्ट्रीमिंग सक्षम होने पर मीडिया को संरचित पेलोड फ़ील्ड के माध्यम से भेजना आवश्यक है। यदि वही मीडिया URL किसी स्ट्रीम किए गए ब्लॉक में और फिर अंतिम सहायक पेलोड में दिखाई देता है, तो OpenClaw उसे एक बार डिलीवर करता है और अंतिम पेलोड से डुप्लिकेट हटा देता है।

[embed ...]

[embed ...] Control UI के लिए एजेंट के सामने उपलब्ध एकमात्र रिच-रेंडर सिंटैक्स है। सेल्फ-क्लोज़िंग उदाहरण:

text
[embed ref="cv_123" title="Status" /]

नियम:

  • नए आउटपुट के लिए [view ...] अब मान्य नहीं है।
  • एम्बेड शॉर्टकोड केवल सहायक संदेश सतह पर रेंडर होते हैं।
  • केवल URL-समर्थित एम्बेड रेंडर होते हैं; ref="..." या url="..." का उपयोग करें।
  • ब्लॉक-रूप वाले इनलाइन HTML एम्बेड शॉर्टकोड रेंडर नहीं होते।
  • वेब UI दृश्यमान टेक्स्ट से शॉर्टकोड हटा देता है और एम्बेड को इनलाइन रेंडर करता है।

संग्रहीत रेंडरिंग संरचना

सामान्यीकृत/संग्रहीत सहायक सामग्री ब्लॉक एक संरचित canvas आइटम है:

json
{  "type": "canvas",  "preview": {    "kind": "canvas",    "surface": "assistant_message",    "render": "url",    "viewId": "cv_123",    "url": "/__openclaw__/canvas/documents/cv_123/index.html",    "title": "Status",    "preferredHeight": 320  }}

present_view की पहचान नहीं की जाती; संग्रहीत/रेंडर किए गए रिच ब्लॉक हमेशा इसी canvas संरचना का उपयोग करते हैं।

संबंधित

Was this useful?
On this page

On this page