แอป macOS ฝัง แผง Canvas ที่ควบคุมโดยเอเจนต์ด้วย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.
WKWebView แผงนี้เป็นพื้นที่ทำงานแบบภาพที่มีน้ำหนักเบาสำหรับ HTML/CSS/JS, A2UI และพื้นผิว UI แบบโต้ตอบขนาดเล็ก
ตำแหน่งที่ Canvas อยู่
สถานะ Canvas ถูกเก็บไว้ใต้ Application Support:~/Library/Application Support/OpenClaw/canvas/<session>/...
openclaw-canvas://<session>/<path>
openclaw-canvas://main/→<canvasRoot>/main/index.htmlopenclaw-canvas://main/assets/app.css→<canvasRoot>/main/assets/app.cssopenclaw-canvas://main/widgets/todo/→<canvasRoot>/main/widgets/todo/index.html
index.html อยู่ที่ราก แอปจะแสดง หน้าสแคฟโฟลด์ในตัว
ลักษณะการทำงานของแผง
- แผงไร้ขอบ ปรับขนาดได้ และยึดใกล้แถบเมนู (หรือเคอร์เซอร์เมาส์)
- จดจำขนาด/ตำแหน่งแยกตามเซสชัน
- โหลดใหม่อัตโนมัติเมื่อไฟล์ canvas ในเครื่องเปลี่ยนแปลง
- แสดงแผง Canvas ได้ครั้งละหนึ่งแผงเท่านั้น (สลับเซสชันตามต้องการ)
CANVAS_DISABLED
พื้นผิว API ของเอเจนต์
Canvas ถูกเปิดเผยผ่าน Gateway WebSocket ดังนั้นเอเจนต์จึงสามารถ:- แสดง/ซ่อนแผง
- นำทางไปยังพาธหรือ URL
- ประเมิน JavaScript
- จับภาพสแนปช็อต
canvas.navigateรับ พาธ canvas ในเครื่อง, URL แบบhttp(s)และ URL แบบfile://- หากคุณส่ง
"/"Canvas จะแสดงสแคฟโฟลด์ในเครื่องหรือindex.html
A2UI ใน Canvas
A2UI ถูกโฮสต์โดยโฮสต์ canvas ของ Gateway และเรนเดอร์ภายในแผง Canvas เมื่อ Gateway ประกาศโฮสต์ Canvas แอป macOS จะนำทางอัตโนมัติไปยังหน้าโฮสต์ A2UI ในการเปิดครั้งแรก URL โฮสต์ A2UI เริ่มต้น:คำสั่ง A2UI (v0.8)
ขณะนี้ Canvas รับข้อความเซิร์ฟเวอร์→ไคลเอนต์ A2UI v0.8:beginRenderingsurfaceUpdatedataModelUpdatedeleteSurface
createSurface (v0.9)
ตัวอย่าง CLI:
การทริกเกอร์การรันเอเจนต์จาก Canvas
Canvas สามารถทริกเกอร์การรันเอเจนต์ใหม่ผ่าน deep links:openclaw://agent?...
หมายเหตุด้านความปลอดภัย
- สคีม Canvas บล็อกการข้ามไดเรกทอรี ไฟล์ต้องอยู่ใต้รากของเซสชัน
- เนื้อหา Canvas ในเครื่องใช้สคีมแบบกำหนดเอง (ไม่จำเป็นต้องมีเซิร์ฟเวอร์ local loopback)
- อนุญาต URL ภายนอกแบบ
http(s)เฉพาะเมื่อนำทางอย่างชัดเจนเท่านั้น