Skip to main content
Застосунок macOS вбудовує керовану агентом панель Canvas за допомогою WKWebView — легкого візуального робочого простору для HTML/CSS/JS, A2UI та невеликих інтерактивних інтерфейсів користувача.

Розташування Canvas

Стан Canvas зберігається в Application Support:
  • ~/Library/Application Support/OpenClaw/canvas/<session>/...
Панель Canvas надає доступ до цих файлів через спеціальну схему URL openclaw-canvas://<session>/<path>:
  • openclaw-canvas://main/ -> <canvasRoot>/main/index.html
  • openclaw-canvas://main/assets/app.css -> <canvasRoot>/main/assets/app.css
  • openclaw-canvas://main/widgets/todo/ -> <canvasRoot>/main/widgets/todo/index.html
Якщо в кореневому каталозі немає index.html, застосунок показує вбудовану початкову сторінку.

Поведінка панелі

  • Панель без рамки зі змінним розміром, закріплена біля рядка меню (або курсора миші).
  • Запам’ятовує розмір і розташування для кожного сеансу.
  • Автоматично перезавантажується в разі зміни локальних файлів Canvas.
  • Одночасно відображається лише одна панель Canvas (за потреби застосунок перемикає сеанси).
Canvas можна вимкнути в Settings -> Allow 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 з областю дії, обмеженою можливістю, який вибрав застосунок; підфрейми, переспрямування, застарілі можливості та змінені запити не можуть ініціювати дії.

Пов’язані матеріали