Technical reference

Протокол форматированного вывода

Вывод ассистента передаёт директивы доставки и отображения через несколько специализированных каналов:

  • Структурированные поля mediaUrl / mediaUrls для доставки вложений.
  • [[audio_as_voice]] для указаний по представлению аудио.
  • [[reply_to_current]] / [[reply_to:<id>]] для метаданных ответа.
  • [embed ...] для расширенного отображения в интерфейсе управления.

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

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

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

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

Обычный синтаксис изображений 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.

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

Was this useful?
On this page

On this page