Перейти до основного вмісту
Вивід асистента може містити невеликий набір директив доставки/відтворення:
  • структуровані поля mediaUrl / mediaUrls для доставки вкладень
  • [[audio_as_voice]] для підказок щодо подання аудіо
  • [[reply_to_current]] / [[reply_to:<id>]] для метаданих відповіді
  • [embed ...] для розширеного відтворення в Control UI
Віддалені медіавкладення мають бути публічними URL-адресами https:. Звичайні http:, loopback, link-local, приватні та внутрішні імена хостів ігноруються як директиви вкладень; серверні засоби отримання медіа все одно застосовують власні мережеві запобіжники. Локальні медіавкладення можуть використовувати абсолютні шляхи, шляхи відносно робочого простору або шляхи відносно домашнього каталогу ~/. Перед доставкою вони все одно проходять через політику читання файлів агентом і перевірки типу медіа.
Не виводьте текстові команди для вкладень із інструментів, plugins, потокових блоків, виводу браузера або дій із повідомленнями. Натомість використовуйте структуровані медіаполя.Коректне корисне навантаження інструмента повідомлень:
{ "message": "Here is your image.", "mediaUrl": "/workspace/image.png" }
Застарілий текст фінальної відповіді асистента все ще може нормалізуватися для сумісності, але це не загальний протокол plugin/інструментів.
Звичайний синтаксис зображень Markdown за замовчуванням лишається текстом. Канали, які навмисно відображають відповіді із зображеннями Markdown у медіавкладення, явно вмикають це у своєму вихідному адаптері; Telegram робить це, щоб ![alt](url) усе ще могло стати медіавідповіддю. Ці директиви окремі. Структуровані медіаполя та теги відповіді/голосу є метаданими доставки; [embed ...] — це шлях розширеного відтворення лише для вебу. Коли ввімкнене потокове передавання блоків, медіа потрібно передавати у структурованих полях корисного навантаження. Якщо ту саму URL-адресу медіа надіслано в потоковому блоці та повторено у фінальному корисному навантаженні асистента, OpenClaw доставляє вкладення один раз і вилучає дублікат із фінального корисного навантаження.

[embed ...]

[embed ...] — єдиний доступний агенту синтаксис розширеного відтворення для Control UI. Самозакривний приклад:
[embed ref="cv_123" title="Status" /]
Правила:
  • [view ...] більше не є дійсним для нового виводу.
  • Шорткоди Embed відтворюються лише на поверхні повідомлення асистента.
  • Відтворюються лише embed, підкріплені URL. Використовуйте ref="..." або url="...".
  • Блокові шорткоди inline HTML embed не відтворюються.
  • Вебінтерфейс вилучає шорткод із видимого тексту та відтворює embed inline.
  • Структуровані медіа не є псевдонімом embed і не повинні використовуватися для розширеного відтворення embed.

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

Нормалізований/збережений блок вмісту асистента є структурованим елементом canvas:
{
  "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 не розпізнається.

Пов’язане