كيف يعمل

مسار واحد واضح، من الحدث إلى الرد.

من حدث ديسكورد إلى الموجّه، ثم بوابة الإجراءات أو سلسلة النماذج، ثم فلتر المخرجات — وأرشيف SQLite واحد.

  1. الحدث يصل

    تدخل أحداث ديسكورد عبر bot.py، ثم يتولّاها angel/client.py، ويوجّهها angel/nl_router.py.

  2. السياق يُقرأ

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

  3. بوابة الإجراءات

    تتحقق البوابة من معرّف ديسكورد الثابت للفاعل، ومن الصلاحية المطلوبة، ومن كلمة تدل على النية، قبل أن يصل أي شيء إلى Discord API.

  4. فلتر المخرجات

    يزيل @everyone والنصوص الشبيهة بالرموز والوسوم المتبقية، ويصحّح ردًّا يدّعي تنفيذ إجراء ما زال في الطابور.

  5. الأرشيف

    ملف SQLite واحد: server_messages للرسائل الخام، وفهرس FTS5 للبحث، وجدول لملفات الأعضاء. لا طابور خارجي ولا ذاكرة مؤقتة ولا عامل خارجي.

مسار الرسالة في أنجل خمس مراحل من اليمين إلى اليسار: حدث من ديسكورد، الموجّه اللغوي، الذاكرة والأرشيف، قرار مقترح، ثم بوابة التأكيد قبل التنفيذ. إن لم يُؤكَّد القرار لا يُنفَّذ شيء. بوابة التأكيد بلا تأكيد: لا تنفيذ 1 حدث من Discord on_message · interaction 2 الموجّه اللغوي angel/nl_router.py 3 الذاكرة والأرشيف angel/database.py 4 قرار مقترح angel/brain.py 5 تنفيذ بعد التأكيد cogs/* النموذج يقترح، والبوابة تُقرّر — ولا إجراء إشرافي يُنفَّذ بلا تأكيد.
مسار الرسالة: من الحدث إلى التنفيذ، وبوابة تأكيد في المنتصف.

التشغيل