Technical reference
Protocollo di output avanzato
L'output dell'assistente può contenere un piccolo insieme di direttive di consegna/rendering:
MEDIA:per la consegna degli allegati[[audio_as_voice]]per suggerimenti di presentazione audio[[reply_to_current]]/[[reply_to:<id>]]per metadati di risposta[embed ...]per il rendering avanzato della Control UI
Gli allegati MEDIA: remoti devono essere URL https: pubblici. http: semplice,
loopback, link-local, privati e nomi host interni vengono ignorati come direttive
di allegato; i recuperatori di media lato server applicano comunque le proprie protezioni di rete.
Gli allegati MEDIA: locali possono usare percorsi assoluti, percorsi relativi al workspace o
percorsi ~/ relativi alla home. Passano comunque attraverso i criteri di lettura file dell'agente e
i controlli del tipo di media prima della consegna.
La normale sintassi Markdown per le immagini rimane testo per impostazione predefinita. I canali che intenzionalmente
mappano le risposte immagine Markdown ad allegati media fanno opt-in nel proprio
adattatore in uscita; Telegram lo fa, quindi  può comunque diventare una risposta media.
Queste direttive sono separate. MEDIA: e i tag di risposta/voce rimangono metadati di consegna; [embed ...] è il percorso di rendering avanzato solo web.
I media dei risultati di tool attendibili usano lo stesso parser MEDIA: / [[audio_as_voice]] prima della consegna, quindi gli output testuali dei tool possono comunque contrassegnare un allegato audio come nota vocale.
Quando lo streaming a blocchi è abilitato, MEDIA: rimane un metadato a consegna singola per un
turno. Se lo stesso URL media viene inviato in un blocco in streaming e ripetuto nel payload finale
dell'assistente, OpenClaw consegna l'allegato una sola volta e rimuove il duplicato
dal payload finale.
[embed ...]
[embed ...] è l'unica sintassi di rendering avanzato esposta all'agente per la Control UI.
Esempio autochiudente:
[embed ref="cv_123" title="Status" /]
Regole:
[view ...]non è più valido per il nuovo output.- Gli shortcode embed vengono renderizzati solo sulla superficie del messaggio dell'assistente.
- Vengono renderizzati solo embed basati su URL. Usa
ref="..."ourl="...". - Gli shortcode embed HTML inline in forma di blocco non vengono renderizzati.
- L'interfaccia web rimuove lo shortcode dal testo visibile e renderizza l'embed inline.
MEDIA:non è un alias embed e non deve essere usato per il rendering avanzato degli embed.
Forma di rendering memorizzata
Il blocco di contenuto dell'assistente normalizzato/memorizzato è un elemento canvas strutturato:
{
"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
}
}
I blocchi avanzati memorizzati/renderizzati usano direttamente questa forma canvas. present_view non viene riconosciuto.