Naar hoofdinhoud gaan
Assistentuitvoer kan een kleine set leverings-/renderinstructies bevatten:
  • gestructureerde mediaUrl- / mediaUrls-velden voor levering van bijlagen
  • [[audio_as_voice]] voor hints voor audiopresentatie
  • [[reply_to_current]] / [[reply_to:<id>]] voor antwoordmetadata
  • [embed ...] voor rijke rendering in de Control UI
Externe mediabijlagen moeten openbare https:-URL’s zijn. Gewone http:, loopback-, link-local-, privé- en interne hostnamen worden genegeerd als bijlage- instructies; server-side media-fetchers blijven hun eigen netwerkbeveiligingen afdwingen. Lokale mediabijlagen kunnen absolute paden, workspace-relatieve paden of home-relatieve ~/-paden gebruiken. Ze blijven vóór levering door het agent-bestandsleesbeleid en mediatypecontroles gaan.
Geef geen tekstcommando’s voor bijlagen uit vanuit tools, plugins, streamingblokken, browseruitvoer of berichtacties. Gebruik in plaats daarvan gestructureerde mediavelden.Geldige message-tool-payload:
{ "message": "Here is your image.", "mediaUrl": "/workspace/image.png" }
Verouderde tekst in het uiteindelijke assistentantwoord kan nog steeds worden genormaliseerd voor compatibiliteit, maar het is geen algemeen plugin-/toolprotocol.
Gewone Markdown-afbeeldingssyntaxis blijft standaard tekst. Kanalen die Markdown-afbeeldingsantwoorden bewust naar mediabijlagen mappen, kiezen daarvoor in hun uitgaande adapter; Telegram doet dit zodat ![alt](url) nog steeds een mediaantwoord kan worden. Deze instructies staan los van elkaar. Gestructureerde mediavelden en antwoord-/spraaklabels zijn leveringsmetadata; [embed ...] is het rijke renderpad dat alleen voor het web geldt. Wanneer blokstreaming is ingeschakeld, moet media worden meegedragen op gestructureerde payloadvelden. Als dezelfde media-URL in een gestreamd blok wordt verzonden en herhaald in de uiteindelijke assistentpayload, 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 worden alleen in het assistentberichtoppervlak gerenderd.
  • Alleen URL-ondersteunde embeds worden gerenderd. Gebruik ref="..." of url="...".
  • Inline HTML-embed-shortcodes in blokvorm worden niet gerenderd.
  • De web-UI verwijdert de shortcode uit zichtbare tekst en rendert de embed inline.
  • Gestructureerde media is geen embed-alias en moet niet worden gebruikt voor rijke embed-rendering.

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
  }
}
Opgeslagen/gerenderde rijke blokken gebruiken deze canvas-structuur direct. present_view wordt niet herkend.

Gerelateerd