كيف يعمل محرّك العوامل الأربعة — التركيب، التوليد، المعالجة اللاحقة، ثم العرض.

يمرّ كل عنصر في Cosmic Story v2 عبر البنية نفسها. وإليك هذه البنية موضّحةً بلغةٍ بسيطة.

  • تتألف كل مطالبة من أربعة عوامل: الشخص، الفلك، الإشارة، والإيقاع.
  • يجري التوليد بشكلٍ غير متزامن عبر طابور BullMQ، مع مهلةٍ قدرها 28 ثانية.
  • تشمل المعالجة اللاحقة كشف الأزمات، واستخراج رقاقات الجوانب الفلكية، وتصفية الادعاءات، والتشفير بمعيار AES-256.

العوامل الأربعة

كل واحدٍ منها سطرٌ من السياق يدخل ضمن المطالبة.

01

سياق الشخص والعلاقة

لمن هذا العنصر — الاسم، ونوع العلاقة، وما نعرفه عن حال هذه العلاقة مؤخراً. إن كنتَ قد دوّنتَ عن أختك ثلاث مرات هذا الأسبوع، فإن هذه التفاصيل تظهر هنا.

02

السطح الفلكي

خريطة الميلاد، والتوافق الفلكي بينك وبين الشخص، والعبورات الحالية. كل ذلك محسوبٌ عبر Swiss Ephemeris (sweph). الفلك معدِّلٌ على المطالبة، وليس المطالبة نفسها.

03

إشارة المستخدم

عمليات تسجيل الدخول الأخيرة، ودرجات التناغم، ومدوّناتك، ورسائل المدرّب ذات الصلة بهذه العلاقة. مشفّرة أثناء التخزين ولا تُقرأ إلا عند إنشاء محتوى لهذه العلاقة بالتحديد.

04

شكل الإيقاع

ما نوع المحتوى المناسب الآن: فصل يومي، أو رسالة ملخّص أسبوعية، أو ردّ من المدرّب، أو تذكير بطقس روحاني. يختار الإيقاع القالب المناسب.

المسار الكامل، خطوة بخطوة

سبع خطوات من المُحفّز إلى الظهور، كل واحدة مسمّاة بما تفعله فعليًا.

  1. المُحفّز

    إجراء من المستخدم — مثل "أنشئ فصل اليوم لأجل الأخت" — أو مهمة مجدولة عبر cron، كملخّص يوم الأحد الساعة 9 صباحًا، أو تحديث الطقس كل 6 ساعات.

  2. قائمة الانتظار

    تصل المهمة إلى قائمة انتظار BullMQ باسم soulwise-chapter-generation، بمهلة صارمة قدرها 28 ثانية. تُنهى المهام الطويلة ويُبلَّغ المستخدم بـ"حاول مرة أخرى".

  3. التركيب

    تجمع خدمة ChapterGenerationService التوجيه رباعي العوامل — سياق الشخص، والفلك، والإشارة، والإيقاع — في مُدخل واحد. لا تدخل أي بيانات تعريف شخصية خام للمستخدم إلى التوجيه حرفيًا؛ فكل شيء يُنقّى أولًا.

  4. التوليد

    يُستدعى مزوّد ذكاء اصطناعي عبر رمز AI_GENERATION_ADAPTER — والمزوّد قابل للتبديل. ويُفحص الرد من حيث الطول والشكل والسلامة قبل المتابعة.

  5. المعالجة اللاحقة

    تحدث أربعة أمور: مُصنّف للأزمات يفحص وجود لغة تدل على أزمة؛ ومستخرِج لرقائق الأبعاد يلتقط من واحدة إلى ثلاث رقائق فلكية؛ ومرشّح مضاد للادّعاءات يزيل الصياغات الممنوعة؛ ويُشفَّر المتن بنظام AES-256 بمفتاح تديره المنصة.

  6. الحفظ

    يُكتب العنصر في مجموعة MongoDB المناسبة — الفصول، مدوّنات اليوميات، أصداء التناغم — مع فهارس userId وpersonId للبحث السريع. حذف مبدئي أولاً؛ ثم حذف نهائي للبيانات الشخصية بعد 30 يومًا.

  7. الإشعار

    يُطلَق حدث EventEmitter2 — CHAPTER_COMPLETED، JOURNAL_CREATED — بعد تثبيت قاعدة البيانات. وتلتقطه وحدة الإشعارات، فتنشئ عنصرًا في صندوق الوارد، وترسل اختياريًا إشعارًا دفعيًا (بحد أقصى واحد يوميًا، مع احترام ساعات الهدوء).

  8. العرض

    تجلب الواجهة الأمامية العنصر عبر استدعاء API موثّق. ويعيد المركز عرض المحتوى الجديد. وإذا كان المستخدم غير متصل، تقدّم الذاكرة المؤقتة عرض الأمس، ويظهر العنصر الجديد عند إعادة الاتصال.

سبع خطوات من المُحفّز إلى الظهور، كل واحدة مسمّاة بما تفعله فعليًا.

أين يستقرّ كل شيء

أربع مجموعات في MongoDB، كل منها مفهرسة للاستعلامات التي تجيب عنها.

  • soulwise_persons — soulwise_persons — مدخلات ألبومك. مفهرسة حسب userId وstatus وdeletedAt.
  • soulwise_chapters — soulwise_chapters — كل فصل يكتبه الذكاء الاصطناعي، بمحتوى مشفّر. مفهرسة حسب personId وuserId وgeneratedAt.
  • soulwise_journal_entries — soulwise_journal_entries — تأملاتك، بمحتوى مشفّر. مفهرسة حسب userId وpersonId وcreatedAt؛ ومفهرسة نصيًا للبحث.
  • soulwise_resonances — soulwise_resonances — درجات الأبعاد الأربعة لكل رابطة. فهرس فريد لكل personId.
لماذا يكون التوليد غير متزامن؟

تستغرق استدعاءات الذكاء الاصطناعي ما بين ثلاث وخمس وعشرين ثانية. إبقاء الطلب مفتوحًا طوال هذه المدة لا يتوسّع جيدًا ويبدو غير متجاوب. يعيد النمط غير المتزامن معرّف مهمة فورًا، فيكتمل الفصل في الخلفية، ويظهره صندوق الوارد لحظة جاهزيته. وهكذا يستطيع المستخدم مواصلة استعمال التطبيق أثناء تنفيذ المهمة.

ماذا يحدث إذا فشل التوليد أو انتهت مهلته؟

تنهي مهلة BullMQ البالغة 28 ثانية أي مهمة لم تكتمل. يرى المستخدم حالة "حاول مجددًا" — ولا يرى أبدًا فصلًا ناقصًا. تُسجّل المهام الفاشلة ويُعاد تنفيذها بحدود إعادة المحاولة المخصّصة لكل ميزة.

لماذا تُجرى معالجة لاحقة للغة الأزمات؟

لأن المدرّب بالذكاء الاصطناعي (Luminara) يحتاج إلى مسار يبقى مُصغيًا حتى عند استنفاد الحد اليومي المجاني. يضع مصنّف الأزمات علامة على الرسائل التي تستحق تجاوز الحد. هذه شبكة أمان آلية، وليست ضمانًا سريريًا — أما لموارد الأزمات فنحيلك إلى خدمات الدعم القائمة.

جرّب My Zodiac AI اليوم

بينما يفتح Soulwise أمواجه، فإن تطبيقنا الرائد في علم التنجيم بين يديك بالفعل.

محتوى علم التنجيم مخصص للتأمل والترفيه. ميزات Cosmic Story v2 الموضحة هنا قيد التطوير؛ وقد يتغير توفرها دون إشعار مسبق.