Установка скиллов и плагинов OpenClaw осуществляется на ваш страх и риск. Все файлы были получены из открытых источников и предоставляются «как есть». Мы не гарантируем их корректную работу, безопасность или совместимость с вашей системой. Перед установкой настоятельно рекомендуется ознакомиться с содержимым кода и убедиться, что вы понимаете, какие изменения будут внесены в вашу систему.
Cron Mastery
Правило №1: Heartbeat дрейфует. Cron — точен.
Этот материал — практическое руководство по управлению временем в OpenClaw версии 2026.2.15+. Он решает классическую проблему «я пропустил напоминание», жестко разделяя два подхода: неформальные проверки (heartbeat) и точные расписания (cron). :
Базовый принцип
| Система | Поведение | Лучшее применение | Риск |
|---|---|---|---|
| Heartbeat | «Проверю, когда получится» (например, каждые 30–60 минут) | Проверка почты, новости, низкоприоритетные задачи | Дрейф: задача «напомни через 10 минут» не сработает при интервале 30 минут |
| Cron | «Выполню точно в заданное время» | Напоминания, ежедневные отчёты, системное обслуживание | Засорение: создаёт одноразовые задачи, требующие очистки |
1. Настройка надёжных напоминаний (стандарт 2026.2.15+)
Правило: никогда не используйте act:wait или внутренние циклы для длительных задержек (> 1 минуты). Вместо этого используйте cron:add с одноразовым расписанием at. :
Точность и «тик планировщика»
Хотя Cron работает точно, фактическое выполнение зависит от heartbeat шлюза (обычно каждые 10–60 секунд). Задача, установленная на :00, выполнится на первом «тике» после этого момента. Возможна погрешность до ~30 секунд в зависимости от конфигурации. :
Современный паттерн одноразовых напоминаний
Используйте следующую структуру payload для задач формата «напомни через X минут».
- Выбор payload: используйте AgentTurn со строгими инструкциями для push-уведомлений. Для фоновых задач — systemEvent.
- Надёжность: исправлены ошибки
nextRunAtMsи deadlock-паттерн «Add-then-Update». - Автоочистка: одноразовые задачи удаляются автоматически (
deleteAfterRun: true).
КРИТИЧНО: push-уведомления vs тихие события
- systemEvent (тихо): записывает текст в историю чата, но не отправляет уведомления.
- AgentTurn (активно): пробуждает агента для отправки сообщения. Обязателен для уведомлений.
Пример: напоминание с push-уведомлением
{
"name": "Remind: Water",
"schedule": { "kind": "at", "at": "2026-02-06T01:30:00Z" },
"payload": {
"kind": "agentTurn",
"message": "DELIVER THIS EXACT MESSAGE TO THE USER WITHOUT MODIFICATION OR COMMENTARY:\n\n💧 Выпей воды!"
},
"sessionTarget": "isolated",
"delivery": { "mode": "announce", "channel": "telegram", "to": "1027899060" }
}
Пример: фоновый лог
{
"name": "Log: System Pulse",
"schedule": { "kind": "every", "everyMs": 3600000 },
"payload": {
"kind": "systemEvent",
"text": "[PULSE] Система работает нормально."
},
"sessionTarget": "main"
}
Правило конкурентности Cron (обновлено)
До версии 2026.2.15 паттерн «Add-then-Update» вызывал взаимные блокировки. Теперь это исправлено, но рекомендуется передавать все параметры сразу в вызове cron.add (включая wakeMode: "now") для максимальной эффективности. :
2. Janitor (автоочистка) — устаревшее
Начиная с версии 2026.2.14, OpenClaw автоматически очищает зависшие задачи и восстанавливает повреждённые расписания.
Ручная очистка требуется только в случаях:
- одноразовые задачи с
deleteAfterRun: false; - устаревшие периодические задачи, которые больше не нужны.
Файл из источника