---
read_when:
    - Изменение отображения ответов ассистента в интерфейсе управления
    - Отладка директив представления `[embed ...]`, структурированных медиафайлов, ответов или аудио
summary: Протокол расширенного вывода для структурированных медиа, встраиваемого содержимого, подсказок для аудио и ответов
title: Протокол форматированного вывода
x-i18n:
    generated_at: "2026-07-13T20:16:18Z"
    model: gpt-5.6
    postprocess_version: locale-links-v1
    prompt_version: 24
    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>]]` для метаданных ответа.
- `[embed ...]` для расширенного отображения в интерфейсе управления.

Структурированные поля мультимедиа и теги `[[...]]` являются метаданными доставки. `[embed ...]` — это отдельный путь расширенного отображения только для веб-интерфейса, а не псевдоним мультимедиа.

## Мультимедийные вложения

Удалённые вложения должны быть общедоступными URL-адресами `https:`. Имена узлов `http:`, обратной связи, локального канала, частной и внутренней сети отклоняются в директивах вложений; серверные средства получения мультимедиа дополнительно применяют собственные сетевые ограничения.

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

<Warning>
Не выводите текстовые команды для вложений из инструментов, плагинов, потоковых блоков, вывода браузера или действий с сообщениями. Вместо этого используйте структурированные поля мультимедиа:

```json
{ "message": "Вот ваше изображение.", "mediaUrl": "/workspace/image.png" }
```

Текст устаревшего финального ответа всё ещё может нормализоваться для совместимости, но это не общий протокол плагинов или инструментов.
</Warning>

Обычный синтаксис изображений Markdown (`![alt](url)`) по умолчанию остаётся текстом. Каналы, которым требуется обрабатывать изображения Markdown как ответы с мультимедиа, включают это в своём адаптере исходящих сообщений; Telegram делает это, поэтому `![alt](url)` становится мультимедийным вложением.

Когда включена потоковая передача блоков, мультимедиа должны передаваться в структурированных полях полезной нагрузки. Если один и тот же URL-адрес мультимедиа присутствует в потоковом блоке и снова в финальной полезной нагрузке ассистента, OpenClaw доставляет его один раз и удаляет дубликат из финальной полезной нагрузки.

## `[embed ...]`

`[embed ...]` — единственный доступный агенту синтаксис расширенного отображения для интерфейса управления. Пример с самозакрывающимся элементом:

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

Правила:

- `[view ...]` больше не допустим для нового вывода.
- Шорткоды встраивания отображаются только в области сообщений ассистента.
- Отображаются только встраиваемые элементы на основе URL-адресов; используйте `ref="..."` или `url="..."`.
- Блочные шорткоды встраивания со встроенным HTML не отображаются.
- Веб-интерфейс удаляет шорткод из видимого текста и отображает встроенный элемент непосредственно в сообщении.

## Формат хранения и отображения

Нормализованный и сохранённый блок содержимого ассистента представляет собой структурированный элемент `canvas`:

```json
{
  "type": "canvas",
  "preview": {
    "kind": "canvas",
    "surface": "assistant_message",
    "render": "url",
    "viewId": "cv_123",
    "url": "/__openclaw__/canvas/documents/cv_123/index.html",
    "title": "Состояние",
    "preferredHeight": 320
  }
}
```

`present_view` не распознаётся; сохранённые и отображаемые расширенные блоки всегда используют этот формат `canvas`.

## Связанные материалы

- [Адаптеры RPC](/ru/reference/rpc)
- [Typebox](/ru/concepts/typebox)
