الانتقال إلى المحتوى الرئيسي

مهام مستقلة على مؤقّت

النبض هو الطريقة التي يُنجز بها وولف فيش الأمور من تلقاء نفسه — إحاطة صباحية الساعة 8، مسح لصندوق البريد كل 15 دقيقة، تذكير لمرة واحدة بعد يومين. المهام تقع في brain/brainstem/heartbeat.md، وتُحلّلها وحدة brainstem وتُشغّلها عبر خط الأنابيب الكامل للوكيل عند حلول موعدها. نادراً ما تُحرّر هذا الملف يدوياً. فقط اطلب من وولف فيش — “كل صباح، لخّص رسائلي غير المقروءة” أو “بعد يومين ذكّرني بتجديد نطاقي” — وسيُنشئ المهام ويُعدّلها ويحذفها نيابةً عنك عبر قدرة automations (‏automation_list، automation_create، automation_edit، automation_delete، automation_check، automation_run). التحرير اليدوي يعمل أيضاً، والصيغة موضّحة أدناه.

كيف يعمل

كل عنوان ## في heartbeat.md يُحدّد مهمة. العنوان نفسه هو الجدول (مثلاً ## Daily (08:00)) — لا يوجد اسم منفصل للمهمة. النص أسفله هو التعليمة، وتُرسَل إلى الوكيل كرسالة مستخدم عند حلول الموعد.
## Daily (08:00)

Summarize my unread emails and calendar events for today.
List any GitHub notifications. Keep it brief.

## Every (30m)

Check my open pull requests on GitHub. If any have new
reviews or comments, give me a one-line summary of each.

صيغ الجدولة

جميع الأوقات تستخدم المنطقة الزمنية المحلية لنظامك بتنسيق 24 ساعة. لا يوجد تحويل إلى UTC — Daily (09:00) تعني الساعة 9 صباحاً أينما كنت.

لمرة واحدة (تعمل مرة ثم تحذف نفسها)

الصيغةالمعنىمثال
Once (YYYY-MM-DD HH:MM)مرة واحدة، في تاريخ ووقت محلي مطلقOnce (2026-12-31 23:30)
In (Nm) / In (Nh) / In (Nd)مرة واحدة، بعد N دقيقة / ساعة / يوم من الآنIn (15m) · In (2h) · In (2d)
بعد أن تعمل المهمة لمرة واحدة، تُزيل مدخلها من الملف. صيغة In (...) هي اختصار تستخدمه عند الطلب من وولف فيش — تُحوَّل إلى Once (...) مطلقة عند الإنشاء (لأن التأخير النسبي لا يمكن أن يبقى بعد إعادة التشغيل)، لذا ما يُكتَب في الملف دائماً هو Once (...). كتابة In (...) يدوياً غير مدعومة؛ استخدم Once (...) لوقت محدد.

متكررة (تعمل حتى تحذفها)

الصيغةالمعنىمثال
Startupيعمل مرة واحدة في كل تهيئة لـ brainstemStartup
Every (Nm)تكرار بفاصل دقائقEvery (5m)
Every (Nh)تكرار بفاصل ساعاتEvery (2h)
Hourly (MM)مرة كل ساعة عند الدقيقة المحددةHourly (30)
Daily (HH:MM)مرة يومياًDaily (09:00)
Nightly (HH:MM)مرة يومياً (اسم بديل لـ Daily)Nightly (23:00)
Weekday (HH:MM)من الاثنين إلى الجمعة فقطWeekday (08:30)
Weekly (Day HH:MM)مرة أسبوعياً في يوم محددWeekly (Monday 09:00)
Monthly (DD HH:MM)مرة شهرياً في يوم محددMonthly (1 10:00)
Cron (expression)صيغة cron خام بخمسة حقولCron (*/15 * * * *)
الجداول خارج النطاق تُرفَض فوراً — Every (0m) أو Daily (99:99) أو Once (...) في الماضي لن تُقبَل بصمت ثم لا تعمل أبداً. إذا حرّرت عنواناً غير صالح يدوياً، يظهر مُعلَّماً عندما يسرد وولف فيش مهامك.

تنفيذ المهام

مهام النبض تعمل عبر خط الأنابيب الكامل للوكيل — نفس الدماغ، نفس القدرات، نفس الذاكرة. ما يختلف عن المحادثة العادية:
  • موافقة تلقائية: استدعاءات الأدوات تتجاوز تأكيد amygdala (بدون نوافذ موافقة).
  • محادثة مغلقة: كل تشغيل يُنشئ محادثته الخاصة، مرئية في السجل.
  • بدون بث: تُولَّد الاستجابات في الخلفية بدون مقاطعة الواجهة.
لأن مهام النبض توافق تلقائياً على كل استدعاء أداة، كن حذراً فيما تجدوله. مهمة تقول “احذف الملفات القديمة” ستُنفَّذ بدون سؤال. اكتب تعليمات دفاعية — “اعرض الملفات الأقدم من 30 يوماً وأخبرني بما ستحذفه” أفضل من “احذف الملفات الأقدم من 30 يوماً”. راجع ماذا تجدول لطبقة قرارات الأمان الكاملة.

واحدة تلو الأخرى، في طابور — لا تُسقَط أبداً

المهام تعمل واحدة في كل مرة. إذا انطلقت مهمة بينما أخرى لا تزال تعمل، فإنها تنتظر في الطابور وتعمل تالياً بدل أن تُتجاهَل. الطابور مُدمَج لكل مهمة، فلا يمكن لمهمة بطيئة أن تُراكم تأخّراً من نبضاتها. لست بحاجة لتباعد المهام لتفادي التصادم.

المهام الفائتة تُستدرَك

إذا كان وولف فيش مغلقاً عند موعد مهمة، فإنها تعمل مرة واحدة عند التشغيل التالي — مُجمَّعةً: مهمة متكررة فاتتها عدة مواعيد أثناء التوقف تعمل استدراكاً واحداً، لا واحداً لكل موعد فائت. تُعاد فقط الفائتات خلال آخر 24 ساعة؛ وما هو أقدم يُسقَط. المهمة لمرة واحدة التي فات موعدها تعمل إن كانت ضمن تلك النافذة ثم تحذف نفسها؛ وإن كانت أقدم تُزال بهدوء دون تشغيل.

إدارة المهام

عبر وولف فيش (الأفضل)

تحدّث إليه فقط:
  • “ما المهام التلقائية التي لديّ؟” ← يسردها مع جدولها وحالة آخر تشغيل
  • “كل يوم عمل الساعة 7:45، أعطني إحاطة صباحية” ← يُنشئ مهمة متكررة
  • “بعد يومين، ذكّرني بتجديد نطاقي” ← يُنشئ مهمة لمرة واحدة تحذف نفسها
  • “غيّر الإحاطة الصباحية إلى الساعة 8” / “احذف مراقب طلبات السحب” ← يُعدّل أو يحذف
  • “شغّل فحص بريدي الآن” ← يُشغّل مهمة فوراً لتجربتها
التغييرات تُطبَّق مباشرةً — يُعيد brainstem تحميل الجدول بمجرد تغيّر الملف، دون إعادة تشغيل.

يدوياً

حرّر heartbeat.md مباشرةً. لتعطيل مهمة دون حذفها، علّقها بتعليقات HTML:
## Daily (08:00)

Summarize my unread emails and calendar events for today.

<!--
## Every (1h)

This job is disabled and won't run.
-->
يُراقب brainstem ملف heartbeat.md ويُعيد التحميل عند الحفظ، فتسري التعديلات اليدوية دون إعادة تشغيل. الأمثلة المُعلَّقة في الملف هي قائمة جاهزة — أزل التعليق عن أحدها لتفعيله.

أمثلة عملية

إحاطة الصباح

## Weekday (07:45)

Give me a morning briefing:
1. Unread emails — summarize the important ones
2. Today's calendar — list meetings with times
3. GitHub — any PRs that need my review
4. Weather — current conditions and forecast

Keep each section to 2-3 lines max.

فرز البريد الإلكتروني

## Every (2h)

Check my email for anything urgent or time-sensitive.
If you find something that needs immediate attention,
flag it and write a one-sentence summary.
Ignore newsletters and marketing emails.

مراقبة طلبات السحب

## Every (30m)

Check my open pull requests on GitHub.
Report only PRs with new activity since your last check:
- New reviews or approvals
- CI status changes (especially failures)
- New comments or requested changes

If nothing changed, respond with "No PR updates."

تذكير لمرة واحدة

## Once (2026-12-31 23:30)

Wish me a happy new year and give me a short recap of my
biggest wins this year, drawn from my episodes and knowledge.
تنطلق هذه مرة واحدة الساعة 11:30 مساءً يوم 31 ديسمبر، ثم تُزيل نفسها من الملف.

ضغط الذاكرة

ضغط الذاكرة (تجميع hippocampus) هو عملية مجدولة منفصلة تُعدّ في الإعدادات > Hippocampus > الضغط، وليس في heartbeat.md. يُشغّله brainstem وفق جدوله اليومي/الأسبوعي الخاص، ولن يظهر عندما يسرد وولف فيش مهامك.
الضغط يُجمِّع الأحداث اليومية في ملخصات أسبوعية ويُرقّي المعلومات المهمة إلى ملفات المعرفة. يعمل بشكل مستقل عن مهام النبض.

مثال كامل للملف

# Heartbeat

## Startup

Run a quick health check. Verify that all configured
providers are reachable and report any issues.

## Weekday (07:45)

Give me a morning briefing:
1. Unread emails — summarize the important ones
2. Today's calendar — list meetings with times
3. GitHub — any PRs that need my review

## Every (30m)

Check my open pull requests on GitHub for new activity.
Only report changes since last check.

## Nightly (18:00)

Write a brief end-of-day summary of completed tasks
and pending items for tomorrow.

## Once (2026-12-31 23:30)

Wish me a happy new year and recap my biggest wins this year.

انظر أيضاً