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 ทำเช่นนี้เพื่อให้ ![alt](url) ยังสามารถกลายเป็นการตอบกลับแบบสื่อได้

คำสั่งเหล่านี้แยกจากกัน ฟิลด์สื่อแบบมีโครงสร้างและแท็กตอบกลับ/เสียงเป็น เมทาดาทาการส่งมอบ; [embed ...] คือเส้นทางการเรนเดอร์แบบริชสำหรับเว็บเท่านั้น

เมื่อเปิดใช้การสตรีมแบบบล็อก สื่อต้องถูกส่งผ่านฟิลด์ payload แบบมีโครงสร้าง หาก URL สื่อเดียวกันถูกส่งในบล็อกที่สตรีมและถูกส่งซ้ำใน payload สุดท้ายของผู้ช่วย OpenClaw จะส่งไฟล์แนบหนึ่งครั้งและลบรายการซ้ำออกจาก payload สุดท้าย

[embed ...]

[embed ...] เป็นไวยากรณ์การเรนเดอร์แบบริชเพียงรูปแบบเดียวที่เอเจนต์ใช้ได้สำหรับ UI ควบคุม

ตัวอย่างแบบปิดตัวเอง:

text
[embed ref="cv_123" title="Status" /]

กฎ:

  • [view ...] ไม่ถูกต้องสำหรับเอาต์พุตใหม่อีกต่อไป
  • shortcode ของ Embed จะแสดงผลบนพื้นผิวข้อความของผู้ช่วยเท่านั้น
  • เฉพาะ embed ที่มี URL รองรับเท่านั้นที่จะถูกเรนเดอร์ ใช้ ref="..." หรือ url="..."
  • shortcode ของ embed HTML อินไลน์แบบบล็อกจะไม่ถูกเรนเดอร์
  • UI เว็บจะตัด shortcode ออกจากข้อความที่มองเห็นได้และเรนเดอร์ embed แบบอินไลน์
  • สื่อแบบมีโครงสร้างไม่ใช่นามแฝงของ embed และไม่ควรใช้สำหรับการเรนเดอร์ embed แบบริช

รูปแบบการเรนเดอร์ที่จัดเก็บ

บล็อกเนื้อหาผู้ช่วยที่ผ่านการปรับรูปแบบ/จัดเก็บแล้วเป็นรายการ canvas แบบมีโครงสร้าง:

json
{  "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

ที่เกี่ยวข้อง

Was this useful?
On this page

On this page