سياق الشخص والعلاقة
لمن هذا العنصر — الاسم، ونوع العلاقة، وما نعرفه عن حال هذه العلاقة مؤخراً. إن كنتَ قد دوّنتَ عن أختك ثلاث مرات هذا الأسبوع، فإن هذه التفاصيل تظهر هنا.
يمرّ كل عنصر في Cosmic Story v2 عبر البنية نفسها. وإليك هذه البنية موضّحةً بلغةٍ بسيطة.
كل واحدٍ منها سطرٌ من السياق يدخل ضمن المطالبة.
لمن هذا العنصر — الاسم، ونوع العلاقة، وما نعرفه عن حال هذه العلاقة مؤخراً. إن كنتَ قد دوّنتَ عن أختك ثلاث مرات هذا الأسبوع، فإن هذه التفاصيل تظهر هنا.
خريطة الميلاد، والتوافق الفلكي بينك وبين الشخص، والعبورات الحالية. كل ذلك محسوبٌ عبر Swiss Ephemeris (sweph). الفلك معدِّلٌ على المطالبة، وليس المطالبة نفسها.
عمليات تسجيل الدخول الأخيرة، ودرجات التناغم، ومدوّناتك، ورسائل المدرّب ذات الصلة بهذه العلاقة. مشفّرة أثناء التخزين ولا تُقرأ إلا عند إنشاء محتوى لهذه العلاقة بالتحديد.
ما نوع المحتوى المناسب الآن: فصل يومي، أو رسالة ملخّص أسبوعية، أو ردّ من المدرّب، أو تذكير بطقس روحاني. يختار الإيقاع القالب المناسب.
سبع خطوات من المُحفّز إلى الظهور، كل واحدة مسمّاة بما تفعله فعليًا.
إجراء من المستخدم — مثل "أنشئ فصل اليوم لأجل الأخت" — أو مهمة مجدولة عبر cron، كملخّص يوم الأحد الساعة 9 صباحًا، أو تحديث الطقس كل 6 ساعات.
تصل المهمة إلى قائمة انتظار BullMQ باسم soulwise-chapter-generation، بمهلة صارمة قدرها 28 ثانية. تُنهى المهام الطويلة ويُبلَّغ المستخدم بـ"حاول مرة أخرى".
تجمع خدمة ChapterGenerationService التوجيه رباعي العوامل — سياق الشخص، والفلك، والإشارة، والإيقاع — في مُدخل واحد. لا تدخل أي بيانات تعريف شخصية خام للمستخدم إلى التوجيه حرفيًا؛ فكل شيء يُنقّى أولًا.
يُستدعى مزوّد ذكاء اصطناعي عبر رمز AI_GENERATION_ADAPTER — والمزوّد قابل للتبديل. ويُفحص الرد من حيث الطول والشكل والسلامة قبل المتابعة.
تحدث أربعة أمور: مُصنّف للأزمات يفحص وجود لغة تدل على أزمة؛ ومستخرِج لرقائق الأبعاد يلتقط من واحدة إلى ثلاث رقائق فلكية؛ ومرشّح مضاد للادّعاءات يزيل الصياغات الممنوعة؛ ويُشفَّر المتن بنظام AES-256 بمفتاح تديره المنصة.
يُكتب العنصر في مجموعة MongoDB المناسبة — الفصول، مدوّنات اليوميات، أصداء التناغم — مع فهارس userId وpersonId للبحث السريع. حذف مبدئي أولاً؛ ثم حذف نهائي للبيانات الشخصية بعد 30 يومًا.
يُطلَق حدث EventEmitter2 — CHAPTER_COMPLETED، JOURNAL_CREATED — بعد تثبيت قاعدة البيانات. وتلتقطه وحدة الإشعارات، فتنشئ عنصرًا في صندوق الوارد، وترسل اختياريًا إشعارًا دفعيًا (بحد أقصى واحد يوميًا، مع احترام ساعات الهدوء).
تجلب الواجهة الأمامية العنصر عبر استدعاء 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) يحتاج إلى مسار يبقى مُصغيًا حتى عند استنفاد الحد اليومي المجاني. يضع مصنّف الأزمات علامة على الرسائل التي تستحق تجاوز الحد. هذه شبكة أمان آلية، وليست ضمانًا سريريًا — أما لموارد الأزمات فنحيلك إلى خدمات الدعم القائمة.
بينما يفتح Soulwise أمواجه، فإن تطبيقنا الرائد في علم التنجيم بين يديك بالفعل.
محتوى علم التنجيم مخصص للتأمل والترفيه. ميزات Cosmic Story v2 الموضحة هنا قيد التطوير؛ وقد يتغير توفرها دون إشعار مسبق.