WKWebView kullanarak
ajan denetimli bir Canvas paneli yerleştirir.
Canvas’ın bulunduğu yer
Canvas durumu Application Support altında saklanır:~/Library/Application Support/OpenClaw/canvas/<session>/...
openclaw-canvas://<session>/<path> aracılığıyla sunar:
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 başlangıç sayfası gösterir.
Panel davranışı
- Menü çubuğunun (veya fare imlecinin) yakınına sabitlenmiş, kenarlıksız ve yeniden boyutlandırılabilir panel.
- Canvas’ın gösterilmesi uygulamalar arasında geçiş yapmaz veya klavye odağını çalmaz.
- Boyutu/konumu oturum bazında 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 (oturumlar gerektiğinde değiştirilir).
CANVAS_DISABLED döndürür.
Ajan API yüzeyi
Canvas, Gateway WebSocket üzerinden kullanıma sunulur; böylece ajan paneli gösterebilir/gizleyebilir, bir yola veya URL’ye gidebilir, JavaScript değerlendirebilir ve bir anlık görüntü yakalayabilir:eval ve a2ui.*, paneli açmadan veya görünür hâle getirmeden içeriği günceller. Paneli yalnızca
present, navigate veya bir kullanıcı eylemi gösterir; gizlendikten sonra içerik güncellemeleri
gizli panele uygulanmaya devam eder. snapshot için görünür bir panel gerekir; aksi durumda
CANVAS_HIDDEN döndürülür. Önce present çalıştırılmalıdır.
canvas.navigate; yerel Canvas yollarını, http(s) URL’lerini ve file://
URL’lerini kabul eder. "/" iletildiğinde yerel başlangıç sayfası veya index.html gösterilir.
/__openclaw__/canvas/ ve
/__openclaw__/a2ui/ altındaki Gateway tarafından barındırılan hedefler, Node oturumunun mevcut kapsamlı
Canvas URL’si üzerinden çözümlenir. Uygulama, gezinmeden önce bu kısa ömürlü yeteneği yeniler;
yetenek URL’sini kendiniz oluşturmanız veya kopyalamanız gerekmez.
Canvas’ta A2UI
A2UI, Gateway Canvas ana makinesi tarafından barındırılır ve Canvas panelinin içinde işlenir. Gateway bir Canvas ana makinesi duyurduğunda macOS uygulaması, ilk açılışta otomatik olarak A2UI ana makine sayfasına gider. Duyurulan URL yetenek kapsamlıdır; örneğinhttp://<gateway-host>:18789/__openclaw__/cap/<token>/__openclaw__/a2ui/?platform=macos.
Bunu kalıcı bir bağlantı değil, geçici kimlik bilgileri olarak değerlendirin.
A2UI komutları (v0.8)
Canvas, A2UI v0.8 sunucudan istemciye iletilerini kabul eder:beginRendering,
surfaceUpdate, dataModelUpdate, deleteSurface. createSurface (v0.9) henüz
desteklenmemektedir.
Canvas’tan ajan çalıştırmalarını tetikleme
Canvas,openclaw://agent?... derin bağlantıları aracılığıyla yeni ajan çalıştırmalarını tetikleyebilir:
Geçerli bir anahtar sağlanmadığı sürece uygulama onay ister. Anahtarsız
bağlantılar onaydan önce iletiyi ve URL’yi gösterir ve teslimat yönlendirme
alanlarını yok sayar; anahtarlı bağlantılar normal Gateway çalıştırma yolunu kullanır.
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 (geri döngü sunucusu gerekmez).
- Harici
http(s)URL’lerine yalnızca açıkça gidildiğinde izin verilir. - Normal web sayfaları yalnızca işlenir. Ajan eylemleri yalnızca uygulamaya ait Canvas şemasından veya uygulama tarafından seçilen, tam olarak yetenek kapsamlı Gateway A2UI belgesinden kabul edilir; alt çerçeveler, yönlendirmeler, eskimiş yetenekler ve değiştirilmiş sorgular eylem gönderemez.