Technical reference
โปรโตคอลผลลัพธ์แบบสมบูรณ์
เอาต์พุตของผู้ช่วยสามารถมีชุดคำสั่งเล็ก ๆ สำหรับการส่งมอบ/การเรนเดอร์ได้:
- ฟิลด์
mediaUrl/mediaUrlsแบบมีโครงสร้างสำหรับการส่งไฟล์แนบ [[audio_as_voice]]สำหรับคำแนะนำการนำเสนอเสียง[[reply_to_current]]/[[reply_to:<id>]]สำหรับเมทาดาทาการตอบกลับ[embed ...]สำหรับการเรนเดอร์แบบริชใน UI ควบคุม
ไฟล์แนบสื่อระยะไกลต้องเป็น URL https: สาธารณะ http: แบบธรรมดา,
ลูปแบ็ก, link-local, ชื่อโฮสต์ส่วนตัว และชื่อโฮสต์ภายในจะถูกละเว้นในฐานะคำสั่งไฟล์แนบ;
ตัวดึงสื่อฝั่งเซิร์ฟเวอร์ยังคงบังคับใช้การป้องกันเครือข่ายของตัวเอง
ไฟล์แนบสื่อในเครื่องสามารถใช้พาธแบบสัมบูรณ์, พาธที่สัมพันธ์กับเวิร์กสเปซ หรือ
พาธที่สัมพันธ์กับโฮมแบบ ~/ ได้ ไฟล์เหล่านี้ยังคงผ่านนโยบายการอ่านไฟล์ของเอเจนต์และ
การตรวจสอบชนิดสื่อก่อนการส่งมอบ
ไวยากรณ์รูปภาพ Markdown แบบธรรมดายังคงเป็นข้อความตามค่าเริ่มต้น ช่องทางที่ตั้งใจ
แมปการตอบกลับรูปภาพ Markdown เป็นไฟล์แนบสื่อจะเลือกใช้ที่ outbound
adapter ของตนเอง; Telegram ทำเช่นนี้เพื่อให้  ยังสามารถกลายเป็นการตอบกลับแบบสื่อได้
คำสั่งเหล่านี้แยกจากกัน ฟิลด์สื่อแบบมีโครงสร้างและแท็กตอบกลับ/เสียงเป็น
เมทาดาทาการส่งมอบ; [embed ...] คือเส้นทางการเรนเดอร์แบบริชสำหรับเว็บเท่านั้น
เมื่อเปิดใช้การสตรีมแบบบล็อก สื่อต้องถูกส่งผ่านฟิลด์ payload แบบมีโครงสร้าง หาก URL สื่อเดียวกันถูกส่งในบล็อกที่สตรีมและถูกส่งซ้ำใน payload สุดท้ายของผู้ช่วย OpenClaw จะส่งไฟล์แนบหนึ่งครั้งและลบรายการซ้ำออกจาก payload สุดท้าย
[embed ...]
[embed ...] เป็นไวยากรณ์การเรนเดอร์แบบริชเพียงรูปแบบเดียวที่เอเจนต์ใช้ได้สำหรับ UI ควบคุม
ตัวอย่างแบบปิดตัวเอง:
[embed ref="cv_123" title="Status" /]กฎ:
[view ...]ไม่ถูกต้องสำหรับเอาต์พุตใหม่อีกต่อไป- shortcode ของ Embed จะแสดงผลบนพื้นผิวข้อความของผู้ช่วยเท่านั้น
- เฉพาะ embed ที่มี URL รองรับเท่านั้นที่จะถูกเรนเดอร์ ใช้
ref="..."หรือurl="..." - shortcode ของ embed HTML อินไลน์แบบบล็อกจะไม่ถูกเรนเดอร์
- UI เว็บจะตัด shortcode ออกจากข้อความที่มองเห็นได้และเรนเดอร์ embed แบบอินไลน์
- สื่อแบบมีโครงสร้างไม่ใช่นามแฝงของ embed และไม่ควรใช้สำหรับการเรนเดอร์ embed แบบริช
รูปแบบการเรนเดอร์ที่จัดเก็บ
บล็อกเนื้อหาผู้ช่วยที่ผ่านการปรับรูปแบบ/จัดเก็บแล้วเป็นรายการ 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 }}บล็อกริชที่จัดเก็บ/เรนเดอร์แล้วใช้รูปแบบ canvas นี้โดยตรง ไม่รู้จัก present_view