WKWebView. Jest to lekkie wizualne środowisko robocze dla HTML/CSS/JS, A2UI oraz niewielkich interaktywnych powierzchni UI.
Gdzie znajduje się Canvas
Stan Canvas jest przechowywany w 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, aplikacja pokazuje wbudowaną stronę szkieletową.
Zachowanie panelu
- Panel bez obramowania, o zmiennym rozmiarze, zakotwiczony w pobliżu paska menu (lub kursora myszy).
- Zapamiętuje rozmiar/pozycję dla każdej sesji.
- Automatycznie przeładowuje się, gdy lokalne pliki canvas się zmienią.
- Widoczny jest tylko jeden panel Canvas naraz (sesja jest przełączana w razie potrzeby).
CANVAS_DISABLED.
Powierzchnia API agenta
Canvas jest udostępniany przez Gateway WebSocket, więc agent może:- pokazywać/ukrywać panel
- przechodzić do ścieżki lub URL
- wykonywać JavaScript
- przechwytywać obraz zrzutu
canvas.navigateakceptuje lokalne ścieżki canvas, URL-ehttp(s)oraz URL-efile://.- Jeśli przekażesz
"/", Canvas pokaże lokalny szkielet alboindex.html.
A2UI w Canvas
A2UI jest hostowany przez host canvas Gateway i renderowany w panelu Canvas. Gdy Gateway ogłasza host Canvas, aplikacja macOS automatycznie przechodzi do strony hosta A2UI przy pierwszym otwarciu. Domyślny URL hosta A2UI:Polecenia A2UI (v0.8)
Canvas obecnie akceptuje komunikaty serwer→klient A2UI v0.8:beginRenderingsurfaceUpdatedataModelUpdatedeleteSurface
createSurface (v0.9) nie jest obsługiwane.
Przykład CLI:
Wyzwalanie uruchomień agenta z Canvas
Canvas może wyzwalać nowe uruchomienia agenta przez głębokie linki:openclaw://agent?...
message: wstępnie wypełniony prompt agenta.sessionKey: stabilny identyfikator sesji.thinking: opcjonalny profil myślenia.deliver,tolubchannel: cel dostarczenia.timeoutSeconds: opcjonalny limit czasu uruchomienia.key: wygenerowany przez aplikację token bezpieczeństwa dla zaufanych lokalnych wywołujących.
Uwagi dotyczące bezpieczeństwa
- Schemat Canvas blokuje przechodzenie po katalogach; pliki muszą znajdować się w katalogu głównym sesji.
- Lokalna zawartość Canvas używa niestandardowego schematu (serwer local loopback nie jest wymagany).
- Zewnętrzne URL-e
http(s)są dozwolone tylko po jawnej nawigacji.