Канал

Автоматизация в OpenClaw: cron-задачи и hooks

OpenClaw может выполнять задачи автоматически — по расписанию (cron) или по событию (hooks). Это превращает агента из «отвечалки на сообщения» в полноценного автономного помощника.

Источники: docs.openclaw.ai/automation/cron-jobs, docs.openclaw.ai/automation/hooks, docs.openclaw.ai/cli/cron.

Cron: задачи по расписанию

Быстрый старт

# Утренний дайджест каждый день в 8:00 по Москве
openclaw cron add \
  --name "Утренний дайджест" \
  --cron "0 8 * * *" \
  --tz "Europe/Moscow" \
  --message "Покажи погоду, задачи на сегодня и новости ИИ" \
  --announce \
  --channel telegram

После добавления задача запускается автоматически — gateway должен быть запущен.

Три типа расписаний

ТипФлагПримерКогда использовать
Cron-выражение--cron"0 8 * * *"Регулярные задачи (каждый день, час, неделю)
Интервал--every3600000 (мс)Повторение каждые N миллисекунд
Одноразовое--at"2026-04-01T10:00:00Z"Отложенная задача на конкретное время

Cron-выражения используют стандартный формат из 5 или 6 полей. Таймзона задаётся через --tz (формат IANA, например Europe/Moscow).

Все команды cron

КомандаЧто делает
openclaw cron addСоздать задачу
openclaw cron listСписок всех задач
openclaw cron editРедактировать задачу
openclaw cron removeУдалить задачу
openclaw cron runЗапустить задачу вручную (для тестирования)
openclaw cron runsИстория запусков (с --limit и --id)
openclaw cron statusТекущий статус задач

Конфигурация cron в openclaw.json

// ~/.openclaw/openclaw.json
{
  cron: {
    enabled: true,           // включить/выключить все задачи
    maxConcurrentRuns: 1,    // макс. параллельных запусков
    retry: {
      maxAttempts: 3,        // повторы при ошибке
    },
  },
}

Данные задач хранятся в ~/.openclaw/cron/ и переживают перезапуск gateway.

Практические примеры

Мониторинг цен:

openclaw cron add \
  --name "Проверка цен" \
  --every 7200000 \
  --message "Проверь цену MacBook Air M4 на restore.apple.com. Если ниже 120000₽ — отправь уведомление." \
  --announce \
  --channel telegram

Еженедельный отчёт:

openclaw cron add \
  --name "Итоги недели" \
  --cron "0 18 * * 5" \
  --tz "Europe/Moscow" \
  --session isolated \
  --message "Собери итоги моих задач за неделю из Todoist и отправь краткий отчёт." \
  --announce \
  --channel telegram

Одноразовое напоминание:

openclaw cron add \
  --name "Напоминание" \
  --at "2026-04-01T09:00:00+03:00" \
  --message "Напомни: сегодня дедлайн по проекту X" \
  --announce \
  --channel telegram

Флаг --session isolated запускает задачу в отдельной сессии, чтобы она не засоряла основной контекст.

Флаг --announce отправляет результат в указанный канал. Без него задача выполняется «тихо».

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

Hooks позволяют OpenClaw реагировать на внешние и внутренние события.

Вебхуки (внешние события)

Принимают HTTP-запросы от внешних сервисов (GitHub, CI/CD, мониторинг) и передают их агенту.

// ~/.openclaw/openclaw.json
{
  hooks: {
    enabled: true,
    token: "my-secret-token",     // защита от несанкционированных запросов
    path: "/hooks",               // URL: http://gateway:18789/hooks
    mappings: [
      {
        match: { source: "github" },
        action: "message",
        agentId: "assistant",
        channel: "telegram",      // куда отправить уведомление
      },
    ],
  },
}

После настройки GitHub может отправлять webhook на http://your-gateway:18789/hooks, и агент получит событие (push, PR, issue) для обработки.

Internal hooks (внутренние события)

Скрипты, которые запускаются при событиях внутри gateway:

СобытиеКогда срабатывает
message:receivedПолучено новое сообщение
message:sentСообщение отправлено
session:compact:beforeПеред сжатием контекста
session:compact:afterПосле сжатия контекста
gateway:startupПри старте gateway
agent:bootstrapПри инициализации агента

Конфигурация:

{
  hooks: {
    internal: {
      enabled: true,
      entries: {
        "session-memory": { enabled: true },
        "my-custom-hook": {
          enabled: true,
          env: { "MY_VAR": "value" },   // переменные окружения для хука
        },
      },
      load: {
        extraDirs: ["/path/to/hooks"],   // дополнительные директории с хуками
      },
    },
  },
}

Context Engine hooks (с версии 2026.3.7)

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

HookКогда вызывается
bootstrapИнициализация контекста при старте
ingestПолучение нового сообщения
assembleСборка контекста перед отправкой в модель
compactСжатие контекста при достижении лимита
afterTurnПосле завершения хода агента
prepareSubagentSpawnПодготовка контекста для субагента
onSubagentEndedВозврат результатов субагента

Подробнее о Context Engine — в обзоре релиза 2026.3.7.

Cron + Hooks: сценарии автоматизации

Автономный мониторинг: cron проверяет состояние сервера каждые 30 минут. Если что-то не так — отправляет алерт в Telegram.

CI/CD-помощник: GitHub webhook уведомляет агента о новом PR. Агент проверяет diff, запускает ревью и пишет комментарий.

Ежедневный дайджест: утром cron собирает новости (web_search), задачи (todoist), погоду (weather) и отправляет сводку.

Больше реальных сценариев — в статье 34 сценария OpenClaw.

Что дальше

Следите за OpenClaw на русском

Разбираем обновления, пишем гайды, делимся кейсами

Подписаться на канал Задать вопрос в чате
Присоединяйтесь к сообществу