WKWebView. Ini
adalah ruang kerja visual ringan untuk HTML/CSS/JS, A2UI, dan permukaan
UI interaktif kecil.
Tempat Canvas berada
Status Canvas disimpan di bawah 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 di root, aplikasi menampilkan halaman scaffold bawaan.
Perilaku panel
- Panel tanpa border yang dapat diubah ukurannya, ditambatkan di dekat bilah menu (atau kursor mouse).
- Mengingat ukuran/posisi per sesi.
- Memuat ulang otomatis saat file canvas lokal berubah.
- Hanya satu panel Canvas yang terlihat pada satu waktu (sesi dialihkan sesuai kebutuhan).
CANVAS_DISABLED.
Permukaan API agen
Canvas diekspos melalui Gateway WebSocket, sehingga agen dapat:- menampilkan/menyembunyikan panel
- menavigasi ke path atau URL
- mengevaluasi JavaScript
- mengambil gambar snapshot
canvas.navigatemenerima path canvas lokal, URLhttp(s), dan URLfile://.- Jika Anda meneruskan
"/", Canvas menampilkan scaffold lokal atauindex.html.
A2UI di Canvas
A2UI di-host oleh host canvas Gateway dan dirender di dalam panel Canvas. Saat Gateway mengiklankan host Canvas, aplikasi macOS otomatis menavigasi ke halaman host A2UI pada pembukaan pertama. URL host A2UI default:Perintah A2UI (v0.8)
Canvas saat ini menerima pesan server→klien A2UI v0.8:beginRenderingsurfaceUpdatedataModelUpdatedeleteSurface
createSurface (v0.9) tidak didukung.
Contoh CLI:
Memicu eksekusi agen dari Canvas
Canvas dapat memicu eksekusi agen baru melalui deep link:openclaw://agent?...
message: prompt agen yang telah diisi sebelumnya.sessionKey: pengidentifikasi sesi stabil.thinking: profil thinking opsional.deliver,to, atauchannel: target pengiriman.timeoutSeconds: batas waktu eksekusi opsional.key: token keamanan yang dibuat aplikasi untuk pemanggil lokal tepercaya.
Catatan keamanan
- Skema Canvas memblokir traversal direktori; file harus berada di bawah root sesi.
- Konten Canvas lokal menggunakan skema kustom (tidak memerlukan server loopback).
- URL
http(s)eksternal hanya diizinkan saat dinavigasi secara eksplisit.