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

Documentation Index

Fetch the complete documentation index at: https://docs2.openclaw.ai/llms.txt

Use this file to discover all available pages before exploring further.

openclaw cron

Керуйте завданнями Cron для планувальника Gateway.
Запустіть openclaw cron --help, щоб переглянути повну поверхню команд. Концептуальний посібник див. у Завдання Cron.

Сеанси

--session приймає main, isolated, current або session:<id>.
  • main прив’язується до основного сеансу агента.
  • isolated створює новий транскрипт і ідентифікатор сеансу для кожного запуску.
  • current прив’язується до активного сеансу на момент створення.
  • session:<id> закріплюється за явним постійним ключем сеансу.
Ізольовані запуски скидають навколишній контекст розмови. Маршрутизація каналу й групи, політика надсилання/черги, підвищення прав, джерело та прив’язка середовища виконання ACP скидаються для нового запуску. Безпечні налаштування та явно вибрана користувачем модель або перевизначення автентифікації можуть переноситися між запусками.

Доставка

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:, залишаються синтаксисом цілі, що належить каналу.
Ізольовані завдання cron add за замовчуванням використовують доставку --announce. Використовуйте --no-deliver, щоб залишати вивід внутрішнім. --deliver залишається застарілим псевдонімом для --announce.

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

Доставка чату ізольованого Cron спільно належить агенту та runner:
  • Агент може надсилати напряму за допомогою інструмента message, коли доступний маршрут чату.
  • announce виконує резервну доставку фінальної відповіді лише тоді, коли агент не надіслав її напряму до розв’язаної цілі.
  • webhook надсилає завершене навантаження на URL.
  • none вимикає резервну доставку runner.
--announce — це резервна доставка runner для фінальної відповіді. --no-deliver вимикає цю резервну доставку, але не прибирає інструмент message агента, коли доступний маршрут чату. Нагадування, створені з активного чату, зберігають поточну ціль доставки чату для резервної доставки оголошення. Внутрішні ключі сеансів можуть бути в нижньому регістрі; не використовуйте їх як джерело істини для чутливих до регістру ідентифікаторів провайдерів, таких як ідентифікатори кімнат Matrix.

Доставка помилок

Сповіщення про помилки розв’язуються в такому порядку:
  1. delivery.failureDestination у завданні.
  2. Глобальне cron.failureDestination.
  3. Основна ціль оголошення завдання (коли явну ціль для помилок не задано).
Завдання основного сеансу можуть використовувати delivery.failureDestination лише тоді, коли основний режим доставки — webhook. Ізольовані завдання приймають його в усіх режимах.
Примітка: ізольовані запуски Cron розглядають помилки агента на рівні запуску як помилки завдання, навіть коли корисне навантаження відповіді не створено, тому помилки моделі/провайдера все одно збільшують лічильники помилок і запускають сповіщення про помилки. Якщо ізольований запуск вичерпує час до першого запиту моделі, openclaw cron show і openclaw cron runs містять фазоспецифічну помилку, наприклад setup timed out before runner start або stalled before first model call (last phase: context-engine). Для провайдерів на основі CLI передмодельний сторожовий таймер лишається активним, доки не почнеться зовнішній хід CLI, тому зависання під час пошуку сеансу, hook, автентифікації, prompt і налаштування CLI повідомляються як передмодельні помилки Cron.

Планування

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

--at <datetime> планує одноразовий запуск. Дати й час без зсуву вважаються UTC, якщо також не передати --tz <iana>, який інтерпретує настінний час у заданому часовому поясі.
Одноразові завдання за замовчуванням видаляються після успішного виконання. Використовуйте --keep-after-run, щоб зберегти їх.

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

Повторювані завдання використовують експоненційне відтермінування повторів після послідовних помилок: 30s, 1m, 5m, 15m, 60m. Розклад повертається до нормального після наступного успішного запуску. Пропущені запуски відстежуються окремо від помилок виконання. Вони не впливають на відтермінування повторів, але openclaw cron edit <job-id> --failure-alert-include-skipped може ввімкнути для сповіщень про помилки повторні повідомлення про пропущені запуски. Для ізольованих завдань, що націлені на локально налаштованого провайдера моделей, Cron виконує легку попередню перевірку провайдера перед початком ходу агента. Провайдери 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>, щоб відстежити кінцевий результат.
openclaw cron run <job-id> за замовчуванням виконує примусовий запуск. Використовуйте --due, щоб зберегти старішу поведінку «запускати лише якщо настав час».

Моделі

cron add|edit --model <ref> вибирає дозволену модель для завдання.
Якщо модель не дозволена або її неможливо розв’язати, Cron завершує запуск з явною помилкою валідації замість того, щоб повертатися до агента завдання або вибору моделі за замовчуванням.
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.

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

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

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

Оновіть налаштування доставки без зміни повідомлення:
openclaw cron edit <job-id> --announce --channel telegram --to "123456789"
Вимкніть доставку для ізольованого завдання:
openclaw cron edit <job-id> --no-deliver
Увімкніть легкий контекст початкового завантаження для ізольованого завдання:
openclaw cron edit <job-id> --light-context
Оголосіть у певний канал:
openclaw cron edit <job-id> --announce --channel slack --to "channel:C1234567890"
Оголосіть у тему форуму Telegram:
openclaw cron edit <job-id> --announce --channel telegram --to "-1001234567890" --thread-id 42
Створіть ізольоване завдання з легким контекстом початкового завантаження:
openclaw cron add \
  --name "Lightweight morning brief" \
  --cron "0 7 * * *" \
  --session isolated \
  --message "Summarize overnight updates." \
  --light-context \
  --no-deliver
--light-context застосовується лише до ізольованих завдань ходу агента. Для запусків Cron легкий режим залишає контекст початкового завантаження порожнім замість вставляння повного набору початкового завантаження робочого простору.

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

Ручний запуск і перевірка:
openclaw cron list
openclaw cron list --agent ops
openclaw cron get <job-id>
openclaw cron show <job-id>
openclaw cron run <job-id>
openclaw cron run <job-id> --due
openclaw cron runs --id <job-id> --limit 50
openclaw cron list за замовчуванням показує всі відповідні завдання. Передайте --agent <id>, щоб показати лише завдання, ефективний нормалізований ідентифікатор агента яких збігається; завдання без збереженого ідентифікатора агента рахуються як налаштований агент за замовчуванням. openclaw cron get <job-id> повертає збережений JSON завдання напряму. Використовуйте cron show <job-id>, коли потрібен зручний для читання вигляд із попереднім переглядом маршруту доставки. cron list --json і cron show <job-id> --json містять поле верхнього рівня status для кожного завдання, обчислене з enabled, state.runningAtMs і state.lastRunStatus. Значення: disabled, running, ok, error, skipped або idle. Це віддзеркалює зручний для читання стовпець статусу, щоб зовнішні інструменти могли читати стан завдання без повторного виведення. Записи 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 add попереджає, коли --agent пропущено для завдань ходу агента, і повертається до агента за замовчуванням (main). Передайте --agent <id> під час створення, щоб закріпити конкретного агента. Налаштування доставки:
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

Пов’язане