Урок 6. Автоматизация#
Зачем это нужно#
До сих пор мы общались с ассистентом по запросу — написали сообщение, получили ответ. Но OpenClaw умеет работать самостоятельно: по расписанию проверять почту, каждое утро присылать сводку, реагировать на события. Автоматизация превращает ассистента из «собеседника» в настоящего автономного помощника, который работает, пока вы спите.
Четыре механизма автоматизации#
| Механизм | Для чего | Аналогия |
|---|---|---|
| Heartbeat (пульс) | Периодические проверки | Будильник, который звонит каждые 30 минут |
| Cron (крон) | Задачи по расписанию | Ежедневник с запланированными делами |
| Webhooks | Реакция на внешние события | Дверной звонок — кто-то пришёл, ассистент реагирует |
| Hooks | Реакция на внутренние события | Автоответчик — сработал при определённом событии |
Heartbeat — «пульс» ассистента#
Heartbeat — это периодическое «пробуждение» ассистента. Каждые N минут он просыпается, проверяет обстановку и решает, нужно ли вам что-то сообщить.
Как настроить#
{
agents: {
defaults: {
heartbeat: {
every: "30m", // каждые 30 минут
target: "last", // отправлять туда, где был последний разговор
}
}
}
}every — интервал. Примеры:
"15m"(15 минут),"1h"(1 час),"2h"(2 часа). Значение"0m"отключает пульс.target — куда отправлять сообщения:
"last"— в последний использованный мессенджер"telegram","whatsapp"— в конкретный мессенджер"none"— никуда не отправлять (ассистент работает, но молчит)
Файл HEARTBEAT.md#
Создайте файл HEARTBEAT.md в рабочей папке — это чек-лист для ассистента:
# Чек-лист при пробуждении
- Есть ли срочные задачи на сегодня?
- Проверить, не истекли ли сроки по проектам
- Если дневное время — кратко проверить, всё ли в порядкеЕсли ничего важного нет, ассистент ответит HEARTBEAT_OK и промолчит.
Активные часы#
Чтобы ассистент не беспокоил ночью:
{
agents: {
defaults: {
heartbeat: {
every: "30m",
target: "last",
activeHours: {
start: "09:00", // с 9 утра
end: "22:00", // до 10 вечера
timezone: "Europe/Moscow"
}
}
}
}
}Cron — задачи по расписанию#
Cron (произносится «крон») — это планировщик задач. В отличие от heartbeat, cron позволяет настраивать точное время и конкретные действия.
Одноразовое напоминание#
openclaw cron add \
--name "Напоминание" \
--at "2026-02-20T10:00:00Z" \
--session main \
--system-event "Напоминание: позвонить врачу" \
--wake now \
--delete-after-runРазберём по частям:
--name— название задачи (для вас)--at— когда выполнить (дата и время)--session main— выполнить в основной сессии--system-event— текст напоминания--wake now— разбудить ассистента немедленно--delete-after-run— удалить задачу после выполнения
Быстрое напоминание «через N минут»#
openclaw cron add \
--name "Звонок" \
--at "20m" \
--session main \
--system-event "Пора позвонить!" \
--wake nowЕжедневная задача#
openclaw cron add \
--name "Утренняя сводка" \
--cron "0 7 * * *" \
--tz "Europe/Moscow" \
--session isolated \
--message "Составь сводку на сегодня: погода, задачи, важные события." \
--announce \
--channel telegram \
--to "123456789"Что значит
0 7 * * *? Это формат расписания cron:минута час день месяц день_недели
0 7 * * *— каждый день в 7:000 9 * * 1-5— по будням в 9:0030 12 * * *— каждый день в 12:30
Управление задачами#
# Посмотреть все задачи
openclaw cron list
# Запустить задачу вручную (для проверки)
openclaw cron run <id-задачи>
# Посмотреть историю выполнения
openclaw cron runs --id <id-задачи>
# Изменить задачу
openclaw cron edit <id-задачи> --message "Новый текст"
# Удалить задачу
openclaw cron remove <id-задачи>Два режима выполнения#
| Режим | Описание | Когда использовать |
|---|---|---|
| main | Выполняется в основной сессии (в контексте вашего разговора) | Напоминания, простые оповещения |
| isolated | Выполняется в отдельной сессии | Сложные задачи, утренние сводки, фоновые проверки |
Webhooks — реакция на внешние события#
Webhook (вебхук) — это HTTP-адрес, на который внешние сервисы могут отправлять уведомления. Например, Gmail может сообщить о новом письме, а GitHub — о новом коммите.
Настройка в openclaw.json#
{
hooks: {
enabled: true,
token: "ваш-секретный-ключ", // пароль для защиты
path: "/hooks", // адрес для вебхуков
mappings: [
{
match: { path: "gmail" }, // реагировать на путь /hooks/gmail
action: "agent", // отправить агенту
agentId: "main",
deliver: true
}
]
}
}Теперь внешний сервис может отправить запрос на http://ваш-сервер:18789/hooks/gmail, и ассистент получит это уведомление.
Hooks — реакция на внутренние события#
Hooks (хуки) — это скрипты, которые запускаются при определённых событиях внутри OpenClaw.
Встроенные хуки#
| Хук | Событие | Что делает |
|---|---|---|
| 💾 session-memory | /new |
Сохраняет контекст сессии в память перед сбросом |
| 📝 command-logger | Любая команда | Записывает все команды в лог-файл |
| 🚀 boot-md | Запуск Gateway | Выполняет инструкции из BOOT.md при старте |
Управление хуками#
# Посмотреть доступные хуки
openclaw hooks list
# Включить хук
openclaw hooks enable session-memory
# Отключить хук
openclaw hooks disable command-logger
# Подробная информация
openclaw hooks info session-memoryРекомендация#
Включите хук session-memory — он автоматически сохраняет важные моменты из разговора в файлы памяти при каждом /new. Так вы не потеряете контекст:
openclaw hooks enable session-memoryHeartbeat или Cron — что выбрать?#
| Задача | Используйте |
|---|---|
| «Проверяй обстановку каждые 30 минут» | Heartbeat |
| «В 9 утра каждый день пришли сводку» | Cron |
| «Напомни через 20 минут» | Cron (одноразовый) |
| «Раз в неделю проверяй обновления» | Cron |
| «Будь начеку, если что-то случится» | Heartbeat |
Общее правило: heartbeat — для «будь в курсе», cron — для «сделай в конкретное время».
Итоги урока#
- Heartbeat — периодическое «пробуждение» ассистента для проверки обстановки
- Cron — задачи по точному расписанию (напоминания, ежедневные сводки)
- Webhooks — реакция на внешние события (новое письмо, коммит в GitHub)
- Hooks — реакция на внутренние события OpenClaw (сброс сессии, запуск)
- Файл
HEARTBEAT.md— чек-лист для heartbeat-проверок - Включите хук
session-memoryдля автоматического сохранения контекста - Heartbeat — для мониторинга, Cron — для запланированных действий
Следующий урок: Мобильные устройства (Nodes)