CLI commands
Cron
openclaw cron
Керуйте завданнями Cron для планувальника Gateway.
Сеанси
--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 спільно належить агенту та runner:
- Агент може надсилати напряму за допомогою інструмента
message, коли доступний маршрут чату. announceвиконує резервну доставку фінальної відповіді лише тоді, коли агент не надіслав її напряму до розв’язаної цілі.webhookнадсилає завершене навантаження на URL.noneвимикає резервну доставку runner.
--announce — це резервна доставка runner для фінальної відповіді. --no-deliver вимикає цю резервну доставку, але не прибирає інструмент message агента, коли доступний маршрут чату.
Нагадування, створені з активного чату, зберігають поточну ціль доставки чату для резервної доставки оголошення. Внутрішні ключі сеансів можуть бути в нижньому регістрі; не використовуйте їх як джерело істини для чутливих до регістру ідентифікаторів провайдерів, таких як ідентифікатори кімнат Matrix.
Доставка помилок
Сповіщення про помилки розв’язуються в такому порядку:
delivery.failureDestinationу завданні.- Глобальне
cron.failureDestination. - Основна ціль оголошення завдання (коли явну ціль для помилок не задано).
Примітка: ізольовані запуски 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>, який інтерпретує настінний час у заданому часовому поясі.
Повторювані завдання
Повторювані завдання використовують експоненційне відтермінування повторів після послідовних помилок: 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>, щоб відстежити кінцевий результат.
Моделі
cron add|edit --model <ref> вибирає дозволену модель для завдання.
Cron --model — це основна модель завдання, а не перевизначення /model для чат-сеансу. Це означає:
- Налаштовані резервні моделі все ще застосовуються, коли вибрана модель завдання дає збій.
- Навантаження окремого завдання
fallbacksзамінює налаштований список резервних моделей, якщо присутнє. - Порожній список резервних моделей окремого завдання (
fallbacks: []у навантаженні/API завдання) робить запуск Cron строгим. - Коли завдання має
--model, але список резервних моделей не налаштовано, OpenClaw передає явне порожнє перевизначення резервних моделей, щоб основна модель агента не додавалася як прихована ціль повтору.
Пріоритет моделі ізольованого Cron
Ізольований Cron розв’язує активну модель у такому порядку:
- Перевизначення Gmail-hook.
--modelокремого завдання.- Збережене перевизначення моделі Cron-сеансу (коли користувач вибрав його).
- Вибір агента або моделі за замовчуванням.
Швидкий режим
Швидкий режим ізольованого 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.
Міграція старіших завдань
Поширені редагування
Оновіть налаштування доставки без зміни повідомлення:
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 listopenclaw cron list --agent opsopenclaw cron get <job-id>openclaw cron show <job-id>openclaw cron run <job-id>openclaw cron run <job-id> --dueopenclaw cron runs --id <job-id> --limit 50openclaw 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 opsopenclaw cron edit <job-id> --clear-agentopenclaw cron edit <job-id> --session currentopenclaw 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-deliveropenclaw cron edit <job-id> --no-best-effort-deliveropenclaw cron edit <job-id> --no-deliver