Automation

جریان وظیفه

جریان وظیفه، لایهٔ هماهنگ‌سازی بالای وظایف پس‌زمینه است. هر جریان، سابقه‌ای پایدار از کاری چندمرحله‌ای با وضعیت، حالت JSON، شمارندهٔ بازبینی و سوابق وظایف پیوندخوردهٔ مختص خود است. جریان‌ها پس از راه‌اندازی مجدد Gateway باقی می‌مانند؛ وظایف منفرد همچنان واحد کار جداشده هستند.

چه زمانی از جریان وظیفه استفاده کنیم

سناریو استفاده
کار پس‌زمینهٔ منفرد وظیفهٔ معمولی
خط لولهٔ چندمرحله‌ای هدایت‌شده با کد افزونه جریان وظیفه (مدیریت‌شده)
اجرای جداشدهٔ ACP یا زیرعامل جریان وظیفه (آینه‌شده، به‌طور خودکار ایجاد می‌شود)
یادآوری یک‌باره کار Cron

حالت‌های همگام‌سازی

حالت مدیریت‌شده

یک جریان مدیریت‌شده دارای کنترل‌گر است: کد افزونه‌ای که جریان را از طریق API زمان اجرای جریان وظیفهٔ افزونه، با یک هدف و شناسهٔ الزامی کنترل‌گر ایجاد می‌کند و سپس آن را به‌طور صریح هدایت می‌کند.

  • هر مرحله به‌صورت یک وظیفهٔ پس‌زمینه که زیر جریان ایجاد شده اجرا می‌شود؛ کلید مالک جریان و مبدأ درخواست‌کننده به وظایف فرزند منتقل می‌شوند.
  • کنترل‌گر جریان را میان حالت‌های running، waiting و حالت‌های پایانی پیش می‌برد و حالت دلخواه مرحله را در قالب JSON در سابقهٔ جریان ذخیره می‌کند.
  • هر تغییر، بازبینی مورد انتظار جریان را ارسال می‌کند. نوشتن با بازبینی قدیمی، به‌جای بازنویسی حالت جدیدتر، به‌عنوان تعارض بازبینی رد می‌شود.
  • پس از درخواست لغو، ایجاد وظایف فرزند جدید پذیرفته نمی‌شود و وقتی هیچ وظیفهٔ فرزند فعالی باقی نماند، جریان با وضعیت cancelled نهایی می‌شود.

مثال: جریان گزارش هفتگی که (۱) داده‌ها را گردآوری می‌کند، (۲) گزارش را تولید می‌کند و (۳) آن را تحویل می‌دهد؛ برای هر مرحله یک وظیفهٔ پس‌زمینه:

Code
Flow: weekly-report  Step 1: gather-data     → task created → succeeded  Step 2: generate-report → task created → succeeded  Step 3: deliver         → task created → running

حالت آینه‌شده

OpenClaw هنگام شروع اجرای جداشدهٔ ACP یا زیرعامل، به‌طور خودکار یک جریان آینه‌شدهٔ تک‌وظیفه‌ای ایجاد می‌کند (وظایف محدود به نشست با تکمیل قابل تحویل). سابقهٔ جریان، تنها وظیفهٔ پشتیبان خود ــ وضعیت، هدف و زمان‌بندی ــ را آینه می‌کند تا اجراهای جداشده بدون نیاز به کنترل‌گر، یک دستگیرهٔ پایدار جریان برای وضعیت و سازوکارهای تلاش مجدد داشته باشند. جریان‌های آینه‌شده در CLI حالت همگام‌سازی task_mirrored را نمایش می‌دهند.

وضعیت‌های جریان

وضعیت معنا
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

bash
# List active and recent flowsopenclaw tasks flow list [--status <status>] [--json] # Show details for a specific flowopenclaw tasks flow show <lookup> [--json] # Cancel a running flow and its active tasksopenclaw tasks flow cancel <lookup>
فرمان توضیح
openclaw tasks flow list جریان‌های ردیابی‌شده همراه با حالت همگام‌سازی، وضعیت، بازبینی، کنترل‌گر و تعداد وظایف
openclaw tasks flow show <id> بررسی یک جریان بر اساس شناسهٔ جریان یا کلید مالک، شامل وظایف پیوندخورده
openclaw tasks flow cancel <id> لغو یک جریان در حال اجرا و وظایف فعال آن

جریان‌ها همچنین در openclaw tasks audit (یافته‌های مربوط به جریان‌های قدیمی یا خراب) و openclaw tasks maintenance (نهایی‌سازی لغوهای گیرکرده و حذف جریان‌های پایانی پس از ۷ روز) پوشش داده می‌شوند.

الگوی قابل اعتماد گردش‌کار زمان‌بندی‌شده

برای گردش‌کارهای تکرارشونده مانند گزارش‌های اطلاعات بازار، زمان‌بندی، هماهنگ‌سازی و بررسی‌های قابلیت اطمینان را به‌عنوان لایه‌های جداگانه در نظر بگیرید:

  1. برای زمان‌بندی از وظایف زمان‌بندی‌شده استفاده کنید.
  2. وقتی گردش‌کار باید بر زمینهٔ پیشین تکیه کند، از نشست پایدار Cron استفاده کنید.
  3. برای مراحل قطعی، دروازه‌های تأیید و توکن‌های ازسرگیری از Lobster استفاده کنید.
  4. برای ردیابی اجرای چندمرحله‌ای میان وظایف فرزند، انتظارها، تلاش‌های مجدد و راه‌اندازی‌های مجدد Gateway از جریان وظیفه استفاده کنید.

نمونهٔ ساختار Cron:

bash
openclaw cron add \  --name "Market intelligence brief" \  --cron "0 7 * * 1-5" \  --tz "America/New_York" \  --session session:market-intel \  --message "Run the market-intel Lobster workflow. Verify source freshness before summarizing." \  --announce \  --channel slack \  --to "channel:C1234567890"

وقتی گردش‌کار تکرارشونده به تاریخچهٔ هدفمند، خلاصه‌های اجرای قبلی یا زمینهٔ ثابت نیاز دارد، به‌جای isolated از --session session:<id> استفاده کنید. وقتی هر اجرا باید از ابتدا آغاز شود و تمام حالت مورد نیاز به‌طور صریح در گردش‌کار تعریف شده باشد، از isolated استفاده کنید.

درون گردش‌کار، بررسی‌های قابلیت اطمینان را پیش از مرحلهٔ خلاصه‌سازی LLM قرار دهید:

yaml
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 تا شکست‌های بررسی مقدماتی قابل مشاهده باشند. به وظایف زمان‌بندی‌شده مراجعه کنید.

فیلدهای توصیه‌شدهٔ منشأ داده برای هر مورد گردآوری‌شده:

json
{  "sourceUrl": "https://example.com/report",  "retrievedAt": "2026-04-24T12:00:00Z",  "asOf": "2026-04-24",  "title": "Example report",  "content": "..."}

گردش‌کار را طوری تنظیم کنید که موارد قدیمی را پیش از خلاصه‌سازی رد یا علامت‌گذاری کند. مرحلهٔ LLM باید فقط JSON ساخت‌یافته دریافت کند و از آن خواسته شود sourceUrl، retrievedAt و asOf را در خروجی خود حفظ کند. وقتی درون گردش‌کار به یک مرحلهٔ مدل با اعتبارسنجی شِما نیاز دارید، از وظیفهٔ LLM استفاده کنید.

برای گردش‌کارهای قابل استفادهٔ مجدد تیمی یا جامعه، CLI، فایل‌های .lobster و هرگونه یادداشت راه‌اندازی را به‌صورت یک Skill یا افزونه بسته‌بندی کرده و از طریق ClawHub منتشر کنید. محدودیت‌های حفاظتی مختص گردش‌کار را در همان بسته نگه دارید، مگر اینکه API افزونه فاقد یک قابلیت عمومی مورد نیاز باشد.

ارتباط جریان‌ها با وظایف

جریان‌ها وظایف را هماهنگ می‌کنند، نه اینکه جایگزین آن‌ها شوند. یک جریان منفرد ممکن است در طول عمر خود چندین وظیفهٔ پس‌زمینه را هدایت کند. برای بررسی سوابق وظایف منفرد از openclaw tasks و برای بررسی جریان هماهنگ‌کننده از openclaw tasks flow استفاده کنید.

مرتبط

Was this useful?
On this page

On this page