---
read_when:
    - Control UI में सहायक आउटपुट की रेंडरिंग बदलना
    - '`[embed ...]`, संरचित मीडिया, उत्तर, या ऑडियो प्रस्तुति निर्देशों की डीबगिंग'
summary: संरचित मीडिया, एम्बेड, ऑडियो संकेतों और उत्तरों के लिए रिच आउटपुट प्रोटोकॉल
title: रिच आउटपुट प्रोटोकॉल
x-i18n:
    generated_at: "2026-07-27T18:57:32Z"
    model: gpt-5.6
    postprocess_version: locale-links-v1
    prompt_version: 32
    provider: openai
    source_hash: cbfe68f38c871f5f6d2811eb52b18d0143606f30283023ae96db64543eed95a1
    source_path: reference/rich-output-protocol.md
    workflow: 16
---

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

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

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

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

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

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

<Warning>
टूल, Plugin, स्ट्रीमिंग ब्लॉक, ब्राउज़र आउटपुट या संदेश कार्रवाइयों से अटैचमेंट के लिए टेक्स्ट कमांड उत्सर्जित न करें। इसके बजाय संरचित मीडिया फ़ील्ड का उपयोग करें:

```json
{ "message": "यह आपकी छवि है।", "mediaUrl": "/workspace/image.png" }
```

संगतता के लिए पुराने अंतिम-उत्तर टेक्स्ट को अब भी सामान्यीकृत किया जा सकता है, लेकिन यह कोई सामान्य Plugin/टूल प्रोटोकॉल नहीं है।
</Warning>

सामान्य 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` संरचना का उपयोग करते हैं।

## संबंधित

- [RPC अडैप्टर](/hi/reference/rpc)
- [Typebox](/hi/concepts/typebox)
