---
read_when:
    - Вам нужно объяснить рабочее пространство агента или структуру его файлов.
    - Вы хотите создать резервную копию рабочего пространства агента или перенести его
sidebarTitle: Agent workspace
summary: 'Рабочее пространство агента: расположение, структура и стратегия резервного копирования'
title: Рабочее пространство агента
x-i18n:
    generated_at: "2026-07-13T18:02:10Z"
    model: gpt-5.6
    postprocess_version: locale-links-v1
    prompt_version: 24
    provider: openai
    source_hash: e09c26d19dd7926b379ae4d094c98c2a2f5b37b9453a4cc2048c3b212ae5a9c2
    source_path: concepts/agent-workspace.md
    workflow: 16
---

Рабочая область — это дом агента: рабочий каталог, используемый файловыми инструментами
и контекстом рабочей области. Храните её в тайне и относитесь к ней как к памяти.

Она отделена от `~/.openclaw/`, где хранятся конфигурация, учётные данные и сеансы.

<Warning>
Рабочая область — это **cwd по умолчанию**, а не жёсткая песочница. Инструменты разрешают относительные пути относительно рабочей области, но абсолютные пути по-прежнему могут обращаться к другим местам на хосте, если песочница не включена. Если вам нужна изоляция, используйте [`agents.defaults.sandbox`](/ru/gateway/sandboxing) (и/или конфигурацию песочницы для отдельного агента).

Когда песочница включена и `workspaceAccess` не равно `"rw"`, инструменты работают внутри рабочей области песочницы в `~/.openclaw/sandboxes`, а не в рабочей области на вашем хосте.
</Warning>

## Расположение по умолчанию

- По умолчанию: `~/.openclaw/workspace`
- Если задано `OPENCLAW_PROFILE` и его значение не равно `"default"`, расположением по умолчанию становится `~/.openclaw/workspace-<profile>`.
- Если задано `OPENCLAW_WORKSPACE_DIR`, оно переопределяет оба указанных выше значения.
- Для агентов не по умолчанию (`agents.list[]`) без явно заданной рабочей области используется `<state-dir>/workspace-<agentId>`, а не общая рабочая область по умолчанию.

Переопределение в `~/.openclaw/openclaw.json`:

```json5
{
  agents: {
    defaults: {
      workspace: "~/.openclaw/workspace",
    },
  },
}
```

Переопределение для отдельного агента: `agents.list[].workspace`.

`openclaw onboard`, `openclaw configure` или `openclaw setup` создают рабочую область и добавляют начальные файлы, если они отсутствуют.

<Note>
При заполнении песочницы копируются только обычные файлы внутри рабочей области; псевдонимы на основе символических и жёстких ссылок, которые разрешаются за пределами исходной рабочей области, игнорируются.
</Note>

Если вы уже самостоятельно управляете файлами рабочей области, отключите создание начальных файлов:

```json5
{ agents: { defaults: { skipBootstrap: true } } }
```

## Дополнительные каталоги рабочих областей

В старых установках мог быть создан `~/openclaw`. Наличие нескольких каталогов рабочих областей может привести к путанице с аутентификацией или рассинхронизации состояния, поскольку одновременно активна только одна рабочая область.

<Note>
**Рекомендация:** используйте одну активную рабочую область. Если дополнительные каталоги больше не нужны, архивируйте их или переместите в корзину (например, `trash ~/openclaw`). Если вы намеренно используете несколько рабочих областей, убедитесь, что `agents.defaults.workspace` (или ключ `workspace` для отдельного агента) указывает на активную рабочую область.
</Note>

## Карта файлов рабочей области

Стандартные файлы, которые OpenClaw ожидает найти в рабочей области:

<AccordionGroup>
  <Accordion title="AGENTS.md — рабочие инструкции">
    Рабочие инструкции для агента и правила использования памяти. Загружаются в начале каждого сеанса. Подходящее место для правил, приоритетов и сведений о том, «как себя вести».
  </Accordion>
  <Accordion title="SOUL.md — личность и тон">
    Личность, тон и границы. Загружается в каждом сеансе. Руководство: [руководство по личности SOUL.md](/ru/concepts/soul).
  </Accordion>
  <Accordion title="USER.md — сведения о пользователе">
    Сведения о пользователе и о том, как к нему обращаться. Загружается в каждом сеансе.
  </Accordion>
  <Accordion title="IDENTITY.md — имя, характер, эмодзи">
    Имя, характер и эмодзи агента. Создаётся или обновляется во время ритуала начальной настройки.
  </Accordion>
  <Accordion title="TOOLS.md — соглашения для локальных инструментов">
    Заметки о локальных инструментах и соглашениях. Не управляет доступностью инструментов, а служит только руководством.
  </Accordion>
  <Accordion title="HEARTBEAT.md — контрольный список Heartbeat">
    Необязательный небольшой контрольный список для запусков Heartbeat. Делайте его кратким, чтобы избежать лишнего расхода токенов.
  </Accordion>
  <Accordion title="BOOT.md — контрольный список запуска">
    Необязательный контрольный список запуска, автоматически выполняемый после перезапуска Gateway (если включены [внутренние обработчики](/ru/automation/hooks)). Делайте его кратким; для исходящих отправок используйте инструмент сообщений.
  </Accordion>
  <Accordion title="BOOTSTRAP.md — ритуал первого запуска">
    Однократный ритуал первого запуска. Создаётся только для совершенно новой рабочей области. Удалите его после завершения ритуала.
  </Accordion>
  <Accordion title="memory/YYYY-MM-DD.md — ежедневный журнал памяти">
    Ежедневный журнал памяти (один файл на день). При запуске сеанса рекомендуется читать записи за сегодня и вчера.
  </Accordion>
  <Accordion title="MEMORY.md — курируемая долговременная память (необязательно)">
    Курируемая долговременная память: устойчивые факты, предпочтения, решения и краткие сводки. Храните подробные журналы в `memory/YYYY-MM-DD.md`, чтобы инструменты памяти могли получать их по запросу без добавления в каждый промпт. Загружайте `MEMORY.md` только в основном приватном сеансе (не в общих или групповых контекстах). Рабочий процесс и автоматическая выгрузка памяти описаны в разделе [Память](/ru/concepts/memory).
  </Accordion>
  <Accordion title="skills/ — Skills рабочей области (необязательно)">
    Skills, относящиеся к рабочей области. Это расположение Skills имеет наивысший приоритет для данной рабочей области — выше Skills агента проекта, личных Skills агента, управляемых Skills, встроенных Skills и `skills.load.extraDirs` при совпадении имён.
  </Accordion>
  <Accordion title="canvas/ — файлы интерфейса Canvas (необязательно)">
    Файлы интерфейса Canvas для отображения узлов (например, `canvas/index.html`).
  </Accordion>
</AccordionGroup>

<Note>
Если начальный файл отсутствует, OpenClaw добавляет в сеанс маркер «файл отсутствует» и продолжает работу. Большие начальные файлы при добавлении обрезаются; настройте ограничения с помощью `agents.defaults.bootstrapMaxChars` (по умолчанию: `20000`) и `agents.defaults.bootstrapTotalMaxChars` (по умолчанию: `60000`). `openclaw setup` может повторно создать отсутствующие файлы по умолчанию, не перезаписывая существующие.
</Note>

## Что НЕ находится в рабочей области

Следующие данные находятся в `~/.openclaw/`, и их НЕ следует фиксировать в репозитории рабочей области:

- `~/.openclaw/openclaw.json` (конфигурация)
- `~/.openclaw/agents/<agentId>/agent/auth-profiles.json` (профили аутентификации моделей: OAuth и ключи API)
- `~/.openclaw/agents/<agentId>/agent/openclaw-agent.sqlite` (строки сеансов, расшифровки и состояние среды выполнения отдельных агентов)
- `~/.openclaw/agents/<agentId>/agent/codex-home/` (учётная запись, конфигурация, Skills, плагины и собственное состояние потоков среды выполнения Codex для отдельного агента)
- `~/.openclaw/credentials/` (состояние каналов и провайдеров, а также устаревшие данные импорта OAuth)
- `~/.openclaw/agents/<agentId>/sessions/` (источники устаревших миграций и архивные или вспомогательные артефакты)
- `~/.openclaw/skills/` (управляемые Skills)

Если необходимо перенести сеансы или конфигурацию, скопируйте их отдельно и не добавляйте в систему контроля версий.

## Резервное копирование с помощью Git (рекомендуется, приватно)

Относитесь к рабочей области как к приватной памяти. Поместите её в **приватный** репозиторий Git, чтобы обеспечить резервное копирование и возможность восстановления.

Выполните следующие действия на компьютере, где работает Gateway (именно там находится рабочая область).

<Steps>
  <Step title="Инициализируйте репозиторий">
    Если Git установлен, совершенно новые рабочие области инициализируются автоматически. Если эта рабочая область ещё не является репозиторием, выполните:

    ```bash
    cd ~/.openclaw/workspace
    git init
    git add AGENTS.md SOUL.md TOOLS.md IDENTITY.md USER.md HEARTBEAT.md memory/
    git commit -m "Add agent workspace"
    ```

  </Step>
  <Step title="Добавьте приватный удалённый репозиторий">
    <Tabs>
      <Tab title="Веб-интерфейс GitHub">
        1. Создайте новый **приватный** репозиторий на GitHub.
        2. Не инициализируйте его с помощью README, чтобы избежать конфликтов слияния.
        3. Скопируйте HTTPS-адрес удалённого репозитория.
        4. Добавьте удалённый репозиторий и отправьте изменения:

        ```bash
        git branch -M main
        git remote add origin <https-url>
        git push -u origin main
        ```
      </Tab>
      <Tab title="GitHub CLI (gh)">
        ```bash
        gh auth login
        gh repo create openclaw-workspace --private --source . --remote origin --push
        ```
      </Tab>
      <Tab title="Веб-интерфейс GitLab">
        1. Создайте новый **приватный** репозиторий на GitLab.
        2. Не инициализируйте его с помощью README, чтобы избежать конфликтов слияния.
        3. Скопируйте HTTPS-адрес удалённого репозитория.
        4. Добавьте удалённый репозиторий и отправьте изменения:

        ```bash
        git branch -M main
        git remote add origin <https-url>
        git push -u origin main
        ```
      </Tab>
    </Tabs>

  </Step>
  <Step title="Последующие обновления">
    ```bash
    git status
    git add .
    git commit -m "Update memory"
    git push
    ```
  </Step>
</Steps>

## Не фиксируйте секреты

<Warning>
Даже в приватном репозитории не храните секреты в рабочей области:

- Ключи API, токены OAuth, пароли или приватные учётные данные.
- Что-либо из `~/.openclaw/`.
- Необработанные выгрузки чатов или конфиденциальные вложения.

Если необходимо хранить ссылки на конфиденциальные данные, используйте заполнители, а настоящий секрет храните в другом месте: в менеджере паролей, переменных среды или `~/.openclaw/`.
</Warning>

Рекомендуемое начальное содержимое `.gitignore`:

```gitignore
.DS_Store
.env
**/*.key
**/*.pem
**/secrets*
```

## Перенос рабочей области на новый компьютер

<Steps>
  <Step title="Клонируйте репозиторий">
    Клонируйте репозиторий по нужному пути (по умолчанию `~/.openclaw/workspace`).
  </Step>
  <Step title="Обновите конфигурацию">
    Задайте для `agents.defaults.workspace` этот путь в `~/.openclaw/openclaw.json`.
  </Step>
  <Step title="Добавьте отсутствующие файлы">
    Выполните `openclaw setup --workspace <path>`, чтобы добавить все отсутствующие файлы.
  </Step>
  <Step title="Скопируйте сеансы (необязательно)">
    Если нужны сеансы, отдельно скопируйте `~/.openclaw/agents/<agentId>/agent/openclaw-agent.sqlite`
    со старого компьютера. Копируйте `~/.openclaw/agents/<agentId>/sessions/`
    только в том случае, если также нужны входные данные устаревших миграций или архивные и вспомогательные артефакты.
  </Step>
</Steps>

## Дополнительные примечания

- При маршрутизации между несколькими агентами можно назначить каждому агенту отдельную рабочую область с помощью `agents.list[].workspace`. Конфигурация маршрутизации описана в разделе [Маршрутизация каналов](/ru/channels/channel-routing).
- Если включено `agents.defaults.sandbox`, сеансы, не являющиеся основными, могут использовать отдельные рабочие области песочницы для каждого сеанса в `agents.defaults.sandbox.workspaceRoot`.

## Связанные разделы

- [Heartbeat](/ru/gateway/heartbeat) — файл рабочей области HEARTBEAT.md
- [Песочница](/ru/gateway/sandboxing) — доступ к рабочей области в изолированных средах
- [Сеанс](/ru/concepts/session) — пути хранения сеансов
- [Постоянные указания](/ru/automation/standing-orders) — постоянные инструкции в файлах рабочей области
