---
read_when:
    - Изменение отображения вывода ассистента в Control UI
    - Отладка директив представления `[embed ...]`, структурированных медиа, ответа или аудио
summary: Протокол насыщенного вывода для структурированных медиа, встроенных объектов, аудиоподсказок и ответов
title: Протокол расширенного вывода
x-i18n:
    generated_at: "2026-06-28T23:43:58Z"
    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="..."`.
- Встроенные HTML-короткие коды embed в блочной форме не рендерятся.
- Веб-интерфейс удаляет короткий код из видимого текста и рендерит embed-элемент встроенно.
- Структурированное медиа не является псевдонимом 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-адаптеры](/ru/reference/rpc)
- [Typebox](/ru/concepts/typebox)
