Web interfaces

Робочі простори

Вкладка Робочі простори в інтерфейсі керування — це поверхня, яку ви та ваші агенти впорядковуєте разом. Вкладки, віджети, їхнє розташування у 12-стовпцевій сітці та їхні прив’язки даних зберігаються в одному документі. Усе, що може редагувати цей документ, може компонувати робочий простір: ви, CLI openclaw workspaces або агент, що викликає інструменти workspace_*.

Кожен запис проходить через той самий перевірений шлях, тому макети людини й агента не можуть розійтися. Кожен прийнятий запис збільшує версію та транслює подію plugin.workspaces.changed, тож редагування агента з’являється у вже відкритому браузері без перезавантаження.

Увімкнення робочих просторів

Вбудований Plugin робочих просторів за замовчуванням вимкнено. В інтерфейсі керування відкрийте Плагіни, знайдіть Робочі простори та виберіть Увімкнути. Його також можна ввімкнути з CLI:

sh
openclaw plugins enable workspaces

Увімкнення Plugin додає вкладку Робочі простори та робить доступними CLI openclaw workspaces і агентські інструменти workspace_*. Вимкнення прибирає ці поверхні, не видаляючи базу даних робочих просторів або ресурси віджетів.

Робочий простір за замовчуванням

Під час першого завантаження ви отримуєте робочий простір Огляд: картки витрат і токенів, стан екземплярів, сеанси, стан Cron і стрічку активності. Це звичайний вміст робочого простору — перетягуйте його, згортайте, приховуйте або видаляйте.

Вбудовані віджети

Разом із Plugin постачаються дев’ять довірених віджетів, що відображаються як власний інтерфейс:

stat-card, markdown, table, iframe-embed, sessions, usage, cron, instances, activity.

Віджети оголошують дані через прив’язки й ніколи не отримують їх самостійно:

Прив’язка Результат
static Літеральне значення, збережене в документі (максимум 8 КБ).
file Файл JSON, Markdown або CSV у <stateDir>/workspaces/data/, за потреби звужений вказівником JSON.
rpc Один із фіксованого дозволеного списку методів Gateway лише для читання, який опрацьовує довірений інтерфейс керування.

Прив’язка file — найпростіший спосіб додати власні числа до робочого простору: запишіть файл JSON у каталог даних і спрямуйте на нього stat-card.

Походження

Вкладки та віджети мають позначку createdByuser, system або agent:<id> — установлену відповідно до того, хто виконав запис. Викликач не може передати її, тому агент не може позначити свою роботу як вашу, а мітка «ШІ» на створеному агентом віджеті завжди означає саме це.

Власні віджети

Агент може створити справжній HTML-віджет за допомогою workspace_widget_scaffold (або це можете зробити ви через openclaw workspaces widget-scaffold <name>). Створений агентом код вважається ворожим:

  • Створений каркас віджета додається до реєстру зі станом очікує схвалення. Жоден iframe не створюється, а маршрут ресурсів повертає 404 для його файлів, доки оператор його не схвалить.
  • Схвалення є окремим рішенням від редагування макета: workspaces.widget.approve потребує області дії operator.approvals — тієї самої, що захищає схвалення виконання команд.
  • Схвалений віджет відображається в <iframe sandbox="allow-scripts"> — і ніколи не використовує allow-same-origin — тому його джерело непрозоре, і він не може отримати доступ до DOM батьківського документа, сховища або файлів cookie.
  • Його ресурси обслуговуються з connect-src 'none', що блокує мережеві звернення скриптів, як-от fetch, XHR і WebSockets. Він не має облікових даних і ніколи не взаємодіє з Gateway.
  • Дані надходять до нього лише через версіонований міст postMessage. Власний код може отримувати оголошені прив’язки static, які вже є значеннями робочого простору, створеними агентом або оператором. Прив’язки RPC і файлів залишаються в довірених вбудованих віджетах: браузери дозволяють ізольованому дочірньому елементу переходити у власному фреймі, тому привілейовані дані ніколи не передаються до створеного агентом HTML.

Надсилання запиту до чату з віджета додатково потребує можливості в маніфесті, підтвердження для кожного виклику з точним цитуванням тексту та проходить через обмеження частоти запитів.

CLI

sh
openclaw workspaces tabs listopenclaw workspaces tabs create --title Financialsopenclaw workspaces widget-scaffold revenue-chart --title "Revenue Chart"openclaw workspaces widget-approve revenue-chart

Для widget-approve потрібен пристрій, спарений з областю дії operator.approvals; для схвалення через інтерфейс керування це не потрібно, оскільки браузер уже має цю область дії.

Зберігання

Документ робочого простору, реєстр власних віджетів і кільцевий буфер скасування на 20 записів зберігаються в <stateDir>/workspaces/workspaces.sqlite. Ресурси створених агентом віджетів залишаються на диску в <stateDir>/workspaces/widgets/<name>/, а дані файлових прив’язок — у <stateDir>/workspaces/data/, оскільки агент створює їх звичайними файловими інструментами, а маршрут віджета віддає їхні байти.

Was this useful?
On this page

On this page