يتضمن تطبيق 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
تستضيف Gateway مضيف canvas الخاص بـ A2UI ويُعرَض داخل لوحة Canvas. عندما تعلن Gateway عن مضيف Canvas، ينتقل تطبيق macOS تلقائيًا إلى صفحة مضيف A2UI عند أول فتح. URL مضيف A2UI الافتراضي:أوامر A2UI (v0.8)
تقبل Canvas حاليًا رسائل A2UI v0.8 من الخادم→العميل:beginRenderingsurfaceUpdatedataModelUpdatedeleteSurface
createSurface (v0.9) غير مدعوم.
مثال CLI:
تشغيل عمليات الوكيل من Canvas
يمكن لـ Canvas تشغيل عمليات وكيل جديدة عبر الروابط العميقة:openclaw://agent?...
ملاحظات الأمان
- يمنع مخطط Canvas اجتياز الأدلة؛ يجب أن تكون الملفات ضمن جذر الجلسة.
- يستخدم محتوى Canvas المحلي مخططًا مخصصًا (لا يلزم خادم loopback).
- لا يُسمح بعناوين URL الخارجية من نوع
http(s)إلا عند الانتقال إليها صراحةً.