> ## Documentation Index
> Fetch the complete documentation index at: https://docs2.openclaw.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Протокол розширеного виводу

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

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

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

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

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

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

  ```json theme={"theme":{"light":"min-light","dark":"min-dark"}}
  { "message": "Here is your image.", "mediaUrl": "/workspace/image.png" }
  ```

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

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

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

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

## `[embed ...]`

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

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

```text theme={"theme":{"light":"min-light","dark":"min-dark"}}
[embed ref="cv_123" title="Status" /]
```

Правила:

* `[view ...]` більше не є дійсним для нового виводу.
* Шорткоди Embed відтворюються лише на поверхні повідомлення асистента.
* Відтворюються лише embed, підкріплені URL. Використовуйте `ref="..."` або `url="..."`.
* Блокові шорткоди inline HTML embed не відтворюються.
* Вебінтерфейс вилучає шорткод із видимого тексту та відтворює embed inline.
* Структуровані медіа не є псевдонімом embed і не повинні використовуватися для розширеного відтворення embed.

## Збережена форма відтворення

Нормалізований/збережений блок вмісту асистента є структурованим елементом `canvas`:

```json theme={"theme":{"light":"min-light","dark":"min-dark"}}
{
  "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)
