Canvas (macOS uygulaması)
macOS uygulaması,WKWebView kullanarak ajan 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 konumu
Canvas durumu Application Support altında saklanı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 iskelet sayfa gösterir.
Panel davranışı
- Menü çubuğunun (veya fare imlecinin) yakınında konumlanan, kenarlıksız ve yeniden boyutlandırılabilir panel.
- Oturum başına boyut/konum bilgisini hatırlar.
- Yerel canvas dosyaları değiştiğinde otomatik yeniden yükler.
- Aynı anda yalnızca bir Canvas paneli görünür (gerektiğinde oturum değiştirilir).
CANVAS_DISABLED döndürür.
Ajan API yüzeyi
Canvas, Gateway WebSocket üzerinden sunulur; böylece ajan şunları yapabilir:- paneli gösterme/gizleme
- bir yola veya URL’ye gitme
- JavaScript değerlendirme
- anlık görüntü yakalama
canvas.navigate, yerel canvas yollarını,http(s)URL’lerini vefile://URL’lerini kabul eder."/"geçirirseniz, Canvas yerel iskeleti veyaindex.html’ı gösterir.
Canvas’ta A2UI
A2UI, Gateway canvas ana makinesi tarafından barındırılır ve Canvas paneli içinde işlenir. Gateway bir Canvas ana makinesi duyurduğunda, macOS uygulaması ilk açılışta A2UI ana makine sayfasına otomatik olarak gider. Varsayılan A2UI ana makine 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 ajan çalıştırmalarını tetikleme
Canvas, derin bağlantılar aracılığıyla yeni ajan çalıştırmalarını tetikleyebilir:openclaw://agent?...
Güvenlik notları
- Canvas şeması dizin geçişini engeller; dosyalar oturum kökü altında bulunmalıdır.
- Yerel Canvas içeriği özel bir şema kullanır (local loopback sunucusu gerekmez).
- Harici
http(s)URL’lerine yalnızca açıkça gezildiğinde izin verilir.