Technical reference

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

Вивід асистента може містити невеликий набір директив доставки/відтворення:

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

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

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

Звичайний синтаксис зображень 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="...".
  • Блокові шорткоди inline HTML embed не відтворюються.
  • Вебінтерфейс вилучає шорткод із видимого тексту та відтворює embed inline.
  • Структуровані медіа не є псевдонімом 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 не розпізнається.

Пов’язане

Was this useful?
On this page

On this page