Technical reference
Protocol voor rijke uitvoer
Assistant-uitvoer kan een kleine set leverings-/renderdirectieven bevatten:
MEDIA:voor levering van bijlagen[[audio_as_voice]]voor audiopresentatiehints[[reply_to_current]]/[[reply_to:<id>]]voor antwoordmetadata[embed ...]voor rijke rendering in de Control UI
Externe MEDIA:-bijlagen moeten openbare https:-URL's zijn. Platte http:,
loopback, link-local, privé- en interne hostnamen worden genegeerd als bijlage-
directieven; server-side media-fetchers handhaven nog steeds hun eigen netwerkbeveiligingen.
Lokale MEDIA:-bijlagen kunnen absolute paden, workspace-relatieve paden of
home-relatieve ~/-paden gebruiken. Ze gaan nog steeds door het beleid voor bestandslezen van de agent en
controles op mediatypen voordat ze worden geleverd.
Gewone Markdown-afbeeldingssyntaxis blijft standaard tekst. Kanalen die bewust
Markdown-afbeeldingsantwoorden naar mediabijlagen omzetten, schakelen dit in in hun uitgaande
adapter; Telegram doet dit zodat  nog steeds een media-antwoord kan worden.
Deze directieven staan los van elkaar. MEDIA: en antwoord-/spraak-tags blijven leveringsmetadata; [embed ...] is het web-only pad voor rijke rendering.
Vertrouwde tool-resultaatmedia gebruiken dezelfde MEDIA: / [[audio_as_voice]]-parser vóór levering, zodat tekstuitvoer van tools nog steeds een audiobijlage als spraakbericht kan markeren.
Wanneer block streaming is ingeschakeld, blijft MEDIA: metadata voor eenmalige levering voor een
turn. Als dezelfde media-URL in een gestreamd blok wordt verzonden en herhaald in de uiteindelijke
assistant-payload, levert OpenClaw de bijlage één keer en verwijdert het duplicaat
uit de uiteindelijke payload.
[embed ...]
[embed ...] is de enige agent-gerichte syntaxis voor rijke rendering voor de Control UI.
Zelfsluitend voorbeeld:
[embed ref="cv_123" title="Status" /]
Regels:
[view ...]is niet langer geldig voor nieuwe uitvoer.- Embed-shortcodes renderen alleen in het berichtoppervlak van de assistant.
- Alleen embeds met een URL-backend worden gerenderd. Gebruik
ref="..."ofurl="...". - Inline HTML-embed-shortcodes in blokvorm worden niet gerenderd.
- De web-UI verwijdert de shortcode uit zichtbare tekst en rendert de embed inline.
MEDIA:is geen embed-alias en mag niet worden gebruikt voor rijke embed-rendering.
Opgeslagen renderingsvorm
Het genormaliseerde/opgeslagen inhoudsblok van de assistant is een gestructureerd canvas-item:
{
"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
}
}
Opgeslagen/gerenderde rijke blokken gebruiken deze canvas-vorm direct. present_view wordt niet herkend.