> ## Documentation Index
> Fetch the complete documentation index at: https://openclaw.veiseule.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Cron مقابل Heartbeat

# Cron مقابل Heartbeat: متى تستخدم كلًّا منهما

تتيح لك كلٌّ من heartbeats ووظائف cron تشغيل المهام وفق جدول زمني. يساعدك هذا الدليل على اختيار الآلية المناسبة لحالة الاستخدام لديك.

## دليل اتخاذ القرار السريع

| حالة الاستخدام                          | الموصى به              | السبب                                  |
| --------------------------------------- | ---------------------- | -------------------------------------- |
| فحص صندوق الوارد كل 30 دقيقة            | Heartbeat              | يُجمَّع مع فحوصات أخرى، واعٍ للسياق    |
| إرسال تقرير يومي الساعة 9 صباحًا تمامًا | Cron (معزول)           | يتطلب توقيتًا دقيقًا                   |
| مراقبة التقويم للأحداث القادمة          | Heartbeat              | ملاءمة طبيعية للوعي الدوري             |
| تشغيل تحليل معمّق أسبوعي                | Cron (معزول)           | مهمة مستقلة، ويمكن استخدام نموذج مختلف |
| ذكرني في 20 دقيقة                       | Cron (الرئيسي، `--at`) | مهمة لمرة واحدة بتوقيت دقيق            |
| فحص صحة المشروع في الخلفية              | Heartbeat              | الحشوة في الدورة الحالية               |

## Heartbeat: الوعي الدوري

تعمل heartbeats ضمن **الجلسة الرئيسية** على فاصل زمني منتظم (الافتراضي: 30 دقيقة). صُمِّمت ليقوم الوكيل بتفقّد الأمور وإبراز أي شيء مهم.

### متى تستخدم heartbeat

* **فحوصات دورية متعددة**: بدل 5 وظائف cron منفصلة لفحص البريد والتقويم والطقس والإشعارات وحالة المشروع، يمكن لنبضة واحدة أن تُجمّع كل ذلك.
* **قرارات واعية بالسياق**: يمتلك الوكيل سياق الجلسة الرئيسية كاملًا، ما يمكّنه من اتخاذ قرارات ذكية حول ما هو عاجل وما يمكن تأجيله.
* **استمرارية محادثية**: تشترك تشغيلات heartbeat في الجلسة نفسها، لذا يتذكر الوكيل المحادثات الأخيرة ويتابع بشكل طبيعي.
* **مراقبة منخفضة العبء**: نبضة واحدة تحل محل العديد من مهام الاستطلاع الصغيرة.

### مزايا heartbeat

* **تجميع فحوصات متعددة**: يمكن لدور واحد للوكيل مراجعة البريد والتقويم والإشعارات معًا.
* **تقليل استدعاءات واجهة البرمجة**: نبضة واحدة أقل تكلفة من 5 وظائف cron معزولة.
* **وعي بالسياق**: يعرف الوكيل ما تعمل عليه ويمكنه تحديد الأولويات وفقًا لذلك.
* **كبح ذكي**: إذا لم يكن هناك ما يتطلب الانتباه، يرد الوكيل بـ `HEARTBEAT_OK` ولا تُسلَّم أي رسالة.
* **توقيت طبيعي**: ينحرف قليلًا بحسب حمل الطابور، وهو مناسب لمعظم سيناريوهات المراقبة.

### مثال heartbeat: قائمة HEARTBEAT.md

```md theme={"theme":{"light":"min-light","dark":"min-dark"}}
# Heartbeat checklist

- Check email for urgent messages
- Review calendar for events in next 2 hours
- If a background task finished, summarize results
- If idle for 8+ hours, send a brief check-in
```

يقرأ الوكيل هذا في كل نبضة ويتعامل مع جميع العناصر في دور واحد.

### تهيئة heartbeat

```json5 theme={"theme":{"light":"min-light","dark":"min-dark"}}
{
  agents: {
    defaults: {
      heartbeat: {
        every: "30m", // interval
        target: "last", // where to deliver alerts
        activeHours: { start: "08:00", end: "22:00" }, // optional
      },
    },
  },
}
```

اطّلع على [Heartbeat](/gateway/heartbeat) للاطلاع على التهيئة الكاملة.

## Cron: الجدولة الدقيقة

تعمل وظائف cron في **أوقات محددة بدقة** ويمكن أن تعمل ضمن جلسات معزولة دون التأثير على السياق الرئيسي.

### متى تستخدم cron

* **الحاجة إلى توقيت دقيق**: «أرسل هذا الساعة 9:00 صباحًا كل يوم اثنين» (وليس «حوالي الساعة 9»).
* **مهام مستقلة**: مهام لا تحتاج إلى سياق محادثي.
* **نموذج/تفكير مختلف**: تحليلات ثقيلة تستحق نموذجًا أقوى.
* **تذكيرات لمرة واحدة**: «ذكّرني بعد 20 دقيقة» مع `--at`.
* **مهام كثيرة أو صاخبة**: مهام قد تُربك سجل الجلسة الرئيسية.
* **محفزات خارجية**: مهام يجب أن تعمل بغض النظر عن نشاط الوكيل.

### مزايا cron

* **توقيت دقيق**: تعابير cron من 5 حقول مع دعم المناطق الزمنية.
* **عزل الجلسة**: يعمل ضمن `cron:<jobId>` دون تلويث السجل الرئيسي.
* **تجاوز النموذج**: استخدام نموذج أرخص أو أقوى لكل مهمة.
* **التحكم في التسليم**: الوظائف المعزولة افتراضيًا إلى `announce` (ملخّص)؛ اختر `none` عند الحاجة.
* **تسليم فوري**: وضع الإعلان ينشر مباشرة دون انتظار heartbeat.
* **عدم الحاجة إلى سياق الوكيل**: يعمل حتى إذا كانت الجلسة الرئيسية خاملة أو مضغوطة.
* **دعم المهام لمرة واحدة**: `--at` لطوابع زمنية مستقبلية دقيقة.

### مثال cron: موجز صباحي يومي

```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
openclaw cron add \
  --name "Morning briefing" \
  --cron "0 7 * * *" \
  --tz "America/New_York" \
  --session isolated \
  --message "Generate today's briefing: weather, calendar, top emails, news summary." \
  --model opus \
  --announce \
  --channel whatsapp \
  --to "+15551234567"
```

يعمل هذا بالضبط الساعة 7:00 صباحًا بتوقيت نيويورك، ويستخدم Opus للجودة، ويعلن ملخصًا مباشرة إلى WhatsApp.

### مثال cron: تذكير لمرة واحدة

```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
openclaw cron add \
  --name "Meeting reminder" \
  --at "20m" \
  --session main \
  --system-event "Reminder: standup meeting starts in 10 minutes." \
  --wake now \
  --delete-after-run
```

اطّلع على [Cron jobs](/automation/cron-jobs) للمرجع الكامل لـ CLI.

## مخطط تدفق القرار

```
Does the task need to run at an EXACT time?
  YES -> Use cron
  NO  -> Continue...

Does the task need isolation from main session?
  YES -> Use cron (isolated)
  NO  -> Continue...

Can this task be batched with other periodic checks?
  YES -> Use heartbeat (add to HEARTBEAT.md)
  NO  -> Use cron

Is this a one-shot reminder?
  YES -> Use cron with --at
  NO  -> Continue...

Does it need a different model or thinking level?
  YES -> Use cron (isolated) with --model/--thinking
  NO  -> Use heartbeat
```

## الجمع بين الاثنين

أكثر الإعدادات كفاءة تستخدم **كليهما**:

1. **Heartbeat** يتولى المراقبة الروتينية (البريد، التقويم، الإشعارات) في دور مُجمَّع كل 30 دقيقة.
2. **Cron** يتولى الجداول الدقيقة (التقارير اليومية، المراجعات الأسبوعية) والتذكيرات لمرة واحدة.

### مثال: إعداد أتمتة فعّال

**HEARTBEAT.md** (يُفحَص كل 30 دقيقة):

```md theme={"theme":{"light":"min-light","dark":"min-dark"}}
# Heartbeat checklist

- Scan inbox for urgent emails
- Check calendar for events in next 2h
- Review any pending tasks
- Light check-in if quiet for 8+ hours
```

**وظائف cron** (توقيت دقيق):

```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
# Daily morning briefing at 7am
openclaw cron add --name "Morning brief" --cron "0 7 * * *" --session isolated --message "..." --announce

# Weekly project review on Mondays at 9am
openclaw cron add --name "Weekly review" --cron "0 9 * * 1" --session isolated --message "..." --model opus

# One-shot reminder
openclaw cron add --name "Call back" --at "2h" --session main --system-event "Call back the client" --wake now
```

## Lobster: مسارات عمل حتمية مع موافقات

Lobster هو مُشغّل مسارات العمل لـ **سلاسل أدوات متعددة الخطوات** التي تحتاج تنفيذًا حتميًا وموافقات صريحة.
استخدمه عندما تكون المهمة أكثر من دور واحد للوكيل، وتريد مسار عمل قابلًا للاستئناف مع نقاط تحقّق بشرية.

### متى يكون Lobster مناسبًا

* **أتمتة متعددة الخطوات**: تحتاج خط أنابيب ثابتًا من استدعاءات الأدوات، وليس مُطالبة لمرة واحدة.
* **بوابات موافقة**: يجب إيقاف الآثار الجانبية حتى تُوافق، ثم الاستئناف.
* **تشغيلات قابلة للاستئناف**: متابعة مسار عمل متوقف دون إعادة تشغيل الخطوات السابقة.

### كيف يقترن مع heartbeat وcron

* **Heartbeat/cron** يقرران *متى* يحدث التشغيل.
* **Lobster** يحدد *ما الخطوات* التي تحدث بعد بدء التشغيل.

لمسارات العمل المُجدولة، استخدم cron أو heartbeat لإطلاق دور للوكيل يستدعي Lobster.
وللمسارات عند الطلب، استدعِ Lobster مباشرة.

### ملاحظات تشغيلية (من الشيفرة)

* يعمل Lobster كـ **عملية فرعية محلية** (CLI `lobster`) في وضع الأداة ويُرجِع **غلاف JSON**.
* إذا أعادت الأداة `needs_approval`، فتابِع الاستئناف باستخدام `resumeToken` وعلم `approve`.
* الأداة **مكوّن إضافي اختياري**؛ فعّلها تدريجيًا عبر `tools.alsoAllow: ["lobster"]` (موصى به).
* إذا مرّرت `lobsterPath`، فيجب أن يكون **مسارًا مطلقًا**.

اطّلع على [Lobster](/tools/lobster) للاستخدام الكامل والأمثلة.

## الجلسة الرئيسية مقابل الجلسة المعزولة

يمكن لكلٍّ من heartbeat وcron التفاعل مع الجلسة الرئيسية، لكن بطرق مختلفة:

|         | Heartbeat                        | Cron (الرئيسي)          | Cron (معزول)           |
| ------- | -------------------------------- | ----------------------- | ---------------------- |
| الجلسة  | الرئيسية                         | الرئيسية (عبر حدث نظام) | `cron:<jobId>`         |
| التاريخ | مشترك                            | مشترك                   | جديد في كل تشغيل       |
| السياق  | كامل                             | كامل                    | بلا سياق (يبدأ نظيفًا) |
| النموذج | نموذج الجلسة الرئيسية            | نموذج الجلسة الرئيسية   | قابل للتجاوز           |
| الإخراج | يُسلَّم إن لم يكن `HEARTBEAT_OK` | مطالبة heartbeat + حدث  | إعلان ملخّص (افتراضي)  |

### متى تستخدم cron ضمن الجلسة الرئيسية

استخدم `--session main` مع `--system-event` عندما تريد:

* ظهور التذكير/الحدث ضمن سياق الجلسة الرئيسية
* أن يتعامل الوكيل معه أثناء نبضة heartbeat التالية مع سياق كامل
* عدم وجود تشغيل معزول منفصل

```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
openclaw cron add \
  --name "Check project" \
  --every "4h" \
  --session main \
  --system-event "Time for a project health check" \
  --wake now
```

### متى تستخدم cron المعزول

استخدم `--session isolated` عندما تريد:

* صفحة نظيفة دون سياق سابق
* إعدادات نموذج أو تفكير مختلفة
* إعلان الملخصات مباشرة إلى قناة
* سجلًا لا يزدحم به تاريخ الجلسة الرئيسية

```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
openclaw cron add \
  --name "Deep analysis" \
  --cron "0 6 * * 0" \
  --session isolated \
  --message "Weekly codebase analysis..." \
  --model opus \
  --thinking high \
  --announce
```

## اعتبارات التكلفة

| الآلية         | ملف التكلفة                                           |
| -------------- | ----------------------------------------------------- |
| Heartbeat      | دور واحد كل N دقيقة؛ يتدرج مع حجم HEARTBEAT.md        |
| Cron (الرئيسي) | يضيف حدثًا إلى نبضة heartbeat التالية (دون دور معزول) |
| Cron (معزول)   | دور وكيل كامل لكل مهمة؛ يمكن استخدام نموذج أرخص       |

**نصائح**:

* أبقِ `HEARTBEAT.md` صغيرًا لتقليل عبء الرموز.
* جمّع الفحوصات المتشابهة ضمن heartbeat بدل وظائف cron متعددة.
* استخدم `target: "none"` على heartbeat إذا أردت معالجة داخلية فقط.
* استخدم cron المعزول مع نموذج أرخص للمهام الروتينية.

## ذات صلة

* [Heartbeat](/gateway/heartbeat) - التهيئة الكاملة لـ heartbeat
* [Cron jobs](/automation/cron-jobs) - مرجع CLI وواجهة برمجة cron الكامل
* [System](/cli/system) - أحداث النظام + عناصر تحكم heartbeat
