OpenClaw для новичков: как настроить workspace, память и первый автономный сценарий
Зачем вообще разбираться в workspace
Большинство людей ставят OpenClaw, подключают Telegram — и через пару дней разочаровываются. Агент забывает важное, ведёт себя странно, сжигает токены на ерунду и «жрёт» ваше время вместо того, чтобы экономить его. Почти всегда причина одна и та же: workspace не настроен.
В OpenClaw память и поведение агента завязаны не на магическую «нейросеть», а на обычные файлы в директории ~/.openclaw/workspace. Это означает две вещи:
- Вы полностью контролируете мозги агента через Markdown-файлы.
- Если эти файлы пустые или хаотичные — агент будет вести себя так же.
Дальше — подробный гайд: какие файлы создать, что в них написать и как собрать первый end-to-end сценарий, который реально работает.
Структура workspace: какие файлы за что отвечают
Стандартный workspace OpenClaw выглядит так:
bash~/.openclaw/workspace
├── AGENTS.md # Роль и поведение агента
├── USER.md # Информация о вас
├── HEARTBEAT.md # Что проверять по расписанию
├── MEMORY.md # Долгосрочная память
├── SOUL.md # Характер и стиль
├── TOOLS.md # Какие инструменты можно использовать
├── BOOT.md # Что делать при запуске
├── BOOTSTRAP.md # Первоначальная инициализация
├── memory/ # Краткосрочная память (заметки по датам)
└── state/ # Файлы состояния, прогресса и флагов
Документация прямо говорит: AGENTS.md, USER.md, HEARTBEAT.md, MEMORY.md — базовый набор, без которого нормальная работа невозможна. Остальное — по мере усложнения сценариев.
AGENTS.md: объясняем агенту, кто он и что ему можно
AGENTS.md — главный файл, который определяет роль и поведение агента. Если его нет или он пустой, OpenClaw работает «по умолчанию»: слишком автономно, слишком разговорчиво и слишком уверенно.
Документ по умолчанию рекомендует начать с простых шагов:
bashmkdir -p ~/.openclaw/workspace
cd ~/.openclaw/workspace
touch AGENTS.md
Согласно практическому гайду по памяти, в AGENTS.md лучше держать правила поведения и рамки, а не личные предпочтения пользователя (их место в USER.md).
Пример AGENTS.md для продуктивного ассистента:
text# AGENTS.md — Personal AI Assistant
## Role
You are my personal AI assistant. Your primary job is to reduce my cognitive load, not increase it.
## Decision-making
- Before any non-trivial action (file changes, terminal commands, API calls), explain your plan in 3–5 bullet points and wait for confirmation.
- Treat questions as questions, not commands. Answer with text unless I clearly ask you to perform actions.
- Never run destructive commands (rm, chmod, systemctl restart, docker rm) without explicit confirmation.
## Scope
- Help with email triage, calendar management, daily briefings, and light research.
- Coding help is allowed, but do NOT refactor entire projects autonomously.
- Do NOT change my dotfiles, shell config, or system settings.
## Autonomy
- You may proactively reach out only through heartbeats or cron-triggered tasks.
- Outside scheduled events, do not initiate contact unless something is clearly urgent.
Ключевые моменты из практики:
- Явно прописать правило «вопрос ≠ команда», иначе агент будет пытаться что-то делать при любом вопросе.
- Запретить разрушительные команды без подтверждения — это один из главных советов опытных пользователей.
- Чётко очертить «Scope», иначе агент будет пытаться «оптимизировать всё подряд».
USER.md: кто вы и что вам важно
USER.md — это профиль владельца агента: кто вы, чем занимаетесь, как с вами лучше работать. Без него модель начинает додумывать («вы, наверное, маркетолог/разработчик/фрилансер») — и часто промахивается.
Гайды по workspace рекомендуют держать USER.md конкретным и сухим, без философии.
Пример USER.md:
text# USER.md — Owner Profile
## Identity
- Name: Иван
- Language: Russian (primary), English (secondary)
- Timezone: Europe/Moscow
- Typical working hours: 10:00–19:00 (Mon–Fri)
## Work
- Profession: Product manager & developer for marketplace SaaS tools.
- Platforms: Wildberries, Ozon, Yandex.Market, Детский Мир, Магнит Маркет.
- Daily tools: Telegram, Google Sheets, VS Code, Notion, GitHub.
## Preferences
- Communication style: short, structured answers; no water.
- Priorities: automate routine, keep legal/compliance risks low.
- Do not: auto-send any emails or messages от моего имени без явного разрешения.
Важно: не смешивать в USER.md правила поведения агента — для этого есть AGENTS.md.
HEARTBEAT.md: чему агент должен уделять внимание регулярно
Heartbeats — это лёгкие «пульсовые проверки», которые OpenClaw делает по расписанию. Документация подчёркивает: не нужно отвечать HEARTBEAT_OK всегда, heartbeats нужно использовать продуктивно.
Стандартный heartbeat-промпт выглядит так:
Read HEARTBEAT.md if it exists (workspace context). Follow it strictly. Do not infer or repeat old tasks from prior chats. If nothing needs attention, reply HEARTBEAT_OK.
Рекомендуемые задачи для heartbeat:
- Проверить почту на срочные письма.
- Посмотреть календарь на ближайшие 24–48 часов.
- Проверить погоду, если вы обычно выходите из дома.
- Посмотреть social mentions/уведомления.
Пример HEARTBEAT.md под продуктивный сценарий:
text# HEARTBEAT.md — Recurring Checks
## Cadence
Rotate through these checks 2–4 times per day. If nothing needs attention, reply `HEARTBEAT_OK`.
## Checks
- Email: any urgent unread messages marked as important or from VIP senders?
- Calendar: events in the next 24 hours that require preparation?
- Tasks: overdue tasks in my "Today" or "Overdue" views (Notion/Todoist).
- Weather: significant changes (rain, snow, heatwave) for today in Moscow.
## When to reach out
- Important email arrived that requires a decision.
- Calendar event < 2 hours away that I might forget.
- New critical task added to my queue.
- It has been > 8h since you last updated me on anything relevant.
## When to stay silent (HEARTBEAT_OK)
- Late night (23:00–08:00) unless it’s urgent.
- I clearly said “I’m busy” or “no pings for N hours”.
- Nothing changed since the last heartbeat.
Документация советует: не плодить десятки cron-задач, а часть проверок вынести в HEARTBEAT.md и ротировать их в течение дня. Это уменьшает сложность и снижает риск, что вы сами запутаетесь в расписаниях.
MEMORY.md и папка memory/: как хранится память
OpenClaw намеренно строит память радикально просто: почти всё — это файлы. Внутренний цикл агента читает AGENTS.md, USER.md, HEARTBEAT.md, MEMORY.md и свежие заметки из memory/.
Практический гайд по памяти предлагает такую модель:
- MEMORY.md — длинная, «золотая» память: устойчивые факты о вас, важных проектах и долгосрочных решениях.
memory/— короткая память в виде дневных заметок (2026-02-22.mdи т.п.), куда агент пишет промежуточные события.
Пример MEMORY.md:
text# MEMORY.md — Long-term Memory
## Long-term commitments
- Focus 2026 Q1: grow SaaS MRR from marketplace tools, reduce time spent on manual reports.
- Always prefer automation over one-off scripts if task repeats weekly or more.
## Stable preferences
- I prefer written summaries in Russian, code and config examples in English.
- For marketplaces, priority platforms: Wildberries > Ozon > Yandex.Market.
## Important decisions
- 2026-02-10: Decided to move all routine analytics to cron + reports in Telegram.
- 2026-02-15: Decided NOT to auto-send any messages to clients without manual approval.
Важно не превращать MEMORY.md в свалку. Документация рекомендует: важные решения и устойчивые факты — сюда, всё временное — в memory/.
Первый end-to-end сценарий: утренний брифинг
Лучший способ не утонуть в настройках — начать не с «настроить всё», а с одного сценария от начала до конца. Классика — утренний брифинг: бот каждый день сам присылает вам сводку.
Шаг 1: Описываем скилл
Создаём в workspace/skills/ файл briefing.SKILL.md:
text---
name: "Morning Briefing"
description: "Prepare a concise morning briefing for the user"
triggers:
- "morning-brief"
- "утренний брифинг"
---
# Behavior
When triggered, prepare a briefing that includes:
- Today’s date and day of week.
- Weather forecast for today in Moscow.
- Calendar events for the next 24 hours.
- 3–5 most important emails that might require decisions.
- 3–5 open tasks from the main task inbox.
Formatting:
- Use clear headings.
- Russian language.
- Keep it under 300–400 words.
Документация по skills подчёркивает: хороший SKILL.md должен чётко описывать поведение и формат, а не пытаться быть «всем сразу».
Шаг 2: Настраиваем heartbeat или cron
Вариант 1 — через встроенный cron Gateway:
bashopenclaw cron add \
--name "Morning briefing" \
--cron "0 8 * * *" \
--session main \
--message "Run morning-brief skill and send me the result in chat." \
--model "haiku"
Вариант 2 — вынести часть логики в HEARTBEAT.md и использовать heartbeat каждые 2–4 часа. Но для начала cron с конкретным временем понятнее.
Команда openclaw cron list покажет активные задания, openclaw cron runs <jobId> — историю запусков.
Шаг 3: Модель и экономия токенов
Для брифинга нет смысла использовать дорогую модель. Документация по cron и интеграциям рекомендует дешёвые модели вроде Haiku, Gemini Flash или локальные через Ollama для таких задач.
Пример настройки через cron: в --model указываете haiku, а в основном конфиге (openclaw.json) оставляете Sonnet или Opus только для сложных задач.
OpenClaw Как не сжечь тонну токенов и нервы
Даже один утренний брифинг при кривой настройке может неожиданно превратиться в серьёзный расход токенов. В официальной документации по cron и workspace есть несколько практических рекомендаций:
- Не перегружайте HEARTBEAT.md. Чем больше агент читает каждый раз — тем дороже heartbeat. Лучше короткий чеклист и ротация задач.
- Используйте разные модели для cron. В cron-задаче можно задать свой
--model, не совпадающий с основным. - Следите за объёмом MEMORY.md. Если туда сваливать всё подряд, каждый запрос будет дорогим — лучше выносить «устаревшее» в архив или отдельные файлы.
- Не плодите десятки cron-job’ов. Официальная рекомендация: часть периодических проверок вынести в один HEARTBEAT вместо множества cron.
Типичные ошибки новичков с workspace
На основе официальных гайдов и разборов можно выделить несколько классических грабель:
- AGENTS.md пустой или отсутствует. Агент работает «как есть», зацикливается, принимает странные решения, слишком автономен.
- USER.md забит правилами. В результате модель путает, где вы, а где агент. Правила поведения должны быть в AGENTS.md, а не USER.md.
- HEARTBEAT.md перегружен. Агент на каждом heartbeat прогоняет километровый чеклист — и вы платите за это токенами.
- MEMORY.md превращён в лог. Вместо устойчивых фактов и решений туда записывается всё подряд. Документация прямо предупреждает об этом.
- Нет state-файлов. В результате любые «долгие» процессы завязаны на чат-историю и сжимаются при compaction, теряя контекст.
Куда двигаться дальше
Когда базовый workspace заработал и утренний брифинг стабильно приходит в одно и то же время, можно:
- Добавить NOTION или SQLite как очередь задач — для «сделай это позже».
- Заполнить TOOLS.md, чтобы жёстко ограничить, какие интеграции и команды агент может использовать.
- Аккуратно поэкспериментировать с SOUL.md, если хочется придать агенту характер — но официальные гайды предупреждают: этот файл часто делает поведение нестабильным.
Главное — не пытаться настроить всё одновременно. Документация и опытные пользователи сходятся: один рабочий процесс от начала до конца, только потом следующий.
Если хочешь, следующую статью могу сделать либо про cron/очереди (полная автоматизация), либо про экономию токенов и выбор моделей для OpenClaw.