---
read_when:
    - Вам потрібні заплановані завдання й пробудження
    - Ви налагоджуєте виконання Cron і журнали
summary: Довідник CLI для `openclaw cron` (планування та запуск фонових завдань)
title: Cron
x-i18n:
    generated_at: "2026-04-28T11:06:39Z"
    model: gpt-5.5
    provider: openai
    source_hash: 658498b09e0f0997d0f05dcdbdbd8822284d747df932f1c51e86f97b94cd81a7
    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"` попередній перегляд показує, чи маршрут визначено з основної або поточної сесії, чи він завершиться закритою відмовою.

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

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

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

Пропущені запуски відстежуються окремо від помилок виконання. Вони не впливають на відкладення повторних спроб, але `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"
```

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

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