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) آن را تحویل می‌دهد؛ برای هر مرحله یک وظیفه پس‌زمینه:

Code
جریان: weekly-report  مرحله 1: gather-data     → وظیفه ایجاد شد → موفق  مرحله 2: generate-report → وظیفه ایجاد شد → موفق  مرحله 3: deliver         → وظیفه ایجاد شد → در حال اجرا

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

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

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

وضعیت معنا
queued ایجاد شده و هنوز پیشرفتی نداشته است
running جریان فعالانه در حال پیشرفت است
waiting جریان مدیریت‌شده روی فراداده انتظار (زمان‌سنج، رویداد خارجی) متوقف است
blocked یک مرحله بدون نتیجه قابل‌استفاده پایان یافته است؛ blockedTaskId/خلاصه مشخص می‌کند کدام مرحله
succeeded با موفقیت تکمیل شده است
failed با خطا تکمیل شده است
cancelled لغو درخواست شده و همه وظایف فرزند تعیین‌تکلیف شده‌اند
lost جریان حالت زیربنایی معتبر خود را از دست داده است

حالت پایدار و پیگیری بازبینی

سوابق جریان در پایگاه داده حالت SQLite مشترک (جدول flow_runs در ~/.openclaw/state/openclaw.sqlite) در کنار سوابق وظایف نگه‌داری می‌شوند، بنابراین پیشرفت پس از راه‌اندازی مجدد Gateway باقی می‌ماند. هر نوشتن، مقدار revision جریان را افزایش می‌دهد؛ نویسندگان هم‌زمانی که بازبینی مورد انتظار قدیمی ارسال کنند، با تعارض مواجه می‌شوند و باید دوباره آن را بخوانند. رشد WAL با نقطه‌بازرسی خودکار SQLite به‌علاوه نقطه‌بازرسی‌های غیرفعال دوره‌ای محدود می‌شود و هنگام خاموش‌شدن، نقطه‌بازرسی‌های برشی انجام می‌شوند. فایل جانبی قدیمی flows/registry.sqlite از نصب‌های پیشین توسط openclaw doctor وارد می‌شود.

رفتار لغو

openclaw tasks flow cancel قصد لغو ماندگاری را روی جریان تنظیم می‌کند، وظایف فرزند فعال آن را لغو می‌کند و وظایف فرزند مدیریت‌شده جدید را نمی‌پذیرد. وقتی هیچ وظیفه فرزندی فعال نماند، جریان با وضعیت cancelled نهایی می‌شود ــ بلافاصله، یا اگر تعیین‌تکلیف فرزندان بیشتر طول بکشد از طریق پویش نگه‌داری. این قصد ذخیره می‌شود، بنابراین جریان لغوشده حتی اگر Gateway پیش از پایان همه وظایف فرزند راه‌اندازی مجدد شود، لغوشده باقی می‌ماند.

فرمان‌های CLI

bash
# فهرست جریان‌های فعال و اخیر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 روز) قرار می‌گیرند.

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

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

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

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

bash
openclaw cron add \  --name "گزارش اطلاعات بازار" \  --cron "0 7 * * 1-5" \  --tz "America/New_York" \  --session session:market-intel \  --message "گردش‌کار اطلاعات بازار Lobster را اجرا کنید. پیش از خلاصه‌سازی، تازگی منابع را بررسی کنید." \  --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": "گزارش نمونه",  "content": "..."}

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

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

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

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

مرتبط

Was this useful?
On this page

On this page