Saltar al contenido principal

Documentation Index

Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt

Use this file to discover all available pages before exploring further.

OpenClaw puede adjuntar metadatos MessagePresentation normalizados a eventos Matrix m.room.message salientes bajo com.openclaw.presentation. Los clientes Matrix estándar siguen renderizando el texto sin formato de body. Los clientes compatibles con OpenClaw pueden leer los metadatos estructurados y renderizar una interfaz de usuario nativa, como botones, selectores, filas de contexto y divisores.

Contenido del evento

Los metadatos se almacenan en el contenido del evento Matrix:
{
  "msgtype": "m.text",
  "body": "Select model\n\n- DeepSeek: /model deepseek/deepseek-chat",
  "com.openclaw.presentation": {
    "version": 1,
    "type": "message.presentation",
    "title": "Select model",
    "tone": "info",
    "blocks": [
      {
        "type": "select",
        "placeholder": "Choose model",
        "options": [
          {
            "label": "DeepSeek",
            "value": "/model deepseek/deepseek-chat"
          }
        ]
      }
    ]
  }
}
version es la versión del esquema de metadatos de presentación de Matrix. type es un discriminador estable para clientes compatibles con OpenClaw. Los clientes deben ignorar valores de type desconocidos, versiones desconocidas que no puedan interpretar de forma segura y tipos de bloque desconocidos.

Comportamiento de reserva

OpenClaw siempre renderiza una alternativa de texto sin formato legible en body. Los metadatos estructurados son aditivos y no deben ser necesarios para la interoperabilidad básica con Matrix. Los clientes no compatibles deben seguir mostrando el texto de reserva. Los clientes compatibles con OpenClaw pueden preferir los metadatos estructurados para la visualización, a la vez que conservan el texto de reserva para copia, búsqueda, notificaciones y accesibilidad.

Bloques admitidos

El adaptador saliente de Matrix anuncia compatibilidad con:
  • buttons
  • select
  • context
  • divider
Los clientes deben tratar estos bloques como indicaciones de presentación de mejor esfuerzo. Los campos desconocidos y los tipos de bloque desconocidos deben ignorarse en lugar de provocar que el mensaje completo no se pueda renderizar.

Interacciones

Estos metadatos no añaden semántica de devolución de llamada de Matrix. Los valores de botones y opciones de selección son cargas de interacción de reserva, normalmente comandos de barra diagonal o comandos de texto. Un cliente Matrix que quiera admitir interacción puede enviar el valor seleccionado de vuelta a la sala como un mensaje normal. Por ejemplo, un botón con el valor /model deepseek/deepseek-chat puede gestionarse enviando ese valor como un mensaje de texto Matrix cifrado en la misma sala.

Relación con los metadatos de aprobación

com.openclaw.presentation es para la presentación general enriquecida de mensajes. Las solicitudes de aprobación usan los metadatos dedicados com.openclaw.approval porque las aprobaciones contienen estado, decisiones y detalles de ejecución/Plugin sensibles para la seguridad. Si ambas claves de metadatos están presentes en el mismo evento, los clientes deben preferir el renderizador de aprobación dedicado.

Mensajes multimedia

Cuando una respuesta contiene varias URL multimedia, OpenClaw envía un evento Matrix por cada URL multimedia. Los metadatos de presentación se adjuntan solo al primer evento multimedia para que los clientes tengan una carga estructurada estable y se eviten renderizadores duplicados. Mantén compactos los metadatos de presentación. El texto grande visible para el usuario debe permanecer en body y usar la ruta normal de fragmentación de texto de Matrix.