---
read_when:
    - Зміна відображення виводу асистента в Control UI
    - Налагодження `[embed ...]`, структурованих медіа, відповіді або директив представлення аудіо
summary: Протокол розширеного виводу для структурованих медіа, вбудованого вмісту, аудіопідказок і відповідей
title: Протокол розширеного виводу
x-i18n:
    generated_at: "2026-06-27T18:18:02Z"
    model: gpt-5.5
    postprocess_version: locale-links-v1
    provider: openai
    source_hash: f5915f0ba29e6b0d27c99b1c7fdc632f1b58a4d96eae26bf6670205bd4fb88b1
    source_path: reference/rich-output-protocol.md
    workflow: 16
---

Вивід асистента може містити невеликий набір директив доставки/відтворення:

- структуровані поля `mediaUrl` / `mediaUrls` для доставки вкладень
- `[[audio_as_voice]]` для підказок щодо подання аудіо
- `[[reply_to_current]]` / `[[reply_to:<id>]]` для метаданих відповіді
- `[embed ...]` для розширеного відтворення в Control UI

Віддалені медіавкладення мають бути публічними URL-адресами `https:`. Звичайні `http:`,
loopback, link-local, приватні та внутрішні імена хостів ігноруються як директиви
вкладень; серверні засоби отримання медіа все одно застосовують власні мережеві запобіжники.

Локальні медіавкладення можуть використовувати абсолютні шляхи, шляхи відносно робочого простору або
шляхи відносно домашнього каталогу `~/`. Перед доставкою вони все одно проходять через політику читання файлів агентом і
перевірки типу медіа.

<Warning>
Не виводьте текстові команди для вкладень із інструментів, plugins, потокових блоків,
виводу браузера або дій із повідомленнями. Натомість використовуйте структуровані медіаполя.

Коректне корисне навантаження інструмента повідомлень:

```json
{ "message": "Here is your image.", "mediaUrl": "/workspace/image.png" }
```

Застарілий текст фінальної відповіді асистента все ще може нормалізуватися для сумісності, але
це не загальний протокол plugin/інструментів.
</Warning>

Звичайний синтаксис зображень Markdown за замовчуванням лишається текстом. Канали, які навмисно
відображають відповіді із зображеннями Markdown у медіавкладення, явно вмикають це у своєму вихідному
адаптері; Telegram робить це, щоб `![alt](url)` усе ще могло стати медіавідповіддю.

Ці директиви окремі. Структуровані медіаполя та теги відповіді/голосу є
метаданими доставки; `[embed ...]` — це шлях розширеного відтворення лише для вебу.

Коли ввімкнене потокове передавання блоків, медіа потрібно передавати у структурованих полях корисного навантаження.
Якщо ту саму URL-адресу медіа надіслано в потоковому блоці та повторено у
фінальному корисному навантаженні асистента, OpenClaw доставляє вкладення один раз і вилучає
дублікат із фінального корисного навантаження.

## `[embed ...]`

`[embed ...]` — єдиний доступний агенту синтаксис розширеного відтворення для Control UI.

Самозакривний приклад:

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

Правила:

- `[view ...]` більше не є дійсним для нового виводу.
- Шорткоди Embed відтворюються лише на поверхні повідомлення асистента.
- Відтворюються лише embed, підкріплені URL. Використовуйте `ref="..."` або `url="..."`.
- Блокові шорткоди inline HTML embed не відтворюються.
- Вебінтерфейс вилучає шорткод із видимого тексту та відтворює embed inline.
- Структуровані медіа не є псевдонімом embed і не повинні використовуватися для розширеного відтворення 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](/uk/reference/rpc)
- [Typebox](/uk/concepts/typebox)
