---
read_when:
    - Вам потрібні заплановані завдання та пробудження
    - Ви налагоджуєте виконання Cron і аналізуєте журнали
summary: Довідник CLI для `openclaw cron` (планування та запуск фонових завдань)
title: Cron
x-i18n:
    generated_at: "2026-05-02T04:47:21Z"
    model: gpt-5.5
    provider: openai
    source_hash: 298ac3fc868462eb301febbc1aa5296d8087cad7fdc466870487081444c5856f
    source_path: cli/cron.md
    workflow: 16
---

# `openclaw cron`

Керуйте завданнями Cron для планувальника Gateway.

<Tip>
Запустіть `openclaw cron --help`, щоб переглянути повну поверхню команд. Див. [завдання Cron](/uk/automation/cron-jobs) для концептуального посібника.
</Tip>

## Сесії

`--session` приймає `main`, `isolated`, `current` або `session:<id>`.

<AccordionGroup>
  <Accordion title="Ключі сесій">
    - `main` прив’язується до основної сесії агента.
    - `isolated` створює новий транскрипт і ідентифікатор сесії для кожного запуску.
    - `current` прив’язується до активної сесії на момент створення.
    - `session:<id>` закріплює явний постійний ключ сесії.

  </Accordion>
  <Accordion title="Семантика ізольованої сесії">
    Ізольовані запуски скидають навколишній контекст розмови. Маршрутизація каналів і груп, політика надсилання/черги, підвищення прав, походження та прив’язка середовища виконання ACP скидаються для нового запуску. Безпечні налаштування та явно вибрана користувачем модель або перевизначення автентифікації можуть переноситися між запусками.
  </Accordion>
</AccordionGroup>

## Доставка

`openclaw cron list` і `openclaw cron show <job-id>` показують попередній перегляд розв’язаного маршруту доставки. Для `channel: "last"` попередній перегляд показує, чи маршрут розв’язано з основної або поточної сесії, або чи він завершиться закритою відмовою.

Цілі з префіксом провайдера можуть усунути неоднозначність нерозв’язаних каналів оголошень. Наприклад, `to: "telegram:123"` вибирає Telegram, коли `delivery.channel` пропущено або має значення `last`. Лише префікси, оголошені завантаженим Plugin, є селекторами провайдера. Якщо `delivery.channel` задано явно, префікс має відповідати цьому каналу; `channel: "whatsapp"` з `to: "telegram:123"` відхиляється. Сервісні префікси, як-от `imessage:` і `sms:`, залишаються синтаксисом цілі, що належить каналу.

<Note>
Ізольовані завдання `cron add` за замовчуванням використовують доставку `--announce`. Використовуйте `--no-deliver`, щоб залишити вивід внутрішнім. `--deliver` лишається застарілим псевдонімом для `--announce`.
</Note>

### Власність доставки

Доставка чату ізольованого Cron спільно керується агентом і виконувачем:

- Агент може надсилати напряму за допомогою інструмента `message`, коли доступний маршрут чату.
- `announce` виконує резервну доставку фінальної відповіді лише тоді, коли агент не надіслав напряму до розв’язаної цілі.
- `webhook` надсилає завершене корисне навантаження на URL.
- `none` вимикає резервну доставку виконувачем.

`--announce` — це резервна доставка виконувачем для фінальної відповіді. `--no-deliver` вимикає цей резервний шлях, але не прибирає інструмент `message` агента, коли доступний маршрут чату.

Нагадування, створені з активного чату, зберігають поточну ціль доставки чату для резервної доставки оголошення. Внутрішні ключі сесій можуть бути в нижньому регістрі; не використовуйте їх як джерело істини для чутливих до регістру ідентифікаторів провайдерів, таких як ідентифікатори кімнат Matrix.

### Доставка збоїв

Сповіщення про збій розв’язуються в такому порядку:

1. `delivery.failureDestination` у завданні.
2. Глобальний `cron.failureDestination`.
3. Основна ціль оголошення завдання (коли явну ціль для збоїв не задано).

<Note>
Завдання основної сесії можуть використовувати `delivery.failureDestination` лише тоді, коли основний режим доставки — `webhook`. Ізольовані завдання приймають його в усіх режимах.
</Note>

Примітка: ізольовані запуски Cron трактують помилки агента на рівні запуску як помилки завдання навіть тоді, коли корисне навантаження відповіді не створено, тож збої моделі/провайдера все одно збільшують лічильники помилок і запускають сповіщення про збій.

## Планування

### Одноразові завдання

`--at <datetime>` планує одноразовий запуск. Дати й час без зміщення трактуються як UTC, якщо ви також не передаєте `--tz <iana>`, що інтерпретує локальний час у заданому часовому поясі.

<Note>
Одноразові завдання за замовчуванням видаляються після успіху. Використовуйте `--keep-after-run`, щоб зберегти їх.
</Note>

### Повторювані завдання

Повторювані завдання використовують експоненційний відступ повторних спроб після послідовних помилок: 30с, 1хв, 5хв, 15хв, 60хв. Розклад повертається до норми після наступного успішного запуску.

Пропущені запуски відстежуються окремо від помилок виконання. Вони не впливають на відступ повторних спроб, але `openclaw cron edit <job-id> --failure-alert-include-skipped` може включити повторні сповіщення про пропущені запуски до сповіщень про збій.

Для ізольованих завдань, які націлені на локально налаштованого провайдера моделей, Cron виконує легку попередню перевірку провайдера перед початком ходу агента. Провайдери local loopback, приватної мережі та `.local` з `api: "ollama"` перевіряються на `/api/tags`; локальні OpenAI-сумісні провайдери, як-от vLLM, SGLang і LM Studio, перевіряються на `/models`. Якщо кінцева точка недоступна, запуск записується як `skipped` і повторюється за пізнішим розкладом; відповідні недоступні кінцеві точки кешуються на 5 хвилин, щоб багато завдань не перевантажували той самий локальний сервер.

Примітка: визначення завдань Cron зберігаються в `jobs.json`, тоді як очікуваний стан середовища виконання зберігається в `jobs-state.json`. Якщо `jobs.json` редагується зовні, Gateway перезавантажує змінені розклади та очищає застарілі очікувані слоти; переписування лише форматування не очищає очікуваний слот.

### Ручні запуски

`openclaw cron run` повертається одразу після додавання ручного запуску до черги. Успішні відповіді містять `{ ok: true, enqueued: true, runId }`. Використовуйте `openclaw cron runs --id <job-id>`, щоб відстежити остаточний результат.

<Note>
`openclaw cron run <job-id>` за замовчуванням виконує примусовий запуск. Використовуйте `--due`, щоб зберегти старішу поведінку «запускати лише якщо настав час».
</Note>

## Моделі

`cron add|edit --model <ref>` вибирає дозволену модель для завдання.

<Warning>
Якщо модель не дозволена або її неможливо розв’язати, Cron завершує запуск явною помилкою валідації замість повернення до агента завдання або вибору моделі за замовчуванням.
</Warning>

Cron `--model` є **основним параметром завдання**, а не перевизначенням `/model` чат-сесії. Це означає:

- Налаштовані резервні моделі все одно застосовуються, коли вибрана модель завдання зазнає збою.
- `fallbacks` у корисному навантаженні завдання замінює налаштований список резервних моделей, коли він присутній.
- Порожній список резервних моделей для завдання (`fallbacks: []` у корисному навантаженні/API завдання) робить запуск Cron строгим.
- Коли завдання має `--model`, але список резервних моделей не налаштовано, OpenClaw передає явне порожнє перевизначення резервних моделей, щоб основна модель агента не додавалася як прихована ціль повторної спроби.

### Пріоритет моделі ізольованого Cron

Ізольований Cron розв’язує активну модель у такому порядку:

1. Перевизначення Gmail-hook.
2. `--model` для завдання.
3. Збережене перевизначення моделі Cron-сесії (коли користувач вибрав його).
4. Вибір моделі агента або моделі за замовчуванням.

### Швидкий режим

Швидкий режим ізольованого Cron дотримується розв’язаного вибору поточної моделі. Конфігурація моделі `params.fastMode` застосовується за замовчуванням, але збережене перевизначення сесії `fastMode` все одно має пріоритет над конфігурацією.

### Повторні спроби перемикання поточної моделі

Якщо ізольований запуск викидає `LiveSessionModelSwitchError`, Cron зберігає перемкненого провайдера та модель (і перевизначення перемкненого профілю автентифікації, коли воно присутнє) для активного запуску перед повторною спробою. Зовнішній цикл повторних спроб обмежено двома повторними спробами перемикання після початкової спроби, після чого він переривається замість нескінченного циклу.

## Вивід запуску та відмови

### Придушення застарілих підтверджень

Ходи ізольованого Cron придушують застарілі відповіді, що містять лише підтвердження. Якщо перший результат є лише проміжним оновленням стану й жоден запуск нащадкового субагента не відповідає за остаточну відповідь, Cron один раз повторно запитує справжній результат перед доставкою.

### Придушення мовчазного токена

Якщо ізольований запуск Cron повертає лише мовчазний токен (`NO_REPLY` або `no_reply`), Cron придушує і пряму вихідну доставку, і резервний шлях підсумку в черзі, тож у чат нічого не публікується.

### Структуровані відмови

Ізольовані запуски Cron віддають перевагу структурованим метаданим відмови у виконанні з вбудованого запуску, а потім повертаються до відомих маркерів відмови у фінальному виводі, таких як `SYSTEM_RUN_DENIED`, `INVALID_REQUEST` і фрази відмови через прив’язку схвалення.

`cron list` та історія запусків показують причину відмови замість повідомлення про заблоковану команду як `ok`.

## Зберігання

Зберігання та обрізання контролюються в конфігурації:

- `cron.sessionRetention` (за замовчуванням `24h`) обрізає завершені сесії ізольованих запусків.
- `cron.runLog.maxBytes` і `cron.runLog.keepLines` обрізають `~/.openclaw/cron/runs/<jobId>.jsonl`.

## Міграція старіших завдань

<Note>
Якщо у вас є завдання Cron зі старішого формату доставки та сховища, запустіть `openclaw doctor --fix`. Doctor нормалізує застарілі поля Cron (`jobId`, `schedule.cron`, поля доставки верхнього рівня, включно із застарілим `threadId`, псевдоніми доставки `provider` у корисному навантаженні) і мігрує прості резервні завдання Webhook `notify: true` до явної доставки Webhook, коли `cron.webhook` налаштовано.
</Note>

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

Оновити налаштування доставки без зміни повідомлення:

```bash
openclaw cron edit <job-id> --announce --channel telegram --to "123456789"
```

Вимкнути доставку для ізольованого завдання:

```bash
openclaw cron edit <job-id> --no-deliver
```

Увімкнути легкий контекст початкового завантаження для ізольованого завдання:

```bash
openclaw cron edit <job-id> --light-context
```

Оголосити в конкретний канал:

```bash
openclaw cron edit <job-id> --announce --channel slack --to "channel:C1234567890"
```

Оголосити в тему форуму Telegram:

```bash
openclaw cron edit <job-id> --announce --channel telegram --to "-1001234567890" --thread-id 42
```

Створити ізольоване завдання з легким контекстом початкового завантаження:

```bash
openclaw cron add \
  --name "Lightweight morning brief" \
  --cron "0 7 * * *" \
  --session isolated \
  --message "Summarize overnight updates." \
  --light-context \
  --no-deliver
```

`--light-context` застосовується лише до ізольованих завдань ходу агента. Для запусків Cron легкий режим залишає контекст початкового завантаження порожнім замість впровадження повного набору початкового завантаження робочого простору.

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

Ручний запуск і перевірка:

```bash
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, розв’язаною ціллю, надсиланнями інструмента повідомлень, використанням резервної доставки та станом доставки.

Перенацілення агента та сесії:

```bash
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 add` попереджає, коли `--agent` пропущено в завданнях ходу агента, і повертається до агента за замовчуванням (`main`). Передайте `--agent <id>` під час створення, щоб закріпити конкретного агента.

Налаштування доставки:

```bash
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
```

## Пов’язане

- [Довідник CLI](/uk/cli)
- [Заплановані завдання](/uk/automation/cron-jobs)
