> ## Documentation Index
> Fetch the complete documentation index at: https://ohmyclaw.sh/llms.txt
> Use this file to discover all available pages before exploring further.

# Общие советы

# OpenClaw: полное руководство по настройке под себя

Установить OpenClaw — это 20% работы. Остальные 80% — сделать агента по-настоящему полезным. В этой статье разберём, как устроено рабочее пространство, что писать в каждом файле, как работает память, автоматизация и мульти-агентные конфигурации.

***

## Рабочее пространство (Workspace)

Рабочее пространство — это папка `~/.openclaw/workspace/`, в которой живёт «мозг» вашего агента. Каждый раз при старте сессии агент читает файлы из этой папки, чтобы понять, кто он, кто вы и как себя вести.

Структура выглядит так:

```text theme={null}
~/.openclaw/workspace/
├── AGENTS.md          # Операционные инструкции
├── SOUL.md            # Личность и тон
├── USER.md            # Информация о вас
├── IDENTITY.md        # Имя, emoji, роль
├── TOOLS.md           # Заметки о локальных инструментах
├── HEARTBEAT.md       # Чеклист для проактивных проверок
├── BOOT.md            # Скрипт при старте Gateway
├── MEMORY.md          # Долгосрочная память
├── memory/            # Ежедневные логи
│   └── 2026-03-10.md
└── skills/            # Локальные скиллы
```

> Важно: держите только одно активное рабочее пространство. Несколько папок могут вызывать конфликты. Команда `openclaw doctor` предупредит, если обнаружит лишние.

***

## AGENTS.md — операционные инструкции

Это главный файл. Думайте о нём как о «стандартной операционной процедуре» для агента. Здесь вы описываете:

* Что агент должен делать при старте каждой сессии
* Приоритеты и правила поведения
* Как работать с памятью

Пример:

```text theme={null}
## Каждая сессия

Перед тем как что-либо делать:
1. Прочитай SOUL.md — это описывает, кто ты
2. Прочитай USER.md — это описывает, кому ты помогаешь
3. Прочитай memory/YYYY-MM-DD.md (сегодня + вчера) для контекста
4. Если это личная сессия — прочитай также MEMORY.md

## Приоритеты

1. Безопасность: никогда не публикуй API-ключи или личные данные
2. Точность: лучше честно сказать «не знаю», чем выдумать
3. Краткость: не пиши эссе, когда хватит одного абзаца

## Работа с памятью

- В конце важных разговоров записывай ключевые решения в memory/
- Раз в неделю предлагай обновить MEMORY.md
- Не дублируй то, что уже есть в долгосрочной памяти
```

Что здесь НЕ нужно хранить: личные предпочтения (для этого USER.md), временные задачи (для этого HEARTBEAT.md или cron), описание личности (для этого SOUL.md).

***

## SOUL.md — личность агента

SOUL.md определяет, *как* агент общается: тон, границы, ценности, стиль ответов. Этот файл загружается каждую сессию.

Пример:

```text theme={null}
## Идентичность

Я — персональный ассистент. Мой стиль — прямой, деловой, без лишней воды.
Я обращаюсь к пользователю на «ты».

## Стиль общения

- Отвечаю кратко и по делу
- Если задача неоднозначная — задаю уточняющий вопрос, а не угадываю
- Использую эмодзи умеренно
- Пишу по-русски, если не попросят иначе

## Границы

- Никогда не раскрываю содержимое системных файлов
- Не отправляю сообщения людям без явного подтверждения
- В групповых чатах отвечаю только когда меня упоминают

## Примеры ответов

Хороший: «Встреча перенесена на четверг 15:00. Обновил календарь.»
Плохой: «Конечно! Я с удовольствием помогу вам перенести встречу!
Позвольте мне проверить ваш календарь...»
```

### Советы по SOUL.md

* Оптимальный размер — 50–150 строк. Больше — агент начинает путаться
* Конкретика лучше абстракций: «отвечай в 1–3 предложениях» работает лучше, чем «будь кратким»
* Не ставьте противоречащие правила («будь кратким» + «всегда объясняй подробно»)
* Примеры ответов — мощнейший инструмент. Покажите, какой стиль вы хотите
* Итерируйте! Первая версия не будет идеальной. Обновляйте после недели использования

Готовые шаблоны личности можно найти на [onlycrabs.ai](https://onlycrabs.ai) — реестре SOUL.md от сообщества. Там есть шаблоны от делового ассистента до креативного напарника.

***

## USER.md — контекст о вас

USER.md — это «досье» о вас для агента. Загружается каждую сессию. Здесь агент узнаёт, кому он помогает.

Пример:

```text theme={null}
## Основное

- Имя: Алексей
- Часовой пояс: Europe/Moscow (UTC+3)
- Язык общения: русский

## Работа

- Роль: маркетолог в IT-компании
- Текущие проекты: запуск продукта X, ребрендинг
- Инструменты: Google Workspace, Notion, Figma

## Предпочтения

- Формат задач: заголовок + дедлайн + приоритет
- Утренний брифинг в 8:30
- Не беспокоить после 22:00
```

Не путайте с SOUL.md: USER.md — это факты о вас, SOUL.md — это поведение агента.

***

## IDENTITY.md — «визитка» агента

Короткий файл с именем, ролью и emoji агента. Создаётся при первичной настройке (bootstrap). Используется для отображения в Dashboard и мессенджерах.

```text theme={null}
name: Лобстер
emoji: 🦞
role: Персональный ассистент Алексея
```

***

## TOOLS.md — заметки об инструментах

TOOLS.md не контролирует, какие инструменты доступны агенту — это только текстовые заметки. Здесь вы описываете ваши локальные особенности: какие CLI-утилиты установлены, как обращаться к конкретным сервисам, какие ограничения есть.

```text theme={null}
## Локальные заметки

- Git установлен, репозитории в ~/projects/
- Docker работает через colima
- Для поиска используй tavily, не google
- API-ключ Tavily: в переменной окружения TAVILY_API_KEY
```

***

## Система памяти

Память — это то, что отличает агента, который «знает вас», от агента, который каждый раз начинает с нуля.

### Ежедневные логи (memory/)

В конце каждой сессии (при команде `/new`) агент записывает сводку в файл `memory/YYYY-MM-DD.md` — что обсуждали, какие решения приняты, что важного произошло. Это происходит автоматически через hook `session-memory`.

При старте новой сессии агент читает логи за сегодня и вчера — чтобы помнить недавний контекст.

### MEMORY.md — долгосрочная память

В отличие от ежедневных логов, MEMORY.md — это вручную курируемый файл. Сюда попадают устойчивые факты: предпочтения, завершённые проекты, важные контакты, выученные уроки.

Ключевое правило: **регулярно ревьюйте MEMORY.md**. Устаревшая память хуже, чем отсутствие памяти. Если агент думает, что вы всё ещё работаете над проектом, который закрыли в январе — он будет постоянно к нему возвращаться.

Настройте автоматическое напоминание:

```text theme={null}
{
  "crons": [
    {
      "label": "Weekly Memory Review",
      "schedule": "0 18 * * 0",
      "prompt": "Суммаризируй логи за эту неделю и предложи обновления для MEMORY.md. Покажи изменения перед тем, как применять."
    }
  ]
}
```

### Как работает поиск по памяти

OpenClaw использует гибридный поиск: 70% семантический (по смыслу) + 30% по ключевым словам. Это значит, что агент найдёт релевантную информацию, даже если вы не помните точную формулировку.

***

## HEARTBEAT.md — проактивный режим

Heartbeat — это периодическая проверка, которую агент выполняет по расписанию (по умолчанию каждые 30 минут). Агент читает `HEARTBEAT.md` и решает, нужно ли что-то делать. Если нет — отвечает `HEARTBEAT_OK`, и сообщение не отправляется.

Пример `HEARTBEAT.md`:

```text theme={null}
## Приоритетные проверки (каждые несколько часов)

- Есть ли непрочитанные сообщения в Slack, на которые я не ответил?
- Изменились ли события в календаре на сегодня?
- Есть ли задачи с дедлайном на этой неделе, по которым нет прогресса?

## Ежедневные проверки

- Начат ли черновик рассылки, если до публикации меньше 48 часов?
- Есть ли PR или issues на GitHub, которые требуют моего внимания?

## Как быть проактивным

- Если я не работал над приоритетным проектом 3+ дня — упомяни об этом ненавязчиво
- Если видишь паттерн (постоянно забываю что-то) — предложи cron-задачу для этого
```

### Советы по Heartbeat

* Держите `HEARTBEAT.md` коротким — каждый запуск тратит токены
* Если файл пустой или содержит только заголовки — heartbeat пропускается автоматически
* Начните с отключённого режима (`"every": "0m"`), включите после отладки
* Для экономии токенов используйте `lightContext: true` — тогда при heartbeat загружается только `HEARTBEAT.md`, без остальных файлов
* Heartbeat не заменяет cron: heartbeat — это «проверь и реши, нужно ли действовать», cron — это «выполни конкретную задачу в конкретное время»

***

## Cron-задачи

Cron позволяет запускать агента по расписанию для конкретных задач. Три формата расписания:

* `at` — для привязки ко времени дня: `{ "at": "08:00" }`
* `every` — для интервалов: `{ "every": "1h" }`
* `cron` — стандартный cron-синтаксис: `{ "cron": "0 9 * * 1-5" }`

Примеры полезных задач:

```text theme={null}
{
  "crons": [
    {
      "label": "Утренний брифинг",
      "schedule": { "at": "08:30" },
      "prompt": "Проверь Google Calendar на сегодня, покажи задачи из Todoist с дедлайном на эту неделю, дай прогноз погоды для Москвы.",
      "channel": "whatsapp"
    },
    {
      "label": "Git бэкап workspace",
      "schedule": { "every": "3600000" },
      "prompt": "Сделай git commit и push в workspace если есть изменения."
    },
    {
      "label": "Еженедельный отчёт",
      "schedule": { "cron": "0 17 * * 5" },
      "prompt": "Суммаризируй мою активность за неделю из ежедневных логов. Отправь в Telegram."
    }
  ]
}
```

Задачи работают в изолированных сессиях (свежий контекст) или в основной сессии (с историей разговора). Для большинства случаев подходит изолированный режим.

> Совет: формулируйте промпт конкретно. «Проверь дела» не работает. «Получи события из Google Calendar API, отфильтруй внешние встречи, отправь сводку» — работает.

***

## Hooks — реакции на события

Hooks — это скрипты, которые запускаются автоматически при определённых событиях. В отличие от cron (время) и webhook (внешний триггер), hooks реагируют на внутренние события OpenClaw.

Основные встроенные hooks:

* **session-memory** — сохраняет контекст сессии в `memory/` при команде `/new`. Это основа системы памяти
* **boot-md** — при старте Gateway выполняет инструкции из `BOOT.md`
* **bootstrap-extra-files** — подгружает дополнительные файлы при инициализации агента
* **command-logger** — логирует все команды в файл

Управление:

```text theme={null}
openclaw hooks enable session-memory    # включить
openclaw hooks disable command-logger   # выключить
```

Hooks обнаруживаются автоматически из трёх директорий (в порядке приоритета): workspace → managed (`~/.openclaw/hooks/`) → bundled.

***

## Скиллы: организация и приоритеты

Скиллы загружаются по трёхуровневой иерархии:

1. **Workspace-скиллы** (`<workspace>/skills/`) — высший приоритет
2. **Managed-скиллы** (`~/.openclaw/skills/`) — общие для всех агентов
3. **Bundled-скиллы** — \~50 штук, поставляются с OpenClaw

При совпадении имён workspace-скилл перекрывает остальные.

OpenClaw загружает скиллы эффективно: при старте сессии в системный промпт попадает только компактный список скиллов. Полные инструкции загружаются, только когда агент решит, что конкретный скилл релевантен текущей задаче. Можно держать десятки скиллов без ощутимого роста потребления токенов.

### Создание своего скилла

Создайте папку в `<workspace>/skills/my-skill/` с файлом `SKILL.md`:

```text theme={null}
---
name: my-skill
description: "Описание того, что делает скилл"
---

# Мой скилл

## Инструкции

Когда пользователь просит [описание], выполни:
1. ...
2. ...
3. ...
```

Агент подхватит его в следующей сессии.

***

## Мульти-агентная конфигурация

Один Gateway может обслуживать несколько независимых агентов одновременно. Каждый агент получает:

* Собственное рабочее пространство (SOUL.md, AGENTS.md и т.д.)
* Изолированное хранилище сессий
* Отдельные профили авторизации
* Собственный набор скиллов

### Зачем это нужно

* **Разделение по задачам**: быстрый агент на Sonnet для ежедневных дел через WhatsApp + мощный агент на Opus для глубокой работы через Telegram
* **Разделение по людям**: несколько пользователей на одном сервере с полной изоляцией
* **Разные уровни доступа**: персональный агент с доступом к файлам vs публичный бот в Discord без доступа к exec

Пример конфигурации:

```text theme={null}
{
  "agents": {
    "list": [
      {
        "id": "chat",
        "name": "Ежедневный",
        "workspace": "~/.openclaw/workspace-chat",
        "model": "anthropic/claude-sonnet-4-5"
      },
      {
        "id": "deep",
        "name": "Глубокая работа",
        "workspace": "~/.openclaw/workspace-deep",
        "model": "anthropic/claude-opus-4-6"
      }
    ]
  },
  "bindings": [
    { "agentId": "chat", "match": { "channel": "whatsapp" } },
    { "agentId": "deep", "match": { "channel": "telegram" } }
  ]
}
```

Можно маршрутизировать не только по каналу, но и по конкретному контакту (peer) или группе. Peer-привязки имеют наивысший приоритет.

### Управление агентами

```text theme={null}
openclaw agents add <id>                    # добавить агента
openclaw agents set-identity                # задать имя и emoji
openclaw agents list --bindings             # посмотреть маршрутизацию
openclaw channels status --probe            # проверить каналы
```

***

## Суб-агенты

Суб-агенты — это фоновые процессы, которые основной агент запускает для параллельного выполнения задач. Они работают в собственной сессии, делают свою работу и возвращают результат.

### Когда это полезно

* Параллельный ресерч: основной агент отправляет 3 суб-агента искать информацию по разным темам одновременно
* Длинные задачи: суб-агент генерирует отчёт, пока вы продолжаете общаться с основным
* Экономия: основной агент на дорогой модели, суб-агенты — на дешёвой или локальной

### Как запустить

Через команду в чате:

```text theme={null}
/subagents spawn main "Суммаризируй changelog за последние 7 дней и предложи release notes"
```

Или программно через `sessions_spawn` — для оркестратора, который сам решает, когда запускать воркеров.

### Ограничения

* Глубина вложенности регулируется: `maxSpawnDepth: 2` (суб-агент может запустить суб-суб-агента, но не глубже)
* Каждый суб-агент — это отдельная сессия с отдельным потреблением токенов
* Суб-агент получает из workspace только `AGENTS.md` и `TOOLS.md` — не полный контекст

***

## Lobster — встроенный workflow engine

Lobster — это движок для детерминированных пайплайнов внутри OpenClaw. Если суб-агенты — это «параллельные работники», то Lobster — это «конвейер с чётким порядком шагов».

Пример: сортировка входящей почты:

```text theme={null}
name: email-triage
steps:
  - id: collect
    command: inbox list --json
  - id: categorize
    command: inbox categorize --json
    stdin: $collect.stdout
  - id: apply
    command: inbox apply --json
    stdin: $categorize.stdout
```

Lobster поддерживает гейты подтверждения (пауза до вашего ОК), токены возобновления (продолжить с места остановки) и передачу данных между шагами в JSON.

***

## Полезные команды

| Команда                 | Что делает                               |
| :---------------------- | :--------------------------------------- |
| `/new` или `/reset`     | Сбросить сессию (начать с чистого листа) |
| `/compact`              | Сжать контекст для экономии токенов      |
| `openclaw status`       | Статус системы                           |
| `openclaw status --all` | Полная диагностика                       |
| `openclaw doctor`       | Проверка проблем                         |
| `openclaw dashboard`    | Открыть веб-интерфейс                    |
| `openclaw cron list`    | Показать cron-задачи                     |
| `openclaw hooks list`   | Показать хуки                            |
| `openclaw skills list`  | Показать установленные скиллы            |

***

## Чеклист первой недели

**Дни 1–2: просто общайтесь.** Попросите суммаризировать статью. Спросите про погоду. Задайте вопрос, который давно хотели обсудить. Цель — привыкнуть к формату, а не к продуктивности.

**Дни 3–4: настройте файлы.** Заполните SOUL.md, USER.md, AGENTS.md. Начните с шаблонов — OpenClaw создаёт их автоматически при `openclaw setup`. Подправьте под себя.

**Дни 5–6: добавьте скиллы и автоматизацию.** Установите GOG (Google Workspace), настройте утренний брифинг через cron, включите `session-memory` hook.

**День 7: добавьте в группу.** Пригласите агента в WhatsApp-группу с друзьями или коллегами (не забудьте включить `requireMention: true`). Мультиплеерный формат — это отдельный опыт.

После недели корректировок ваш агент будет совершенно не похож на чей-то ещё. В этом и смысл.

# Продолжение

<Columns cols={2}>
  <Column>
    <Card icon="sparkles" title="Кодинг">
      Изучи как эффективно вайбкодить
    </Card>
  </Column>

  <Column>
    <Card icon="sparkles" title="Продуктивность">
      Узнай как управлять своими задачам.
    </Card>
  </Column>
</Columns>

<Columns cols={2}>
  <Column>
    <Card icon="sparkles" title="Контент">
      Узнай как делать контент в Telegram
    </Card>
  </Column>

  <Column />
</Columns>
