Automation
Потік завдань
Task Flow — це рівень оркестрації над фоновими завданнями. Потік — це довговічний запис багатоетапної роботи з власним станом, станом JSON, лічильником ревізій і пов’язаними записами завдань. Потоки зберігаються після перезапусків Gateway; окремі завдання залишаються одиницею від’єднаної роботи.
Коли використовувати Task Flow
| Сценарій | Що використовувати |
|---|---|
| Одне фонове завдання | Звичайне завдання |
| Багатоетапний конвеєр, керований кодом Plugin | Task Flow (керований) |
| Від’єднаний запуск ACP або субагента | Task Flow (дзеркальний, створюється автоматично) |
| Одноразове нагадування | Завдання Cron |
Режими синхронізації
Керований режим
Керований потік має контролер: код Plugin, який створює потік через API Task Flow середовища виконання Plugin із ціллю та обов’язковим ідентифікатором контролера, а потім явно керує ним.
- Кожен етап виконується як фонове завдання, створене в межах потоку; ключ власника потоку та походження запитувача передаються дочірнім завданням.
- Контролер переводить потік між станами
running,waitingі кінцевими станами та зберігає довільний стан етапу у форматі JSON у записі потоку. - Кожна зміна передає очікувану ревізію потоку. Запис із застарілою ревізією відхиляється як конфлікт ревізій, а не перезаписує новіший стан.
- Після запиту скасування нові дочірні завдання відхиляються, а потік завершується зі станом
cancelled, коли жодне дочірнє завдання більше не активне.
Приклад: потік щотижневого звіту, який (1) збирає дані, (2) створює звіт і (3) доставляє його, по одному фоновому завданню на етап:
Потік: weekly-report Етап 1: gather-data → завдання створено → успішно завершено Етап 2: generate-report → завдання створено → успішно завершено Етап 3: deliver → завдання створено → виконуєтьсяДзеркальний режим
OpenClaw автоматично створює дзеркальний потік з одним завданням, коли починається від’єднаний запуск ACP або субагента (завдання в межах сеансу з результатом, який можна доставити після завершення). Запис потоку віддзеркалює своє єдине базове завдання — стан, ціль і часові параметри — тому від’єднані запуски отримують стабільний дескриптор потоку для перегляду стану та повторних спроб без контролера. Дзеркальні потоки відображають режим синхронізації task_mirrored у CLI.
Стани потоків
| Стан | Значення |
|---|---|
queued |
Створено, виконання ще не розпочато |
running |
Потік активно виконується |
waiting |
Керований потік призупинено відповідно до метаданих очікування (таймер, зовнішня подія) |
blocked |
Етап завершився без придатного результату; blockedTaskId/підсумок указують, який саме |
succeeded |
Успішно завершено |
failed |
Завершено з помилкою |
cancelled |
Запитано скасування, і всі дочірні завдання завершилися |
lost |
Потік утратив свій авторитетний базовий стан |
Довговічний стан і відстеження ревізій
Записи потоків зберігаються у спільній базі даних стану SQLite (~/.openclaw/state/openclaw.sqlite, таблиця flow_runs) разом із записами завдань, тому прогрес зберігається після перезапусків Gateway. Кожен запис збільшує revision потоку; паралельні записувачі, які передають застарілу очікувану ревізію, отримують конфлікт і мають повторно прочитати дані. Зростання WAL обмежується автоматичними контрольними точками SQLite та періодичними пасивними контрольними точками, а під час завершення роботи застосовуються контрольні точки з усіченням. Застарілу допоміжну базу flows/registry.sqlite зі старіших установлень імпортує openclaw doctor.
Поведінка під час скасування
openclaw tasks flow cancel установлює для потоку постійний намір скасування, скасовує його активні дочірні завдання та забороняє нові керовані дочірні завдання. Коли жодне дочірнє завдання більше не активне, потік завершується зі станом cancelled — негайно або під час циклу обслуговування, якщо дочірнім завданням потрібно більше часу для завершення. Намір зберігається, тому скасований потік залишається скасованим, навіть якщо Gateway перезапуститься до завершення всіх дочірніх завдань.
Команди CLI
# Перелічити активні та нещодавні потокиopenclaw tasks flow list [--status <status>] [--json] # Показати відомості про конкретний потікopenclaw tasks flow show <lookup> [--json] # Скасувати потік, що виконується, та його активні завданняopenclaw tasks flow cancel <lookup>| Команда | Опис |
|---|---|
openclaw tasks flow list |
Відстежувані потоки з режимом синхронізації, станом, ревізією, контролером і кількістю завдань |
openclaw tasks flow show <id> |
Перегляд одного потоку за ідентифікатором потоку або ключем власника, включно з пов’язаними завданнями |
openclaw tasks flow cancel <id> |
Скасування потоку, що виконується, та його активних завдань |
Потоки також перевіряються командами openclaw tasks audit (виявлення застарілих або пошкоджених потоків) і openclaw tasks maintenance (завершує завислі скасування та видаляє кінцеві потоки через 7 днів).
Шаблон надійного запланованого робочого процесу
Для повторюваних робочих процесів, як-от огляди ринкової аналітики, розглядайте розклад, оркестрацію та перевірки надійності як окремі рівні:
- Використовуйте заплановані завдання для визначення часу.
- Використовуйте постійний сеанс Cron, якщо робочий процес має спиратися на попередній контекст.
- Використовуйте Lobster для детермінованих етапів, шлюзів схвалення та токенів відновлення.
- Використовуйте Task Flow для відстеження багатоетапного запуску в дочірніх завданнях, очікуваннях, повторних спробах і перезапусках Gateway.
Приклад структури Cron:
openclaw cron add \ --name "Огляд ринкової аналітики" \ --cron "0 7 * * 1-5" \ --tz "America/New_York" \ --session session:market-intel \ --message "Запусти робочий процес Lobster market-intel. Перевір актуальність джерел перед підсумовуванням." \ --announce \ --channel slack \ --to "channel:C1234567890"Використовуйте --session session:<id> замість isolated, коли повторюваному робочому процесу потрібні свідомо збережена історія, підсумки попередніх запусків або постійний контекст. Використовуйте isolated, коли кожен запуск має починатися з чистого стану, а весь необхідний стан явно визначено в робочому процесі.
У робочому процесі розміщуйте перевірки надійності перед етапом підсумовування за допомогою LLM:
name: market-intel-briefsteps: - id: preflight command: market-intel check --json - id: collect command: market-intel collect --json stdin: $preflight.json - id: summarize command: market-intel summarize --json stdin: $collect.json - id: approve command: market-intel deliver --preview stdin: $summarize.json approval: required - id: deliver command: market-intel deliver --execute stdin: $summarize.json condition: $approve.approvedРекомендовані попередні перевірки:
- Доступність браузера та вибір профілю, наприклад
openclawдля керованого стану абоuser, коли потрібен автентифікований сеанс Chrome. Див. Браузер. - Облікові дані API та квота для кожного джерела.
- Доступність необхідних кінцевих точок через мережу.
- Увімкнення необхідних інструментів для агента, як-от
lobster,browserіllm-task. - Налаштоване місце призначення для повідомлень про помилки Cron, щоб невдалі попередні перевірки були помітними. Див. Заплановані завдання.
Рекомендовані поля походження даних для кожного зібраного елемента:
{ "sourceUrl": "https://example.com/report", "retrievedAt": "2026-04-24T12:00:00Z", "asOf": "2026-04-24", "title": "Приклад звіту", "content": "..."}Налаштуйте робочий процес так, щоб він відхиляв або позначав застарілі елементи перед підсумовуванням. Етап LLM має отримувати лише структурований JSON, і йому слід доручити зберігати sourceUrl, retrievedAt і asOf у вихідних даних. Використовуйте Завдання LLM, коли в робочому процесі потрібен етап моделі з перевіркою за схемою.
Для багаторазово використовуваних командних або спільнотних робочих процесів упакуйте CLI, файли .lobster і всі примітки щодо налаштування як skill або Plugin та опублікуйте їх через ClawHub. Зберігайте специфічні для робочого процесу запобіжні обмеження в цьому пакеті, якщо тільки в API Plugin немає потрібної універсальної можливості.
Зв’язок потоків із завданнями
Потоки координують завдання, а не замінюють їх. Один потік може керувати кількома фоновими завданнями протягом свого життєвого циклу. Використовуйте openclaw tasks для перегляду окремих записів завдань і openclaw tasks flow для перегляду потоку оркестрації.
Пов’язані матеріали
- Фонові завдання — журнал від’єднаної роботи, яку координують потоки
- CLI: завдання — довідник команд CLI для
openclaw tasks flow - Огляд автоматизації — усі механізми автоматизації стисло
- Завдання Cron — заплановані завдання, які можуть передавати роботу потокам