Перейти до основного вмісту

openclaw cron

Керування завданнями Cron для планувальника Gateway. Пов’язане: Порада: виконайте openclaw cron --help, щоб побачити повну поверхню команди. Примітка: openclaw cron list і openclaw cron show <job-id> показують попередній перегляд розв’язаного маршруту доставки. Для channel: "last" у попередньому перегляді показується, чи маршрут розв’язано з основної/поточної сесії, чи він завершиться безпечною відмовою. Примітка: ізольовані завдання cron add типово використовують доставку --announce. Використовуйте --no-deliver, щоб зберегти вивід внутрішнім. --deliver залишається застарілим псевдонімом для --announce. Примітка: доставка чату ізольованого Cron є спільною. --announce — це резервна доставка runner для фінальної відповіді; --no-deliver вимикає цей резервний механізм, але не прибирає інструмент message агента, якщо маршрут чату доступний. Примітка: одноразові завдання (--at) типово видаляються після успішного виконання. Використовуйте --keep-after-run, щоб зберегти їх. Примітка: --session підтримує main, isolated, current і session:<id>. Використовуйте current, щоб прив’язати до активної сесії в момент створення, або session:<id> для явного постійного ключа сесії. Примітка: для одноразових CLI-завдань datetime у --at без зсуву часової зони трактуються як UTC, якщо ви також не передасте --tz <iana>, що інтерпретує цей локальний час у заданому часовому поясі. Примітка: повторювані завдання тепер використовують експоненційне збільшення затримки повторних спроб після послідовних помилок (30s → 1m → 5m → 15m → 60m), а потім повертаються до звичайного розкладу після наступного успішного запуску. Примітка: openclaw cron run тепер повертається, щойно ручний запуск поставлено в чергу на виконання. Успішні відповіді містять { ok: true, enqueued: true, runId }; використовуйте openclaw cron runs --id <job-id>, щоб відстежити підсумковий результат. Примітка: openclaw cron run <job-id> типово примусово запускає завдання. Використовуйте --due, щоб зберегти стару поведінку «запускати лише якщо настав час». Примітка: ізольовані ходи Cron пригнічують застарілі відповіді, що містять лише підтвердження. Якщо перший результат — лише проміжне оновлення стану і жоден дочірній запуск субагента не відповідає за остаточну відповідь, Cron повторно формує запит один раз для отримання реального результату перед доставкою. Примітка: якщо ізольований запуск повертає лише тихий токен (NO_REPLY / no_reply), Cron пригнічує як пряму вихідну доставку, так і резервний шлях постановки підсумку в чергу, тому назад у чат нічого не надсилається. Примітка: cron add|edit --model ... використовує цю вибрану дозволену модель для завдання. Якщо модель не дозволена, Cron попереджає та повертається до вибору моделі агента/типової моделі для завдання. Налаштовані ланцюжки резервних варіантів і далі застосовуються, але звичайне перевизначення моделі без явного списку резервних варіантів для завдання більше не додає основну модель агента як приховану додаткову ціль для повторної спроби. Примітка: пріоритет моделі для ізольованого Cron такий: спочатку перевизначення Gmail-hook, потім --model для завдання, потім будь-яке збережене перевизначення моделі cron-session, а потім звичайний вибір агента/типової моделі. Примітка: швидкий режим ізольованого Cron слідує за розв’язаним вибором live-моделі. Конфігурація моделі params.fastMode застосовується типово, але збережене перевизначення fastMode сесії все одно має вищий пріоритет за конфігурацію. Примітка: якщо ізольований запуск викидає LiveSessionModelSwitchError, Cron зберігає перемкненого провайдера/модель (а також перемкнене перевизначення профілю автентифікації, якщо є) перед повторною спробою. Зовнішній цикл повторних спроб обмежено 2 повторними перемиканнями після початкової спроби, після чого він переривається замість нескінченного циклу. Примітка: сповіщення про збої спочатку використовують delivery.failureDestination, потім глобальний cron.failureDestination, і нарешті повертаються до основної цілі announce завдання, якщо явну ціль збоїв не налаштовано. Примітка: retention/pruning керується в конфігурації:
  • cron.sessionRetention (типово 24h) очищає завершені сесії ізольованих запусків.
  • cron.runLog.maxBytes + cron.runLog.keepLines очищають ~/.openclaw/cron/runs/<jobId>.jsonl.
Примітка щодо оновлення: якщо у вас є старіші завдання Cron, створені до поточного формату delivery/store, виконайте openclaw doctor --fix. Тепер Doctor нормалізує застарілі поля Cron (jobId, schedule.cron, поля доставки верхнього рівня, включно із застарілим threadId, псевдоніми доставки provider у payload) і мігрує прості резервні Webhook-завдання з notify: true до явної доставки через webhook, коли налаштовано cron.webhook.

Поширені редагування

Оновити налаштування доставки без зміни повідомлення:
openclaw cron edit <job-id> --announce --channel telegram --to "123456789"
Вимкнути доставку для ізольованого завдання:
openclaw cron edit <job-id> --no-deliver
Увімкнути полегшений bootstrap-контекст для ізольованого завдання:
openclaw cron edit <job-id> --light-context
Оголосити у конкретний канал:
openclaw cron edit <job-id> --announce --channel slack --to "channel:C1234567890"
Створити ізольоване завдання з полегшеним bootstrap-контекстом:
openclaw cron add \
  --name "Lightweight morning brief" \
  --cron "0 7 * * *" \
  --session isolated \
  --message "Summarize overnight updates." \
  --light-context \
  --no-deliver
--light-context застосовується лише до ізольованих завдань ходу агента. Для запусків Cron полегшений режим зберігає bootstrap-контекст порожнім замість упровадження повного набору bootstrap робочого простору. Примітка щодо володіння доставкою:
  • Доставка чату ізольованого Cron є спільною. Агент може надсилати безпосередньо за допомогою інструмента message, якщо маршрут чату доступний.
  • announce резервно доставляє фінальну відповідь лише тоді, коли агент не надіслав її безпосередньо до розв’язаної цілі. webhook надсилає завершений payload на URL. none вимикає резервну доставку runner.

Поширені команди адміністрування

Ручний запуск:
openclaw cron list
openclaw cron show <job-id>
openclaw cron run <job-id>
openclaw cron run <job-id> --due
openclaw cron runs --id <job-id> --limit 50
Записи cron runs містять діагностику доставки з ціллю Cron, яку було задумано, розв’язаною ціллю, надсиланнями через інструмент message, використанням резервного механізму та станом доставки. Переналаштування агента/сесії:
openclaw cron edit <job-id> --agent ops
openclaw cron edit <job-id> --clear-agent
openclaw cron edit <job-id> --session current
openclaw cron edit <job-id> --session "session:daily-brief"
Налаштування доставки:
openclaw cron edit <job-id> --announce --channel slack --to "channel:C1234567890"
openclaw cron edit <job-id> --best-effort-deliver
openclaw cron edit <job-id> --no-best-effort-deliver
openclaw cron edit <job-id> --no-deliver
Примітка щодо доставки збоїв:
  • delivery.failureDestination підтримується для ізольованих завдань.
  • Завдання основної сесії можуть використовувати delivery.failureDestination лише тоді, коли основним режимом доставки є webhook.
  • Якщо ви не задаєте жодної цілі для збоїв, а завдання вже оголошує в канал, сповіщення про збої повторно використовують ту саму ціль announce.