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

Вкладка **Рабочие пространства** в [интерфейсе управления](/ru/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/`, поскольку агент создаёт их обычными файловыми инструментами,
а маршрут виджета передаёт их байты.
