Technical reference
Protokol output kaya
Output asisten dapat membawa sekumpulan kecil direktif pengiriman/perenderan:
- field terstruktur
mediaUrl/mediaUrlsuntuk pengiriman lampiran [[audio_as_voice]]untuk petunjuk presentasi audio[[reply_to_current]]/[[reply_to:<id>]]untuk metadata balasan[embed ...]untuk rendering kaya Control UI
Lampiran media jarak jauh harus berupa URL https: publik. http: biasa,
loopback, link-local, privat, dan hostname internal diabaikan sebagai direktif
lampiran; pengambil media sisi server tetap menerapkan penjaga jaringannya sendiri.
Lampiran media lokal dapat menggunakan path absolut, path relatif terhadap workspace, atau
path ~/ relatif terhadap home. Lampiran tersebut tetap melewati kebijakan baca-file agen dan
pemeriksaan jenis media sebelum pengiriman.
Sintaks gambar Markdown biasa tetap berupa teks secara default. Saluran yang secara sengaja
memetakan balasan gambar Markdown ke lampiran media ikut serta di adaptor keluar
mereka; Telegram melakukan ini sehingga  tetap dapat menjadi balasan media.
Direktif ini terpisah. Field media terstruktur dan tag balasan/suara adalah
metadata pengiriman; [embed ...] adalah jalur render kaya khusus web.
Saat streaming blok diaktifkan, media harus dibawa pada field payload terstruktur. Jika URL media yang sama dikirim dalam blok yang di-streaming dan diulang dalam payload akhir asisten, OpenClaw mengirim lampiran sekali dan menghapus duplikat dari payload akhir.
[embed ...]
[embed ...] adalah satu-satunya sintaks render kaya yang menghadap agen untuk Control UI.
Contoh self-closing:
[embed ref="cv_123" title="Status" /]Aturan:
[view ...]tidak lagi valid untuk output baru.- Shortcode embed dirender hanya di permukaan pesan asisten.
- Hanya embed yang didukung URL yang dirender. Gunakan
ref="..."atauurl="...". - Shortcode embed HTML inline berbentuk blok tidak dirender.
- UI web menghapus shortcode dari teks yang terlihat dan merender embed secara inline.
- Media terstruktur bukan alias embed dan tidak boleh digunakan untuk rendering embed kaya.
Bentuk rendering tersimpan
Blok konten asisten yang dinormalisasi/disimpan adalah item canvas terstruktur:
{ "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 }}Blok kaya yang disimpan/dirender menggunakan bentuk canvas ini secara langsung. present_view tidak dikenali.