Technical reference
Protocolo de salida enriquecida
La salida del asistente transmite directivas de entrega y renderizado mediante varios canales específicos:
- Campos estructurados
mediaUrl/mediaUrlspara entregar archivos adjuntos. [[audio_as_voice]]para indicar cómo presentar el audio.[[reply_to_current]]/[[reply_to:<id>]]para los metadatos de respuesta.[embed ...]para el renderizado enriquecido en la interfaz de control.
Los campos estructurados de contenido multimedia y las etiquetas [[...]] son metadatos de entrega. [embed ...] es la vía independiente de renderizado enriquecido exclusiva de la web; no es un alias de contenido multimedia.
Archivos multimedia adjuntos
Los archivos adjuntos remotos deben usar URL https: públicas. Las URL http:, de local loopback, locales de enlace o privadas, y los nombres de host internos, se rechazan como directivas de archivos adjuntos; además, los sistemas de obtención de contenido multimedia del servidor aplican sus propias medidas de protección de red.
Los archivos adjuntos locales aceptan rutas absolutas, rutas relativas al espacio de trabajo o rutas ~/ relativas al directorio personal. Antes de la entrega, siguen sujetos a la política de lectura de archivos del agente y a las comprobaciones del tipo de contenido multimedia.
La sintaxis de imagen de Markdown sin formato () permanece como texto de forma predeterminada. Los canales que quieran tratar las imágenes de Markdown como respuestas multimedia deben habilitarlo en su adaptador de salida; Telegram lo hace, por lo que  se convierte en un archivo multimedia adjunto.
Cuando la transmisión por bloques está habilitada, el contenido multimedia debe enviarse en campos estructurados de la carga útil. Si la misma URL de contenido multimedia aparece en un bloque transmitido y de nuevo en la carga útil final del asistente, OpenClaw la entrega una sola vez y elimina el duplicado de la carga útil final.
[embed ...]
[embed ...] es la única sintaxis de renderizado enriquecido orientada al agente para la interfaz de control. Ejemplo autocerrado:
[embed ref="cv_123" title="Status" /]Reglas:
[view ...]ya no es válido para las nuevas salidas.- Los códigos cortos de inserción solo se renderizan en la superficie de mensajes del asistente.
- Solo se renderizan las inserciones respaldadas por una URL; use
ref="..."ourl="...". - Los códigos cortos de inserción HTML en línea con formato de bloque no se renderizan.
- La interfaz web elimina el código corto del texto visible y renderiza la inserción en línea.
Estructura de renderizado almacenada
El bloque de contenido normalizado y almacenado del asistente 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 }}present_view no se reconoce; los bloques enriquecidos almacenados y renderizados siempre utilizan esta estructura canvas.