Automation

تدفق المهام

Task Flow هي طبقة التنسيق التي تعلو المهام التي تعمل في الخلفية. التدفق هو سجل دائم لعمل متعدد الخطوات، وله حالته الخاصة وحالة JSON وعداد مراجعات وسجلات مهام مرتبطة. تظل التدفقات قائمة بعد إعادة تشغيل Gateway؛ وتبقى المهام الفردية وحدة العمل المنفصل.

متى تستخدم Task Flow

السيناريو الاستخدام
مهمة خلفية واحدة مهمة عادية
مسار متعدد الخطوات تديره شيفرة Plugin Task Flow (مُدار)
تشغيل منفصل لـ ACP أو وكيل فرعي Task Flow (منعكس، يُنشأ تلقائيًا)
تذكير لمرة واحدة مهمة Cron

أوضاع المزامنة

الوضع المُدار

يحتوي التدفق المُدار على متحكم: شيفرة Plugin تنشئ التدفق عبر واجهة Task Flow في وقت تشغيل Plugin، مع هدف ومعرّف متحكم مطلوب، ثم تديره صراحةً.

  • تُشغَّل كل خطوة كمهمة في الخلفية تُنشأ ضمن التدفق؛ وينتقل مفتاح مالك التدفق وأصل مقدم الطلب إلى المهام الفرعية.
  • ينقل المتحكم التدفق بين الحالات running وwaiting والحالات النهائية، ويخزّن حالة خطوات JSON عشوائية في سجل التدفق.
  • يمرر كل تعديل المراجعة المتوقعة للتدفق. تُرفض الكتابة القديمة باعتبارها تعارضًا في المراجعة بدلًا من الكتابة فوق الحالة الأحدث.
  • بمجرد طلب الإلغاء، تُرفض المهام الفرعية الجديدة، ويصل التدفق إلى الحالة النهائية cancelled عندما لا تبقى أي مهمة فرعية نشطة.

مثال: تدفق تقرير أسبوعي يقوم بما يلي: (1) جمع البيانات، و(2) إنشاء التقرير، و(3) تسليمه، مع مهمة خلفية واحدة لكل خطوة:

Code
التدفق: 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 بالإضافة إلى نقاط تحقق خاملة دورية، مع نقاط تحقق اقتطاعية عند إيقاف التشغيل. يستورد openclaw doctor الملف الجانبي القديم flows/registry.sqlite من عمليات التثبيت الأقدم.

سلوك الإلغاء

يضبط 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. استخدم Task Flow لتتبع التشغيل متعدد الخطوات عبر المهام الفرعية وعمليات الانتظار وإعادة المحاولة وإعادة تشغيل 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"

استخدم --session session:<id> بدلًا من isolated عندما يحتاج سير العمل المتكرر إلى سجل مقصود أو ملخصات التشغيل السابقة أو سياق دائم. استخدم isolated عندما ينبغي أن يبدأ كل تشغيل من جديد وتكون كل الحالة المطلوبة مصرّحًا بها في سير العمل.

داخل سير العمل، ضع فحوصات الموثوقية قبل خطوة ملخص نموذج اللغة الكبير:

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": "..."}

اجعل سير العمل يرفض العناصر القديمة أو يضع عليها علامة قبل التلخيص. ينبغي أن تستقبل خطوة نموذج اللغة الكبير JSON منظّمًا فقط، وينبغي أن يُطلب منها الاحتفاظ بـ sourceUrl وretrievedAt وasOf في مخرجاتها. استخدم مهمة نموذج اللغة الكبير عندما تحتاج إلى خطوة نموذج متحقق منها وفق مخطط داخل سير العمل.

بالنسبة إلى مسارات عمل الفريق أو المجتمع القابلة لإعادة الاستخدام، حزّم CLI وملفات .lobster وأي ملاحظات إعداد كـ Skill أو Plugin وانشرها عبر ClawHub. احتفظ بضوابط الحماية الخاصة بسير العمل في تلك الحزمة، ما لم تكن واجهة API الخاصة بـ Plugin تفتقر إلى قدرة عامة مطلوبة.

علاقة التدفقات بالمهام

تنسق التدفقات المهام ولا تستبدلها. قد يدير تدفق واحد عدة مهام تعمل في الخلفية طوال مدة عمله. استخدم openclaw tasks لفحص سجلات المهام الفردية، واستخدم openclaw tasks flow لفحص التدفق المنسِّق.

ذو صلة

Was this useful?
On this page

On this page