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 использует пользовательскую схему (loopback-сервер не требуется).
  • Внешние URL http(s) разрешены только при явном переходе.
  • Обычные веб-страницы предназначены только для отображения. Действия агента принимаются только из принадлежащей приложению схемы Canvas или из точного документа A2UI в Gateway с ограниченной областью действия возможности, выбранного приложением; вложенные фреймы, перенаправления, устаревшие возможности и изменённые запросы не могут инициировать действия.

Связанные материалы