WKWebView —
легкого візуального робочого простору для HTML/CSS/JS, A2UI та невеликих
інтерактивних інтерфейсів користувача.
Розташування Canvas
Стан Canvas зберігається в 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, застосунок показує вбудовану початкову сторінку.
Поведінка панелі
- Панель без рамки зі змінним розміром, закріплена біля рядка меню (або курсора миші).
- Запам’ятовує розмір і розташування для кожного сеансу.
- Автоматично перезавантажується в разі зміни локальних файлів Canvas.
- Одночасно відображається лише одна панель Canvas (за потреби застосунок перемикає сеанси).
CANVAS_DISABLED.
Поверхня API агента
Canvas доступний через WebSocket Gateway, тому агент може показувати й приховувати панель, переходити до шляху або URL, виконувати JavaScript і створювати знімок:canvas.navigate приймає локальні шляхи Canvas, URL http(s) і URL file://.
Передавання "/" показує локальну початкову сторінку або index.html.
Цільові адреси, розміщені на Gateway, у /__openclaw__/canvas/ і
/__openclaw__/a2ui/ визначаються через поточний URL Canvas з обмеженою областю дії
сеансу вузла. Застосунок оновлює цю короткочасну можливість перед переходом;
самостійно створювати чи копіювати URL можливості не потрібно.
A2UI в Canvas
A2UI розміщується на хості Canvas Gateway і відтворюється всередині панелі Canvas. Коли Gateway повідомляє про хост Canvas, застосунок macOS під час першого відкриття автоматично переходить на сторінку хоста A2UI. Оголошений URL має область дії, обмежену можливістю, наприкладhttp://<gateway-host>:18789/__openclaw__/cap/<token>/__openclaw__/a2ui/?platform=macos.
Вважайте його тимчасовими обліковими даними, а не постійним посиланням.
Команди A2UI (v0.8)
Canvas приймає повідомлення A2UI v0.8 від сервера до клієнта:beginRendering,
surfaceUpdate, dataModelUpdate, deleteSurface. createSurface (v0.9)
ще не підтримується.
Запуск виконань агента з Canvas
Canvas може запускати нові виконання агента через глибинні посиланняopenclaw://agent?...:
Застосунок запитує підтвердження, якщо не надано дійсний ключ. Посилання
без ключа показують повідомлення й URL перед схваленням та ігнорують поля
маршрутизації доставки; посилання з ключем використовують звичайний шлях виконання Gateway.
Примітки щодо безпеки
- Схема Canvas блокує обхід каталогів; файли мають розташовуватися в кореневому каталозі сеансу.
- Локальний вміст Canvas використовує спеціальну схему (сервер зворотного зв’язку не потрібен).
- Зовнішні URL
http(s)дозволені лише за явного переходу. - Звичайні вебсторінки призначені лише для відтворення. Дії агента приймаються лише зі схеми Canvas, що належить застосунку, або з точного документа A2UI Gateway з областю дії, обмеженою можливістю, який вибрав застосунок; підфрейми, переспрямування, застарілі можливості та змінені запити не можуть ініціювати дії.