Рабочее пространство агента
Рабочее пространство — это дом агента. Это единственный рабочий каталог, используемый файловыми инструментами и для контекста рабочего пространства. Держите его приватным и относитесь к нему как к памяти. Оно отделено от~/.openclaw/, где хранятся конфиг, учётные данные и
сеансы.
Важно: рабочее пространство — это cwd по умолчанию, а не жёсткий sandbox. Инструменты разрешают относительные пути относительно рабочего пространства,
но абсолютные пути по‑прежнему могут обращаться к другим местам на хосте, если
sandboxing не включён. Если требуется изоляция, используйте
agents.defaults.sandbox (и/или конфиг sandbox для каждого агента).
Когда sandboxing включён и workspaceAccess не равно "rw", инструменты
работают внутри sandbox‑рабочего пространства под ~/.openclaw/sandboxes, а не в рабочем
пространстве хоста.
Расположение по умолчанию
- По умолчанию:
~/.openclaw/workspace - Если
OPENCLAW_PROFILEзадано и не равно"default", значением по умолчанию становится~/.openclaw/workspace-<profile>. - Переопределение в
~/.openclaw/openclaw.json:
openclaw onboard, openclaw configure или openclaw setup создадут рабочее пространство
и инициализируют bootstrap‑файлы, если их нет.
Если вы уже самостоятельно управляете файлами рабочего пространства, можно
отключить создание bootstrap‑файлов:
Дополнительные папки рабочего пространства
В старых установках могли быть созданы~/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 tool.
-
BOOTSTRAP.md- Одноразовый ритуал первого запуска.
- Создаётся только для совершенно нового рабочего пространства.
- Удалите его после завершения ритуала.
-
memory/YYYY-MM-DD.md- Ежедневный журнал памяти (один файл в день).
- Рекомендуется читать сегодняшний и вчерашний файлы при старте сеанса.
-
MEMORY.md(необязательно)- Курируемая долговременная память.
- Загружайте только в основном приватном сеансе (не в общих/групповых контекстах).
-
skills/(необязательно)- Skills, специфичные для рабочего пространства.
- Переопределяют управляемые/встроенные skills при совпадении имён.
-
canvas/(необязательно)- Файлы Canvas UI для отображения узлов (например,
canvas/index.html).
- Файлы Canvas UI для отображения узлов (например,
agents.defaults.bootstrapMaxChars (по умолчанию: 20000).
openclaw setup может пересоздать отсутствующие значения по умолчанию, не
перезаписывая существующие файлы.
Чего НЕТ в рабочем пространстве
Эти данные находятся под~/.openclaw/ и НЕ должны коммититься в репозиторий
рабочего пространства:
~/.openclaw/openclaw.json(конфиг)~/.openclaw/credentials/(OAuth‑токены, ключи API)~/.openclaw/agents/<agentId>/sessions/(транскрипты сеансов + метаданные)~/.openclaw/skills/(управляемые skills)
Резервное копирование в Git (рекомендуется, приватно)
Относитесь к рабочему пространству как к приватной памяти. Поместите его в приватный git‑репозиторий, чтобы иметь резервное копирование и возможность восстановления. Выполняйте эти шаги на машине, где запущен Gateway (там и находится рабочее пространство).1. Инициализация репозитория
Если git установлен, совершенно новые рабочие пространства инициализируются автоматически. Если это рабочее пространство ещё не является репозиторием, выполните:2. Добавление приватного удалённого репозитория (варианты для начинающих)
Вариант A: веб‑интерфейс GitHub- Создайте новый приватный репозиторий на GitHub.
- Не инициализируйте его README (чтобы избежать конфликтов слияния).
- Скопируйте HTTPS‑URL удалённого репозитория.
- Добавьте remote и выполните push:
gh)
- Создайте новый приватный репозиторий на GitLab.
- Не инициализируйте его README (чтобы избежать конфликтов слияния).
- Скопируйте HTTPS‑URL удалённого репозитория.
- Добавьте remote и выполните push:
3. Регулярные обновления
Не коммитьте секреты
Даже в приватном репозитории избегайте хранения секретов в рабочем пространстве:- Ключи API, OAuth‑токены, пароли или приватные учётные данные.
- Всё, что находится под
~/.openclaw/. - Сырые дампы чатов или чувствительные вложения.
~/.openclaw/).
Рекомендуемый стартовый файл .gitignore:
Перенос рабочего пространства на новую машину
- Клонируйте репозиторий в нужный путь (по умолчанию
~/.openclaw/workspace). - Установите
agents.defaults.workspaceв этот путь в~/.openclaw/openclaw.json. - Запустите
openclaw setup --workspace <path>для инициализации отсутствующих файлов. - Если нужны сеансы, отдельно скопируйте
~/.openclaw/agents/<agentId>/sessions/со старой машины.
Расширенные примечания
- Маршрутизация для нескольких агентов может использовать разные рабочие пространства для каждого агента. См. Channel routing для настройки маршрутизации.
- Если включён
agents.defaults.sandbox, неосновные сеансы могут использовать sandbox‑рабочие пространства для каждого сеанса подagents.defaults.sandbox.workspaceRoot.