Technical reference

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

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

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

Структуровані поля медіа та теги [[...]] є метаданими доставки. [embed ...] — це окремий, призначений лише для вебінтерфейсу шлях розширеного відображення, а не псевдонім медіа.

Медіавкладення

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

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

Звичайний синтаксис зображень 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": "Status",    "preferredHeight": 320  }}

present_view не розпізнається; збережені/відображені розширені блоки завжди використовують цю структуру canvas.

Пов’язані матеріали

Was this useful?
On this page

On this page