Перейти до основного вмісту

Робочий простір агента

Робочий простір — це дім агента. Це єдиний робочий каталог, що використовується для файлових інструментів і для контексту робочого простору. Тримайте його приватним і ставтеся до нього як до пам’яті. Він відокремлений від ~/.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-файли, якщо їх немає. Копії початкових даних пісочниці приймають лише звичайні файли всередині робочого простору; псевдоніми symlink/hardlink, що розв’язуються за межі вихідного робочого простору, ігноруються. Якщо ви вже самі керуєте файлами робочого простору, можете вимкнути створення bootstrap-файлів:
{ agent: { skipBootstrap: true } }

Додаткові папки робочого простору

У старих установленнях могла бути створена ~/openclaw. Зберігання кількох каталогів робочого простору може спричинити плутанину з автентифікацією або розходженням стану, оскільки одночасно активним є лише один робочий простір. Рекомендація: залишайте один активний робочий простір. Якщо ви більше не використовуєте додаткові папки, заархівуйте їх або перемістіть до кошика (наприклад trash ~/openclaw). Якщо ви навмисно зберігаєте кілька робочих просторів, переконайтеся, що agents.defaults.workspace вказує на активний. openclaw doctor попереджає, коли виявляє додаткові каталоги робочого простору.

Карта файлів робочого простору (що означає кожен файл)

Це стандартні файли, які OpenClaw очікує всередині робочого простору:
  • AGENTS.md
    • Операційні інструкції для агента і те, як він має використовувати пам’ять.
    • Завантажується на початку кожної сесії.
    • Гарне місце для правил, пріоритетів і деталей «як поводитися».
  • SOUL.md
  • USER.md
    • Хто є користувачем і як до нього звертатися.
    • Завантажується в кожній сесії.
  • IDENTITY.md
    • Ім’я агента, вайб і emoji.
    • Створюється/оновлюється під час bootstrap-ритуалу.
  • TOOLS.md
    • Нотатки про ваші локальні інструменти та домовленості.
    • Не керує доступністю інструментів; це лише рекомендації.
  • HEARTBEAT.md
    • Необов’язковий маленький контрольний список для запусків heartbeat.
    • Тримайте його коротким, щоб не спалювати токени.
  • BOOT.md
    • Необов’язковий стартовий контрольний список, що виконується під час перезапуску gateway, коли ввімкнено внутрішні хуки.
    • Тримайте його коротким; для вихідних надсилань використовуйте інструмент message.
  • BOOTSTRAP.md
    • Одноразовий ритуал першого запуску.
    • Створюється лише для абсолютно нового робочого простору.
    • Видаліть його після завершення ритуалу.
  • memory/YYYY-MM-DD.md
    • Щоденний журнал пам’яті (один файл на день).
    • Рекомендовано читати сьогоднішній + вчорашній на початку сесії.
  • MEMORY.md (необов’язково)
    • Відібрана довгострокова пам’ять.
    • Завантажується лише в основній приватній сесії (не в спільних/групових контекстах).
Див. Пам’ять щодо процесу й автоматичного скидання пам’яті.
  • skills/ (необов’язково)
    • Skills, специфічні для цього робочого простору.
    • Розташування skills із найвищим пріоритетом для цього робочого простору.
    • Має перевагу над skills агента проєкту, персональними skills агента, керованими skills, вбудованими skills і skills.load.extraDirs, якщо назви збігаються.
  • canvas/ (необов’язково)
    • Файли Canvas UI для відображення вузлів (наприклад canvas/index.html).
Якщо будь-який bootstrap-файл відсутній, OpenClaw вставляє маркер «відсутній файл» у сесію та продовжує. Великі bootstrap-файли обрізаються під час вставлення; ліміти можна налаштувати через agents.defaults.bootstrapMaxChars (типово: 20000) і agents.defaults.bootstrapTotalMaxChars (типово: 150000). openclaw setup може відновити відсутні типові файли, не перезаписуючи наявні.

ЩО НЕ входить до робочого простору

Це розташовано в ~/.openclaw/ і НЕ повинно потрапляти до репозиторію робочого простору:
  • ~/.openclaw/openclaw.json (конфігурація)
  • ~/.openclaw/agents/<agentId>/agent/auth-profiles.json (профілі автентифікації моделей: OAuth + API keys)
  • ~/.openclaw/credentials/ (стан каналу/провайдера плюс застарілі дані імпорту OAuth)
  • ~/.openclaw/agents/<agentId>/sessions/ (транскрипти сесій + метадані)
  • ~/.openclaw/skills/ (керовані 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) Додайте приватний remote (варіанти для початківців)

Варіант A: GitHub web UI
  1. Створіть новий приватний репозиторій на GitHub.
  2. Не ініціалізуйте його з README (це дозволить уникнути конфліктів злиття).
  3. Скопіюйте HTTPS URL remote.
  4. Додайте remote і виконайте push:
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 web UI
  1. Створіть новий приватний репозиторій на GitLab.
  2. Не ініціалізуйте його з README (це дозволить уникнути конфліктів злиття).
  3. Скопіюйте HTTPS URL remote.
  4. Додайте remote і виконайте push:
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 keys, OAuth tokens, паролі або приватні облікові дані.
  • Усе, що знаходиться в ~/.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.

Пов’язане

  • Standing Orders — постійні інструкції у файлах робочого простору
  • Heartbeat — файл робочого простору HEARTBEAT.md
  • Session — шляхи зберігання сесій
  • Sandboxing — доступ до робочого простору в середовищах із пісочницею