Рабочее пространство агента

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

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

Важно: рабочее пространство — это cwd по умолчанию, а не жесткая песочница. Инструменты разрешают относительные пути относительно рабочего пространства, но абсолютные пути все равно могут достичь других мест на хосте, если песочница не включена. Если вам нужна изоляция, используйте agents.defaults.sandbox (и/или конфигурацию песочницы для конкретного агента). Когда песочница включена и workspaceAccess не "rw", инструменты работают внутри рабочего пространства песочницы в ~/.openclaw/sandboxes, а не в вашем хост-рабочем пространстве.

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

  • По умолчанию: ~/.openclaw/workspace
  • Если установлен OPENCLAW_PROFILE и не "default", по умолчанию становится ~/.openclaw/workspace-<profile>.
  • Переопределите в ~/.openclaw/openclaw.json:
{
  agent: {
    workspace: "~/.openclaw/workspace"
  }
}

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

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

{ agent: { skipBootstrap: true } }

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

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

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

openclaw doctor предупреждает при обнаружении дополнительных директорий рабочего пространства.

Карта файлов рабочего пространства (что означает каждый файл)

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

  • AGENTS.md

    • Операционные инструкции для агента и как он должен использовать память.
    • Загружается в начале каждой сессии.
    • Хорошее место для правил, приоритетов и деталей "как себя вести".
  • SOUL.md

    • Персона, тон и границы.
    • Загружается каждую сессию.
  • USER.md

    • Кто пользователь и как к нему обращаться.
    • Загружается каждую сессию.
  • IDENTITY.md

    • Имя агента, стиль и эмодзи.
    • Создается/обновляется во время ритуала bootstrap.
  • TOOLS.md

    • Заметки о ваших локальных инструментах и соглашениях.
    • Не контролирует доступность инструментов; это только руководство.
  • HEARTBEAT.md

    • Опциональный краткий чек-лист для запусков heartbeat.
    • Держите его коротким, чтобы избежать сжигания токенов.
  • BOOT.md

    • Опциональный чек-лист запуска, выполняемый при перезапуске gateway, когда включены внутренние хуки.
    • Держите его коротким; используйте инструмент message для исходящих отправок.
  • BOOTSTRAP.md

    • Одноразовый ритуал первого запуска.
    • Создается только для совершенно нового рабочего пространства.
    • Удалите его после завершения ритуала.
  • memory/YYYY-MM-DD.md

    • Ежедневный журнал памяти (один файл на день).
    • Рекомендуется читать сегодня + вчера при запуске сессии.
  • MEMORY.md (опционально)

    • Кураторская долгосрочная память.
    • Загружайте только в основной, приватной сессии (не в общих/групповых контекстах).

См. Память для рабочего процесса и автоматического сброса памяти.

  • skills/ (опционально)

    • Навыки, специфичные для рабочего пространства.
    • Переопределяет управляемые/встроенные навыки при совпадении имен.
  • canvas/ (опционально)

    • Файлы Canvas UI для дисплеев узлов (например, canvas/index.html).

Если какой-либо файл bootstrap отсутствует, OpenClaw вставляет маркер "отсутствующий файл" в сессию и продолжает. Большие файлы bootstrap обрезаются при внедрении; отрегулируйте лимит с помощью agents.defaults.bootstrapMaxChars (по умолчанию: 20000). openclaw setup может пересоздать отсутствующие значения по умолчанию без перезаписи существующих файлов.

Чего НЕТ в рабочем пространстве

Это находится в ~/.openclaw/ и НЕ должно коммититься в репозиторий рабочего пространства:

  • ~/.openclaw/openclaw.json (конфигурация)
  • ~/.openclaw/credentials/ (OAuth-токены, API-ключи)
  • ~/.openclaw/agents/<agentId>/sessions/ (транскрипты сессий + метаданные)
  • ~/.openclaw/skills/ (управляемые навыки)

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

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

Относитесь к рабочему пространству как к приватной памяти. Поместите его в приватный git-репозиторий, чтобы оно было зарезервировано и восстановимо.

Выполните эти шаги на машине, где запущен Gateway (там находится рабочее пространство).

1) Инициализация репозитория

Если git установлен, совершенно новые рабочие пространства инициализируются автоматически. Если это рабочее пространство еще не репозиторий, выполните:

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"

2) Добавление приватного удаленного репозитория (варианты для начинающих)

Вариант A: веб-интерфейс GitHub

  1. Создайте новый приватный репозиторий на GitHub.
  2. Не инициализируйте с README (избегает конфликтов слияния).
  3. Скопируйте URL HTTPS удаленного репозитория.
  4. Добавьте удаленный репозиторий и отправьте:
git branch -M main
git remote add origin <https-url>
git push -u origin main

Вариант B: GitHub CLI (gh)

gh auth login
gh repo create openclaw-workspace --private --source . --remote origin --push

Вариант C: веб-интерфейс GitLab

  1. Создайте новый приватный репозиторий на GitLab.
  2. Не инициализируйте с README (избегает конфликтов слияния).
  3. Скопируйте URL HTTPS удаленного репозитория.
  4. Добавьте удаленный репозиторий и отправьте:
git branch -M main
git remote add origin <https-url>
git push -u origin main

3) Текущие обновления

git status
git add .
git commit -m "Update memory"
git push

Не коммитьте секреты

Даже в приватном репозитории избегайте хранения секретов в рабочем пространстве:

  • API-ключи, OAuth-токены, пароли или приватные учетные данные.
  • Что-либо из ~/.openclaw/.
  • Сырые дампы чатов или конфиденциальных вложений.

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

Рекомендуемый стартовый .gitignore:

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

Перенос рабочего пространства на новую машину

  1. Клонируйте репозиторий по желаемому пути (по умолчанию ~/.openclaw/workspace).
  2. Установите agents.defaults.workspace на этот путь в ~/.openclaw/openclaw.json.
  3. Выполните openclaw setup --workspace <path> для заполнения отсутствующих файлов.
  4. Если вам нужны сессии, скопируйте ~/.openclaw/agents/<agentId>/sessions/ со старой машины отдельно.

Продвинутые заметки

  • Маршрутизация мультиагента может использовать разные рабочие пространства для каждого агента. См. Маршрутизация каналов для конфигурации маршрутизации.
  • Если включен agents.defaults.sandbox, не-основные сессии могут использовать рабочие пространства песочницы для каждой сессии в agents.defaults.sandbox.workspaceRoot.