---
read_when:
    - تغيير عرض مخرجات المساعد في Control UI
    - تصحيح توجيهات العرض الخاصة بـ `[embed ...]` و`MEDIA:` وreply أو الصوت
summary: بروتوكول shortcodes للمخرجات الغنية من أجل التضمينات والوسائط وتلميحات الصوت والردود
title: بروتوكول المخرجات الغنية
x-i18n:
    generated_at: "2026-04-26T11:39:53Z"
    model: gpt-5.4
    provider: openai
    source_hash: 3c62e41073196c2ff4867230af55469786fcfb29414f5cc5b7d38f6b1ffc3718
    source_path: reference/rich-output-protocol.md
    workflow: 15
---

يمكن أن تحمل مخرجات المساعد مجموعة صغيرة من توجيهات التسليم/العرض:

- `MEDIA:` لتسليم المرفقات
- `[[audio_as_voice]]` لتلميحات عرض الصوت
- `[[reply_to_current]]` / `[[reply_to:<id>]]` لبيانات reply الوصفية
- `[embed ...]` للعرض الغني في Control UI

يجب أن تكون مرفقات `MEDIA:` البعيدة عناوين URL عامة باستخدام `https:`. ويتم تجاهل
عناوين `http:` العادية، وloopback، وlink-local، والعناوين الخاصة، وأسماء المضيفين الداخلية
بوصفها توجيهات مرفقات؛ ولا تزال جالبات الوسائط من جهة الخادم تفرض حواجز الشبكة الخاصة بها.

هذه التوجيهات منفصلة. يظل `MEDIA:` ووسوم reply/الصوت بياناتٍ وصفية للتسليم؛ أما `[embed ...]` فهو مسار العرض الغني الخاص بالويب فقط.
وتستخدم وسائط نتائج الأدوات الموثوق بها محلل `MEDIA:` / `[[audio_as_voice]]` نفسه قبل التسليم، لذلك يمكن لمخرجات الأدوات النصية أيضًا تمييز مرفق صوتي بوصفه ملاحظة صوتية.

عند تفعيل بث الكتل، يظل `MEDIA:` بيانات وصفية لتسليم واحد فقط لكل
دور. وإذا أُرسل عنوان URL للوسائط نفسه في كتلة متدفقة وتكرر في حمولة
المساعد النهائية، يسلّم OpenClaw المرفق مرة واحدة ويزيل النسخة المكررة
من الحمولة النهائية.

## `[embed ...]`

يُعد `[embed ...]` صيغة العرض الغني الوحيدة الموجّهة للوكلاء في Control UI.

مثال ذاتي الإغلاق:

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

القواعد:

- لم يعد `[view ...]` صالحًا للمخرجات الجديدة.
- تُعرَض shortcodes الخاصة بالتضمين في واجهة رسالة المساعد فقط.
- لا تُعرَض إلا التضمينات المدعومة بعنوان URL. استخدم `ref="..."` أو `url="..."`.
- لا تُعرَض shortcodes الخاصة بالتضمين بصيغة HTML المضمنة على شكل كتلة.
- تزيل واجهة الويب shortcode من النص الظاهر وتعرض التضمين داخل السطر.
- لا يُعد `MEDIA:` اسمًا مستعارًا لـ embed ويجب عدم استخدامه لعرض التضمين الغني.

## شكل العرض المخزَّن

تكون كتلة محتوى المساعد المعيارية/المخزنة عنصر `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
  }
}
```

تستخدم الكتل الغنية المخزنة/المعروضة شكل `canvas` هذا مباشرةً. ولا يتم التعرف على `present_view`.

## ذو صلة

- [موائمات RPC](/ar/reference/rpc)
- [Typebox](/ar/concepts/typebox)
