Protocolo de salida enriquecida
La salida del asistente puede llevar un pequeño conjunto de directivas de entrega/renderizado:
- campos estructurados
mediaUrl/mediaUrlspara la entrega de archivos adjuntos [[audio_as_voice]]para pistas de presentación de audio[[reply_to_current]]/[[reply_to:<id>]]para metadatos de respuesta[embed ...]para el renderizado enriquecido de la interfaz de usuario de Control
Los archivos adjuntos de medios remotos deben ser URLs https: públicas. Los nombres de host http: simples,
loopback, link-local, privados e internos se ignoran como directivas
de archivo adjunto; los buscadores de medios del lado del servidor todavía hacen cumplir sus propias protecciones de red.
Los archivos adjuntos de medios locales pueden usar rutas absolutas, rutas relativas al espacio de trabajo o
rutas ~/ relativas al directorio principal. Todavía pasan por la política de lectura de archivos del agente y
verificaciones de tipo de medio antes de la entrega.
La sintaxis de imagen de Markdown simple permanece como texto de forma predeterminada. Los canales que intencionalmente
asignan respuestas de imagen de Markdown a archivos adjuntos de medios optan por ello en su
adaptador de salida; Telegram hace esto para que  todavía pueda convertirse en una respuesta multimedia.
Estas directivas son independientes. Los campos de medios estructurados y las etiquetas de respuesta/voz son
metadatos de entrega; [embed ...] es la ruta de renderizado enriquecido solo para web.
Cuando la transmisión por bloques está habilitada, los medios deben transportarse en campos de carga útil estructurados. Si la misma URL de medios se envía en un bloque transmitido y se repite en la carga útil final del asistente, OpenClaw entrega el archivo adjunto una vez y elimina el duplicado de la carga útil final.
[embed ...]
Sección titulada «[embed ...]»[embed ...] es la única sintaxis de renderizado enriquecido orientada al agente para la interfaz de usuario de Control.
Ejemplo de autocierre:
[embed ref="cv_123" title="Status" /]Reglas:
[view ...]ya no es válido para nuevas salidas.- Los shortcodes de inserción (embed) se representan solo en la superficie del mensaje del asistente.
- Solo se procesan las incrustaciones respaldadas por URL. Use
ref="..."ourl="...". - Los shortcodes de inserción HTML en línea en forma de bloque no se representan.
- La interfaz de usuario web elimina el shortcode del texto visible y representa la inserción en línea.
- Los medios estructurados no son un alias de incrustación y no deben usarse para el procesamiento de incrustaciones enriquecidas.
Forma de renderizado almacenado
Sección titulada «Forma de renderizado almacenado»El bloque de contenido del asistente normalizado/almacenado es un elemento estructurado canvas:
{ "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 }}Los bloques enriquecidos almacenados/procesados utilizan esta forma canvas directamente. present_view no se reconoce.