Canvas (macOS uygulaması)
macOS uygulaması,WKWebView kullanarak aracı tarafından kontrol edilen bir Canvas paneli gömer. Bu, HTML/CSS/JS, A2UI ve küçük etkileşimli UI yüzeyleri için hafif bir görsel çalışma alanıdır.
Canvas’ın bulunduğu yer
Canvas durumu Application Support altında depolanır:~/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 yoksa uygulama yerleşik bir iskele sayfası gösterir.
Panel davranışı
- Menü çubuğunun (veya fare imlecinin) yakınında konumlanan çerçevesiz, yeniden boyutlandırılabilir panel.
- Oturum başına boyutu/konumu hatırlar.
- Yerel canvas dosyaları değiştiğinde otomatik olarak yeniden yüklenir.
- Aynı anda yalnızca bir Canvas paneli görünür durumdadır (gerektikçe oturum değiştirilir).
CANVAS_DISABLED döndürür.
Aracı API yüzeyi
Canvas, Gateway WebSocket üzerinden sunulur; böylece aracı şunları yapabilir:- paneli gösterme/gizleme
- bir yola veya URL’ye gitme
- JavaScript değerlendirme
- anlık görüntü alma
canvas.navigate, yerel canvas yollarını,http(s)URL’lerini vefile://URL’lerini kabul eder."/"geçirirseniz Canvas yerel iskeleyi veyaindex.htmldosyasını gösterir.
Canvas içinde A2UI
A2UI, Gateway canvas host tarafından barındırılır ve Canvas panelinin içinde işlenir. Gateway bir Canvas host duyurduğunda, macOS uygulaması ilk açılışta otomatik olarak A2UI host sayfasına gider. Varsayılan A2UI host URL’si:A2UI komutları (v0.8)
Canvas şu anda A2UI v0.8 sunucu→istemci mesajlarını kabul eder:beginRenderingsurfaceUpdatedataModelUpdatedeleteSurface
createSurface (v0.9) desteklenmez.
CLI örneği:
Canvas’tan aracı çalıştırmalarını tetikleme
Canvas, derin bağlantılar aracılığıyla yeni aracı çalıştırmalarını tetikleyebilir:openclaw://agent?...
Güvenlik notları
- Canvas şeması dizin geçişini engeller; dosyaların oturum kökü altında bulunması gerekir.
- Yerel Canvas içeriği özel bir şema kullanır (loopback sunucusu gerekmez).
- Harici
http(s)URL’lerine yalnızca açıkça gidildiğinde izin verilir.