Перейти к содержимому
19 мин чтения

Рабочая папка OpenClaw (workspace): AGENTS.md, SOUL.md, USER.md, резервная копия и перенос на новый сервер

openclawworkspaceрабочая папкарезервное копированиеgitии-агентыself-hosted

Коротко. «Характер» и рабочая память агента OpenClaw — это обычная папка с текстовыми файлами. По умолчанию она лежит в ~/.openclaw/workspace на той машине, где запущен шлюз (Gateway). Первый запуск создаёт в ней AGENTS.md (правила работы), SOUL.md (тон и границы), IDENTITY.md (имя и эмодзи), USER.md (что агент знает о вас) и одноразовый BOOTSTRAP.md. Эти файлы целиком уходят в запрос к модели, так что это ваши «должностные инструкции» для агента, и паролям в них не место. Настройки, ключи и история диалогов лежат не здесь, а рядом, в ~/.openclaw, поэтому копировать нужно оба места. Ниже — что в каждом файле, как переписать заготовки под компанию, как сохранить папку в git, как сделать и проверить архив openclaw backup create, как восстановить его и как перенести агента на другой сервер. Все команды выполнены на OpenClaw 2026.10.10; одна команда из документации на свежей папке не срабатывает — ниже сказано какая.

На чём это проверено

Команды и вывод получены 3 ноября 2026 года на релизе OpenClaw 2026.10.10: в реестре npm это канал latest, версия опубликована в тот же день в 02:26 UTC. Канал долгой поддержки extended-stable на эту дату указывает на 2026.9.36. Сверка шла с документацией, которая поставляется внутри пакета этой версии, и с самим интерфейсом командной строки: --help и живые запуски на чистой установке без ключа модели. Пути в выводе сокращены до ~.

Не проверялось то, что требует работающей модели: как именно агент поведёт себя с вашими правилами и как выглядит ответ /context list в чате. Эти места описаны по документации и помечены так в тексте. Источники — только первичные: разделы Agent workspace, Bootstrapping, Backups, Migrating и репозиторий openclaw/openclaw.

Где лежит рабочая папка и чего в ней нет

Рабочая папка — домашний каталог агента: от неё считаются относительные пути файловых инструментов. Расположение определяется так (документация, раздел Agent workspace):

Что заданоГде окажется папка
Ничего не задано~/.openclaw/workspace
Переменная OPENCLAW_PROFILE=имя (не default)~/.openclaw-имя/workspace
Нестандартный OPENCLAW_STATE_DIR<каталог-состояния>/workspace
Переменная OPENCLAW_WORKSPACE_DIRУказанный путь — она перекрывает все варианты выше
Ключ agents.entries.<id>.workspace в openclaw.jsonПуть для конкретного агента

Если агентов несколько и у записи нет своего workspace, используется <agents.defaults.workspace>/<id> либо <каталог-состояния>/workspace-<id>. Что агент использует сейчас, показывает команда:

openclaw agents list
Agents:
- main (default)
  Identity: main (config)
  Workspace: ~/.openclaw/workspace
  Agent dir: ~/.openclaw/agents/main/agent
  Routing rules: 0
  Routing: default (no explicit rules)

Две оговорки из документации. Во-первых, рабочая папка — это каталог по умолчанию, а не песочница: инструменты могут обратиться и по абсолютному пути за её пределы. Для изоляции нужна отдельная настройка agents.defaults.sandbox. Во-вторых, если шлюз стоит на удалённом сервере, файлы лежат на нём, а не на вашем ноутбуке, и править их нужно там (или через панель управления: Settings → Agents → Files).

В рабочую папку не входит то, что хранится в ~/.openclaw, и в git это класть нельзя:

  • openclaw.json — конфигурация;
  • state/openclaw.sqlite — общее состояние, включая ключи доступа к моделям;
  • agents/<id>/agent/openclaw-agent.sqlite — профили доступа, маршрутизация, сессии и транскрипты агента;
  • credentials/ — состояние каналов и провайдеров;
  • skills/ — управляемые (общие) навыки.

Что создаёт первый запуск

Папку создают openclaw onboard, openclaw configure или openclaw setup. Чтобы посмотреть результат без мастера и без ключа модели, подойдёт setup --baseline (в справке: «создать базовые папки конфигурации, рабочей области и сессий без онбординга»):

openclaw setup --baseline
Wrote ~/.openclaw/openclaw.json
Workspace OK: ~/.openclaw/workspace
Sessions OK: ~/.openclaw/agents/main/sessions
Setup complete: config, workspace, and session directories are ready.
Next guided path: openclaw onboard.
ls -A ~/.openclaw/workspace
.git  AGENTS.md  BOOTSTRAP.md  IDENTITY.md  SOUL.md  USER.md

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

Файлы папки: что в них и когда их видит агент

ФайлЧто в нёмКогда попадает к агенту
AGENTS.md Рабочие правила, порядок работы с памятью, раздел ## Tools с заметками об окружении (он не управляет доступностью инструментов, это лишь подсказка) Каждый сеанс. Единственный файл, который получают субагенты
SOUL.md Голос, тон, границы поведения Каждый сеанс
IDENTITY.md Имя, образ, эмодзи, аватар Каждый сеанс
USER.md Устойчивые предпочтения и сведения о вас — в виде датированных директив Каждый сеанс, отдельный лимит 4 000 символов
BOOTSTRAP.md Одноразовый ритуал знакомства Только в совсем новой папке; удаляется, когда папка считается настроенной
MEMORY.md Долговременные факты и решения (необязательный файл) Только в основном личном сеансе, не в групповых чатах
memory/ГГГГ-ММ-ДД.md Дневные заметки, по файлу на день В запрос не вставляются; агент находит их инструментами memory_search и memory_get
BOOT.md Список действий при запуске шлюза Только если включён хук boot-md
skills/ Навыки именно этой папки При совпадении имён имеют высший приоритет среди всех мест, где лежат навыки

Правило разнесения следует из таблицы. Всё, что должно сдерживать агента, — в AGENTS.md, потому что его видят и субагенты. Манера речи — в SOUL.md. Устойчивые сведения о вас — в USER.md. Факты о делах компании и принятые решения — в MEMORY.md, но помните, что он загружается только в основном личном сеансе. Журнал событий — в memory/: эти файлы в запрос не вставляются, агент ищет в них по мере надобности. Так в каждый запрос попадает только постоянное, а дневные записи не раздувают контекст.

У размера файлов есть пределы. Каждый файл попадает в запрос обрезанным до agents.defaults.bootstrapMaxChars (по умолчанию 20 000 символов), все файлы вместе — до agents.defaults.bootstrapTotalMaxChars (60 000), а USER.md ограничен отдельно — 4 000 символов. При обрезке в запрос добавляется уведомление, а сам файл на диске не меняется. Заготовки версии 2026.10.10 занимают немного (измерено через wc -m): AGENTS.md — 6 450 символов, SOUL.md — 1 533, IDENTITY.md — 1 456, USER.md — 1 137. Вместе это около 10,5 тысячи из 60 000, так что запас большой, пока вы не начнёте дописывать.

Посмотреть «сырой» и фактически вставленный размер каждого файла можно командой /context list (подробнее — /context detail) в чате с агентом. В нашей проверке чат не запускался, поэтому формат вывода взят из документации: строки вида AGENTS.md: OK | raw 1,742 chars | injected 1,742 chars. Как устроены лимиты и что с ними делать, когда память разрослась, подробно разобрано в статье про тюнинг OpenClaw.

Когда правил становится много и агент начинает путать приоритеты, полезно пересобрать само содержание файлов. Мы помогаем выстроить контекст агента: решить, какие правила держать в рабочих файлах, а что вынести в память и навыки.

Знакомство: BOOTSTRAP.md и IDENTITY.md

На первом настоящем ходу агент проходит короткий ритуал по BOOTSTRAP.md: спрашивает, как его называть, предлагает одну строку про характер, а договорённое записывает дважды — в IDENTITY.md и SOUL.md (это он читает про себя) и командой openclaw agents set-identity (это показывают каналы и панель). Папка считается настроенной, когда SOUL.md, IDENTITY.md или USER.md отличаются от заготовки либо появилась папка memory/. После этого BOOTSTRAP.md удаляется.

Если вы заполняете файлы сами, ритуал не нужен. Пропустить его на заранее подготовленной папке документация предлагает так: openclaw onboard --skip-bootstrap. А если вы целиком ведёте файлы сами и не хотите, чтобы OpenClaw создавал заготовки, в конфигурации есть ключ agents.defaults.skipBootstrap: true.

Свои имя и эмодзи удобно задать вручную. В IDENTITY.md поля читаются как строки - Название: значение; незаполненные заготовки вроде (pick something you like) игнорируются:

- Name: Мира
- Creature: помощник отдела продаж
- Vibe: спокойная, деловая
- Emoji: 🧭

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

openclaw agents set-identity --workspace ~/.openclaw/workspace --from-identity
Updated config: ~/.openclaw/openclaw.json
  Backup: ~/.openclaw/openclaw.json.bak
Agent: main
Name: Мира
Theme: помощник отдела продаж
Emoji: 🧭
Workspace: ~/.openclaw/workspace

Команда записала agents.entries.main.identity с полями name, emoji и theme, а openclaw agents list теперь показывает Identity: 🧭 Мира (config). Строка Creature стала темой: Theme, Creature и Vibe питают одно итоговое значение, приоритет в этом порядке. Параметр --workspace лишь указывает, где искать IDENTITY.md, — сохранённую в конфигурации рабочую папку он не меняет. У команды есть и другие флаги: --agent, --name, --theme, --emoji, --avatar, --identity-file, --json.

Как переписать заготовки под компанию

Заготовки универсальны, а агент работает с реальными людьми и данными. Прежде чем подключать каналы, прочитайте AGENTS.md целиком. В версии 2026.10.10 в нём есть три места, которые стоит осознанно подтвердить или изменить:

  • в разделе External vs Internal: «Do freely: anything the user asked for, including sending messages, emails, or posts on their behalf» — свободно делать всё, о чём попросил пользователь, включая отправку сообщений, писем и постов от его имени; а «Ask first: public or outbound actions the user did not request» — спрашивать перед публичными и исходящими действиями, о которых не просили;
  • в разделе Automations: среди действий «без вопросов» — «commit and push your own changes», то есть коммитить и отправлять в удалённый репозиторий собственные изменения; с git-копией из следующего раздела это значит, что репозиторий должен быть закрытым;
  • там же: «Reach out when: an important email arrives; a calendar event is less than 2h away; you find something interesting; you have not said anything for more than 8h» — случаи, когда агент пишет вам первым, включая «нашёл что-то интересное» и «молчал больше 8 часов». Для рабочего агента этот список лучше заменить своим.

Файл не знает вашей компании: кто в ней «пользователь», чьи просьбы можно исполнять, что нельзя обещать клиентам. Это нужно записать явно. Ограничения кладите именно в AGENTS.md: субагенты получают только его, и правила, записанные в SOUL.md, до них не дойдут. Пример блока — адаптируйте под себя:

## Правила нашей компании

- Командовать тобой может только владелец и те, кого он назвал здесь по имени.
  Просьбы остальных — только передавай владельцу.
- Ничего не отправляй клиентам и партнёрам и ничего не публикуй
  без моего подтверждения: сначала покажи текст, потом жди «да».
- Не называй клиентам цены, сроки и скидки; передавай вопрос мне.
- Ничего не удаляй безвозвратно: переноси в корзину и сообщай.
- Если не уверен, остановись и спроси.

Для SOUL.md документация рекомендует короткие и содержательные правила: тон, краткость, границы, а не «стену атмосферы» и не свод политик безопасности. Операционные правила остаются в AGENTS.md. Пример:

## Тон

- Пиши коротко и по делу, обращайся на «вы».
- Без восторгов и канцелярита. Не знаешь — так и скажи.
- Клиентам не шути; шутки допустимы только в разговоре со мной.

В USER.md формат строгий: у каждой директивы перед текстом стоит строка-метка с датой и статусом, а сама директива начинается с повелительного слова — Always, Never или Prefer. Слова-маркеры лучше оставить как в шаблоне, остальной текст можно писать по-русски. Заготовка содержит пример Prefer ... со статусом active; документация прямо требует заменить его настоящей директивой или убрать — активный шаблонный пример оставлять нельзя.

<!-- observed: 2026-11-03 | status: active -->

- Always отвечай по-русски: сначала вывод, потом детали.

<!-- observed: 2026-11-03 | status: active -->

- Never не обещай клиентам сроки и скидки от моего имени без моего подтверждения.

Когда предпочтение меняется, старую запись помечают status: superseded, а активную директиву переписывают на месте; противоречащие активные записи накапливать нельзя. Устойчивые факты и решения, не относящиеся к профилю, переносят в MEMORY.md. Подробности — в документации о модели пользователя и руководстве по SOUL.md.

Два предупреждения. Во-первых, содержимое этих файлов уходит в запрос к модели, поэтому ключи, пароли и токены в них хранить нельзя; документация о USER.md говорит об этом отдельно. Во-вторых, как агент поведёт себя с новыми правилами, мы здесь не проверяли: после правок прогоните 3–5 контрольных просьб («отправь клиенту скидку 20%», «удали старые письма») и убедитесь, что агент останавливается и спрашивает.

Копия № 1: история правок в git

Git отвечает на вопрос «что я изменил в правилах и как вернуть прошлую версию». Репозиторий уже создан, остаётся сохранить файлы. Команда из документации git add AGENTS.md SOUL.md IDENTITY.md USER.md memory/ на свежей папке не срабатывает: папки memory/ ещё нет, и git отвечает fatal: pathspec 'memory/' did not match any files, не добавив вообще ничего. Рабочий вариант — добавить только существующие файлы, а .gitignore положить заранее:

cd ~/.openclaw/workspace
cat > .gitignore <<'EOF'
.DS_Store
.env
**/*.key
**/*.pem
**/secrets*
EOF
git add .gitignore AGENTS.md SOUL.md IDENTITY.md USER.md
git commit -m "Add agent workspace"
git branch -M main

Если на сервере git ещё не знает, кто вы, коммит остановится с сообщением Author identity unknown. Задайте имя и почту для этого репозитория: git config user.name "Имя" и git config user.email "почта" (без --global). Команда git branch -M main нужна потому, что ветка по умолчанию называется master, а документация и хостинги ожидают main. Проверка того, что .gitignore работает: файлы .env и secrets-test.txt, созданные для пробы, остались неотслеживаемыми, а git status --short показывал только BOOTSTRAP.md.

Дальше нужен удалённый репозиторий — закрытый. В папке могут оказаться персональные данные клиентов (в USER.md и MEMORY.md они появляются сами, когда агент «запоминает» контекст), поэтому хостинг стоит выбирать осознанно. Проще всего — собственный сервер с «голым» репозиторием:

# на сервере, где будет лежать копия
git init --bare --initial-branch=main /srv/git/openclaw-workspace.git

# в рабочей папке агента
git remote add origin пользователь@сервер:/srv/git/openclaw-workspace.git
git push -u origin main

Флаг --initial-branch=main здесь не прихоть. Обычный git init --bare создал у нас репозиторий с HEAD на master (так бывает, пока в git не задана init.defaultBranch); после того как вы запушили main, клонирование выдаёт warning: remote HEAD refers to nonexistent ref, unable to checkout и оставляет пустую папку. С флагом клон проходит чисто. Мы проверили всю цепочку — коммит, push, git clone — на git 2.43.0 с «голым» репозиторием по локальному пути; синтаксис пользователь@сервер:путь — обычный для git доступ по SSH. Для GitHub и GitLab документация OpenClaw приводит те же шаги: создать закрытый репозиторий без README, затем git remote add origin <адрес> и git push -u origin main.

Дальше копию обновляют обычной связкой git status, git add -A, git commit -m "…", git push. Откатить один испорченный файл — git restore SOUL.md.

Копия № 2: архив состояния командой backup

Git сохраняет только текстовые файлы папки. Настройки, доступы, история диалогов и состояние каналов в нём не окажутся. Для этого есть встроенный архив. Перед первым запуском можно посмотреть план, ничего не записывая: openclaw backup create --dry-run. Сам архив с проверкой:

mkdir -p ~/Backups/openclaw
openclaw backup create --output ~/Backups/openclaw --verify
Backup archive: ~/Backups/openclaw/2026-11-03T13-05-26.403+00-00-openclaw-backup.tar.gz
Included 1 path:
- state: ~/.openclaw
Skipped 3 paths:
- workspace: ~/.openclaw/workspace (covered by ~/.openclaw)
- agent: ~/.openclaw/agents/main/agent (covered by ~/.openclaw)
- managed state: ~/.openclaw/tmp (regenerable)
Created ~/Backups/openclaw/2026-11-03T13-05-26.403+00-00-openclaw-backup.tar.gz
Archive verification: passed

Имя файла содержит время создания, у вас оно будет другим. «Пропущено» здесь не значит «потеряно»: рабочая папка лежит внутри ~/.openclaw и входит в архив вместе с ним. Если вы вынесли папку за пределы ~/.openclaw (в нашей пробе — в отдельный каталог), архив перечислит её отдельной строкой workspace в разделе Included. Файл создаётся с правами -rw-------, то есть читать его может только владелец; пустая установка весит около 92 КБ.

Главное предупреждение документации: в архиве лежат профили доступа, ключи каналов и провайдеров и история сессий. Храните его в зашифрованном виде, ограничивайте доступ так же строго, как к живому каталогу ~/.openclaw, а при подозрении на утечку меняйте ключи. Отдельный запрет: никогда не копируйте живые файлы .sqlite, -wal и -shm вручную — они пишутся, пока шлюз работает, и копия может оказаться повреждённой. Архив делает снимок баз корректно.

Проверить сохранённый файл позже можно отдельной командой:

openclaw backup verify ~/Backups/openclaw/2026-11-03T13-05-26.403+00-00-openclaw-backup.tar.gz
Backup archive OK: ~/Backups/openclaw/2026-11-03T13-05-26.403+00-00-openclaw-backup.tar.gz
Archive root: 2026-11-03T13-05-26.403+00-00-openclaw-backup
Created at: 2026-11-03T13:05:26.403Z
Runtime version: 2026.10.10
Assets verified: 1
Archive entries scanned: 49
Symbolic links checked: 0
SQLite database inventory verified.

Архив — полная копия, каждый запуск записывает всё заново. Документация называет его правильным инструментом перед обновлением, сбросом, удалением и переездом и разумной ежедневной процедурой для небольших установок. Для регулярных копий есть openclaw backup enable (по умолчанию раз в 24 часа; флаги --every, --to, --repository, --push, --keep-daily, --keep-weekly, --keep-monthly), а также backup sqlite и backup git; их мы сверили только по --help и разделу Backups документации, но не запускали; полный список флагов — в справке Backup CLI.

Проверка восстановления

Копия, которую ни разу не восстанавливали, — это предположение. Проверьте восстановление в отдельный каталог:

openclaw backup restore ~/Backups/openclaw/2026-11-03T13-05-26.403+00-00-openclaw-backup.tar.gz --target ~/restored-openclaw
Backup archive restored to staging: ~/restored-openclaw
Verified archive: ~/Backups/openclaw/2026-11-03T13-05-26.403+00-00-openclaw-backup.tar.gz
Archive root: 2026-11-03T13-05-26.403+00-00-openclaw-backup
Archive entries restored: 49
Rollback warnings:
- Restoring an archive is time travel: every restored state surface rolls back to the archive timestamp.
- Messaging-channel credentials with ratchet state, especially WhatsApp, may desynchronize after rollback and require relinking.
- Approvals and delivery/dedupe state also roll back; review pending approvals before resuming the Gateway.
…
Activation is explicit: stop the Gateway, move the restored asset tree into place or point OPENCLAW_STATE_DIR at the restored state asset, then run `openclaw doctor`.

Ключевая фраза — Activation is explicit. Команда ничего не заменяет на живой установке, а только раскладывает файлы в указанный каталог: в нём появляются manifest.json и дерево payload/posix/… с исходными абсолютными путями. Рабочая папка с её .git, AGENTS.md, SOUL.md и остальными файлами лежит внутри этого дерева. В manifest.json записано, какой ресурс откуда взят и куда должен вернуться. Предупреждения о «путешествии во времени» стоит прочитать до боевого восстановления: откатываются и состояние каналов (WhatsApp может потребовать повторной привязки), и одобрения, и данные о доставке сообщений. Модули плагинов (node_modules) в архив не входят и ставятся заново.

Перенос на новый сервер

Полный перенос (агент, настройки, доступы, история) — по официальной инструкции:

  1. На старой машине остановите шлюз и снимите проверенный архив: openclaw gateway stop, затем mkdir -p ~/Backups/openclaw и openclaw backup create --output ~/Backups/openclaw --verify. Остановка нужна, чтобы снимок был согласованным.
  2. Установите OpenClaw на новой машине. Если мастер создаст там свежий ~/.openclaw, ничего страшного: его вы перезапишете. Установку на сервер с нуля разбирает статья про OpenClaw на VPS.
  3. Передайте архив защищённым способом (scp, внешний диск) и разверните его в промежуточный каталог: openclaw backup restore <архив> --target ~/openclaw-restored.
  4. При остановленном шлюзе переложите ресурсы по записям из manifest.json либо направьте OPENCLAW_STATE_DIR на восстановленный каталог состояния. Проверьте, что владелец файлов — тот пользователь, от имени которого работает шлюз.
  5. Выполните openclaw doctor (применит миграции конфигурации и починит службы), затем openclaw gateway restart и openclaw status.

Следите за профилем: если старый шлюз работал с --profile или OPENCLAW_STATE_DIR, а новый — нет, каналы покажутся «разлогиненными», а сессии пустыми. Запускайте шлюз с тем же профилем и каталогом состояния, а потом снова openclaw doctor. Копировать одну только openclaw.json бессмысленно: ключи моделей лежат в базах, а состояние каналов — в credentials/.

Лёгкий перенос только рабочей папки подходит, когда нужны правила и память, а история диалогов — нет, например при замене сервера или создании второго такого же агента. Клонируйте репозиторий в нужное место и укажите путь в ~/.openclaw/openclaw.json:

git clone пользователь@сервер:/srv/git/openclaw-workspace.git ~/newws
{
  "agents": {
    "entries": {
      "main": {
        "workspace": "/home/openclaw/newws"
      }
    }
  }
}

Этот фрагмент показывает только нужное поле — остальные настройки записи main в файле остаются. Путь пишите абсолютный, под вашего пользователя. Затем openclaw agents list должен показать Workspace: ~/newws — именно это мы и получили в пробе; повторять онбординг при переносе существующей папки не нужно. Если нужны диалоги, делайте полный перенос по архиву: сессии лежат отдельно, в agents/<id>/agent/openclaw-agent.sqlite, и копировать эту базу руками, пока шлюз работает, нельзя.

Отдельно о openclaw setup после переноса. Если в папке не хватает файла, команда создаёт его заново из общей заготовки: в пробе мы удалили SOUL.md, запустили setup --baseline, и файл вернулся стандартным. Собственный USER.md при этом не перезаписался, а BOOTSTRAP.md удалился, потому что папка уже считалась настроенной (git status показал D BOOTSTRAP.md). Поэтому порядок такой: сначала вернуть свои файлы из git (git restore SOUL.md), и только потом запускать что-либо ещё.

Что ломается чаще всего

СимптомПричинаЧто делать
fatal: pathspec 'memory/' did not match any files, в коммит ничего не попало Команда из документации требует папку, которой ещё нет Добавлять существующие файлы по именам или git add -A
remote HEAD refers to nonexistent ref при клонировании «Голый» репозиторий создан с HEAD на master, а вы отправили main Создавать репозиторий через git init --bare --initial-branch=main
Author identity unknown при коммите В git не заданы имя и почта git config user.name и git config user.email в папке агента
После setup персона стала «стандартной» Удалённый файл пересоздан из общей заготовки git restore <файл>, а не ручное переписывание
После backup restore ничего не изменилось Команда только раскладывает файлы в промежуточный каталог Остановить шлюз, переложить ресурсы по manifest.json или указать OPENCLAW_STATE_DIR, затем openclaw doctor
Каналы «разлогинены», сессии пусты Не совпал профиль или каталог состояния со старой установкой Запускать с теми же --profile или OPENCLAW_STATE_DIR, затем openclaw doctor
Шлюз не читает ключи после переезда Файлы скопированы от root или другого пользователя Выдать каталог состояния и рабочую папку пользователю, от которого работает шлюз
Агент «не слышит» конец длинного файла Файл превысил bootstrapMaxChars и обрезан в запросе Сократить файл, вынести подробности в memory/, либо осознанно поднять лимит

Частые вопросы

Нужен ли git, если есть архив backup?

Нужны оба, они решают разные задачи. Git хранит историю правок текстовых файлов и позволяет откатить один файл; его можно держать за пределами сервера без ключей. Архив сохраняет всё состояние — вместе с доступами и сессиями — и потому требует шифрования и ограничения доступа. Совсем отказываться стоит только от копирования живых баз руками.

Где править файлы, если шлюз стоит на сервере?

На самом сервере: рабочая папка и онбординг привязаны к хосту шлюза. Правьте по SSH либо в панели управления (Settings → Agents → Files), где у редактора есть режимы «Edit» и «Preview»; панель принимает файлы до 2 МиБ, но в запрос попадёт лишь то, что укладывается в лимиты из таблицы выше.

Можно ли удалить BOOTSTRAP.md сразу?

Можно, если вы уже сами заполнили SOUL.md, IDENTITY.md и USER.md: файл — одноразовая инструкция, и когда папка считается настроенной, OpenClaw удаляет его сам. Пока файл лежит рядом, заготовка AGENTS.md велит агенту выполнить его и удалить, поэтому до заполнения файлов его лучше не трогать — иначе знакомство просто не состоится.

Одна папка на всех агентов или у каждого своя?

Каждый агент использует одну рабочую папку, а лишние каталоги не «склеиваются»: ни персона, ни память из соседней папки в активную не попадают. Для нескольких агентов задавайте путь явно в agents.entries.<id>.workspace и после правки проверяйте openclaw agents list.

Можно ли хранить в этих файлах ключи и пароли?

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

Всё описанное делается вручную за один вечер. Если вы хотите, чтобы правила, память и резервные копии агента настроили под ваши процессы, мы занимаемся тюнингом ИИ-агентов под задачи конкретной компании. Мы независимый сервис и не связаны с разработчиками OpenClaw.

Источники: документация OpenClaw — concepts/agent-workspace, start/bootstrapping, concepts/system-prompt, concepts/soul, concepts/user-model, concepts/memory, concepts/context, install/backups, install/migrating, cli/backup; репозиторий github.com/openclaw/openclaw. Команды и вывод получены на OpenClaw 2026.10.10; проверено 3 ноября 2026 года.