Кроны в OpenClaw: автоматизация задач по расписанию

Cron в OpenClaw — это встроенный планировщик задач, который запускает агента по расписанию: разово, через интервал или по cron-выражению. Агент выполняет задачу автономно и доставляет результат в чат, webhook или оставляет себе. Это ключевой механизм для автоматизации: ежедневные дайджесты, мониторинг систем, напоминания, сбор данных — всё без вашего участия.

Что такое cron в OpenClaw?

Cron — встроенный планировщик Gateway. Он хранит задачи в файле cron/jobs.json, будит агента в нужное время и передаёт ему сообщение. Агент получает контекст (сообщение, системное событие или файл), выполняет работу и отправляет результат через настроенный канал доставки.

В отличие от системного crontab Linux, cron в OpenClaw — это не запуск скриптов, а полноценные сессии агента. Агент получает доступ ко всем инструментам: браузер, файлы, код, поиск, память. Он может прочитать инструкции из standing orders, обратиться к памяти и выполнить сложную многошаговую задачу.

Какие типы расписания поддерживаются?

OpenClaw поддерживает три типа расписания:

Разовый запуск (--at). Запуск через указанный интервал или в конкретное время. Примеры: 20m (через 20 минут), 2h (через 2 часа), 2026-06-01T12:00:00 (точное время ISO 8601). Удобно для одноразовых напоминаний или отложенных задач.

Фиксированный интервал (--every). Повторяющийся запуск через равные промежутки. Пример: 30m (каждые 30 минут), 6h (каждые 6 часов). Подходит для мониторинга и периодических проверок.

Cron-выражение (--cron). Классическое 5-поле cron-выражение с указанием часового пояса через --tz. Пример: 0 9 * * * с --tz Europe/Moscow — каждый день в 9:00 по московскому времени. Самый гибкий вариант для сложных расписаний.

Какие стили выполнения есть?

Стиль выполнения определяет, в какой сессии запускается задача:

Main session (--session main). Задача выполняется в основной сессии агента, при следующем heartbeat. Подходит для напоминаний и системных событий, которые не требуют изолированного контекста.

Isolated (--session isolated). Отдельная сессия cron:. Задача выполняется независимо, не мешая основному чату. Рекомендуется для отчётов, фоновых задач и всего, что требует длительного выполнения.

Current session (--session current). Привязана к сессии, в которой задача была создана. Сохраняет контекст разговора. Удобно для продолжения работы в том же контексте.

Custom session (--session session:my-id). Именованная persistent-сессия. Позволяет создать workflow с историей: задача выполняется в одной и той же сессии каждый раз, накапливая контекст.

Как доставляется результат?

Три режима доставки результата:

Announce. Текст результата доставляется в указанный чат (Telegram, Discord, Slack и др.). Указывается через --channel и --to. Самый распространённый вариант — вы получаете готовый ответ прямо в мессенджер.

Webhook. POST-запрос на указанный URL. Подходит для интеграции с внешними системами: нотификации, API, мониторинг.

None. Результат никуда не отправляется. Задача выполняется «для себя» — например, обновление файла или проверка состояния.

Как создать cron-задачу?

Разовое напоминание

openclaw cron add \
  --name "Напоминание" \
  --at "20m" \
  --session main \
  --system-event "Напоминание: проверь статус дайджеста" \
  --wake now

Эта задача сработает через 20 минут. Агент получит системное событие и напомнит вам проверить дайджест.

Ежедневный дайджест с доставкой в Telegram

openclaw cron add \
  --name "Утренний бриф" \
  --cron "0 7 * * *" \
  --tz "Europe/Moscow" \
  --session isolated \
  --message "Собери новости AI за сутки и составь саммари" \
  --announce \
  --channel telegram \
  --to "116941204"

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

Мониторинг каждые 30 минут

openclaw cron add \
  --name "Проверка серверов" \
  --every "30m" \
  --session isolated \
  --message "Проверь доступность серверов из списка в memory/infra/servers.md. Если что-то недоступно — сообщи." \
  --announce \
  --channel telegram \
  --to "116941204"

Агент каждые полчаса проверяет серверы и сообщает, если что-то упало.

Как управлять задачами?

Список всех команд для работы с cron:

  • openclaw cron list — показать все задачи
  • openclaw cron show — детали конкретной задачи
  • openclaw cron runs --id — история запусков
  • openclaw cron run --id — запустить задачу вручную (не дожидаясь расписания)
  • openclaw cron remove --id — удалить задачу
  • Для ручного запуска полезно протестировать задачу перед тем, как она уйдёт в расписание. Команда openclaw cron run запускает задачу немедленно.

    Cron + Standing Orders: мощная комбинация

    Standing orders — это постоянные инструкции для агента. Cron определяет когда запускаться, standing orders — что делать. Вместе они создают полноценный автоматический workflow:

    Standing Order: "Ты отвечаешь за ежедневный триаж почты"
        ↓
    Cron Job (8:00 daily): "Выполни триаж почты по standing orders"
        ↓
    Агент: Читает standing orders → выполняет шаги → отчитывается
    

    Standing orders задают программу с областью полномочий, триггерами и правилами эскалации. Агент следует инструкциям autonomно, но с чёткими границами. Если задача требует принятия решения за рамками полномочий — агент эскалирует вопрос вам.

    Паттерн Execute → Verify → Report гарантирует надёжность: агент выполняет задачу, проверяет результат и отчитывается. «Сделаю» — это не выполнение. Сделал, проверил, доложил.

    Webhooks: внешние триггеры

    Помимо расписания, Gateway принимает HTTP-запросы для запуска задач. Это позволяет интегрировать OpenClaw с внешними системами: мониторинг, CI/CD, формы на сайте.

    # Системное событие
    curl -X POST http://127.0.0.1:18789/hooks/wake \
      -H 'Authorization: Bearer SECRET' \
      -d '{"text":"Новое письмо","mode":"now"}'
    
    # Изолированный запуск агента
    curl -X POST http://127.0.0.1:18789/hooks/agent \
      -H 'Authorization: Bearer SECRET' \
      -d '{"message":"Обобщи входящие","name":"Email"}'
    

    Настройка webhooks в конфигурации Gateway:

    {
      "hooks": {
        "enabled": true,
        "token": "shared-secret",
        "path": "/hooks"
      }
    }
    

    Практические сценарии использования

    Еженедельный отчёт. Cron запускается каждую пятницу в 16:00. Агент собирает данные из файлов, генерирует отчёт в Reports/weekly/ и отправляет саммари в Telegram.

    Мониторинг цен. Каждые 2 часа агент проверяет цены конкурентов на сайтах через браузер, сравнивает с эталоном и сообщает об отклонениях.

    Напоминания о встречах. За 15 минут до встречи агент проверяет календарь и напоминает в Telegram с деталями: кто, где, повестка.

    Сбор новостей. Каждое утро в 6:00 агент обходит источники, собирает статьи, составляет дайджест и публикует его в канал.

    Очистка файлов. Раз в неделю агент проверяет временные файлы, удаляет старые логи и отчитывается об освобождённом месте.

    Запуск через Neirohost

    Если вы используете Neirohost — платформу AI-ассистентов на базе OpenClaw — cron работает точно так же. Neirohost предоставляет LXC-контейнер с Ubuntu и предустановленным OpenClaw. SSH-доступ есть, можно настраивать cron через командную строку или через чат с агентом.

    На тарифах Про и Бизнес доступно несколько агентов — можно выделить отдельного агента для фоновых задач с собственным cron-расписанием.

    FAQ

    Cron в OpenClaw — это то же самое, что crontab в Linux?

    Нет. Системный crontab запускает скрипты. Cron в OpenClaw запускает полноценные сессии агента с доступом ко всем инструментам: браузер, файлы, код, поиск, память. Агент может принимать решения, а не просто выполнять скрипт.

    Можно ли запустить задачу вручную, не дожидаясь расписания?

    Да. Команда openclaw cron run --id запускает задачу немедленно. Это полезно для тестирования перед тем, как задача уйдёт в расписание.

    Что происходит, если агент не запущен в момент срабатывания cron?

    Gateway хранит задачи в файле cron/jobs.json. Если агент не запущен, задача будет выполнена при следующем запуске Gateway. Для задач с --session main — при следующем heartbeat.

    Как передать файл в cron-задачу?

    Используйте флаг --file . Файл будет передан агенту как вложение. Удобно для передачи списков, конфигураций или инструкций.

    Можно ли использовать cron для публикации контента?

    Да, это одно из самых популярных применений. Агент может собирать данные, генерировать контент и публиковать его через WordPress API, Telegram или другие каналы. Standing orders задают правила публикации, cron — расписание.

    См. также

  • Автоматизация: cron, hooks, standing orders, задачи — полная документация по всем механизмам автоматизации
  • Сессии и память — как работает память агента между сессиями
  • Навыки (skills) в OpenClaw — как создавать и управлять скиллами агента
  • Память в OpenClaw — три уровня памяти ИИ-агента