Technical reference
Protokol keluaran kaya
Keluaran asisten dapat membawa sekumpulan kecil direktif pengiriman/rendering:
MEDIA:untuk pengiriman lampiran[[audio_as_voice]]untuk petunjuk penyajian 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 nama host internal diabaikan sebagai direktif
lampiran; pengambil media sisi server tetap memberlakukan penjaga jaringan
mereka 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. Channel yang
secara sengaja memetakan balasan gambar Markdown ke lampiran media memilih ikut
di adaptor keluar mereka; Telegram melakukan ini agar  tetap dapat
menjadi balasan media.
Direktif ini terpisah. MEDIA: dan tag balasan/suara tetap menjadi metadata pengiriman; [embed ...] adalah jalur rendering kaya khusus web.
Media hasil alat tepercaya menggunakan parser MEDIA: / [[audio_as_voice]] yang sama sebelum pengiriman, sehingga keluaran alat teks tetap dapat menandai lampiran audio sebagai catatan suara.
Saat streaming blok diaktifkan, MEDIA: tetap menjadi metadata pengiriman
tunggal untuk sebuah giliran. Jika URL media yang sama dikirim dalam blok yang
di-stream dan diulang dalam payload asisten final, OpenClaw mengirim lampiran
sekali dan menghapus duplikat dari payload final.
[embed ...]
[embed ...] adalah satu-satunya sintaks rendering kaya yang berhadapan dengan agen untuk Control UI.
Contoh self-closing:
[embed ref="cv_123" title="Status" /]
Aturan:
[view ...]tidak lagi valid untuk keluaran 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: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.