Technical reference
Protocol voor rijke uitvoer
Assistentuitvoer draagt leverings- en renderinstructies over via enkele specifieke kanalen:
- Gestructureerde
mediaUrl- /mediaUrls-velden voor het leveren van bijlagen. [[audio_as_voice]]voor aanwijzingen voor audioweergave.[[reply_to_current]]/[[reply_to:<id>]]voor antwoordmetadata.[embed ...]voor rijke rendering in de Control-UI.
Gestructureerde mediavelden en [[...]]-tags zijn leveringsmetadata. [embed ...] is het afzonderlijke, uitsluitend voor het web bestemde pad voor rijke rendering; het is geen media-alias.
Mediabijlagen
Externe bijlagen moeten openbare https:-URL's zijn. http:-, loopback-, link-local-, privé- en interne hostnamen worden geweigerd als bijlage-instructies; mediaservers die inhoud ophalen, passen daarbovenop hun eigen netwerkbeveiligingen toe.
Lokale bijlagen accepteren absolute paden, werkruimterelatieve paden of thuisdirectoryrelatieve ~/-paden. Vóór levering worden ze nog steeds getoetst aan het bestandsleesbeleid van de agent en aan controles van het mediatype.
Normale Markdown-afbeeldingssyntaxis () blijft standaard tekst. Kanalen die Markdown-afbeeldingen als media-antwoorden willen behandelen, schakelen dit in via hun uitgaande adapter; Telegram doet dit, zodat  een mediabijlage wordt.
Wanneer blokstreaming is ingeschakeld, moeten media via gestructureerde payloadvelden worden meegestuurd. Als dezelfde media-URL in een gestreamd blok en opnieuw in de definitieve payload van de assistent voorkomt, levert OpenClaw deze eenmaal en verwijdert het duplicaat uit de definitieve payload.
[embed ...]
[embed ...] is de enige agentgerichte syntaxis voor rijke rendering in de Control-UI. Zelfsluitend voorbeeld:
[embed ref="cv_123" title="Status" /]Regels:
[view ...]is niet langer geldig voor nieuwe uitvoer.- Shortcodes voor insluitingen worden alleen in het assistentberichtoppervlak gerenderd.
- Alleen insluitingen met een URL als bron worden gerenderd; gebruik
ref="..."ofurl="...". - Inline HTML-shortcodes voor insluitingen in blokvorm worden niet gerenderd.
- De web-UI verwijdert de shortcode uit de zichtbare tekst en rendert de insluiting inline.
Opgeslagen renderstructuur
Het genormaliseerde/opgeslagen inhoudsblok van de assistent 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 }}present_view wordt niet herkend; opgeslagen/gerenderde rijke blokken gebruiken altijd deze canvas-structuur.