---
read_when:
    - Створення або впорядкування вкладок і віджетів робочого простору
    - Надання агенту можливості формувати робочий простір
    - Огляд моделі схвалення та ізоляції користувацьких віджетів
summary: Компоновані агентами робочі простори в інтерфейсі керування
title: Робочі простори
x-i18n:
    generated_at: "2026-07-12T13:51:19Z"
    model: gpt-5.6
    postprocess_version: locale-links-v1
    provider: openai
    source_hash: 234baefc18be736599addeeb35f8404b617c1d8f07f058c4a02ec2615ca21aa0
    source_path: web/workspaces.md
    workflow: 16
---

Вкладка **Робочі простори** в [інтерфейсі керування](/uk/web/control-ui) — це поверхня, яку ви та ваші
агенти впорядковуєте разом. Вкладки, віджети, їхнє розташування у 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`.

## Походження

Вкладки та віджети мають позначку `createdBy` — `user`, `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 list
openclaw workspaces tabs create --title Financials
openclaw 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/`, оскільки агент створює їх звичайними файловими інструментами, а
маршрут віджета віддає їхні байти.
