# التخزين المؤقت للنتائج المتقدمة (مدرك للحالة) ## ملخص تتميز Aura بذاكرة تخزين مؤقت للنتائج مستمرة ومدركة للسياق ومصممة للتخلص من المعالجة الزائدة عن الحاجة. عندما يتم التعرف على أمر صوتي ومطابقته لقاعدة ما، تتحقق Aura مما إذا كان قد تم إنشاء نفس النتيجة بالضبط من قبل في نفس الظروف. إذا تم العثور على تطابق، فستتجاوز Aura العمليات المكلفة مثل **عمليات التدقيق النحوي لأداة اللغة** أو **إنشاء Ollama LLM**، مما يؤدي إلى تقديم النتيجة بوقت استجابة يقترب من الصفر. ## الميزات الرئيسية - **مدرك للسياق:** ذاكرة التخزين المؤقت مخصصة لعنوان النافذة النشطة. يمكن أن يكون للأمر المذكور في "LibreOffice" نتيجة مخزنة مؤقتًا مختلفة عن نفس الأمر في "المحطة الطرفية". - **الإصلاح الذاتي (الإبطال التلقائي):** تنتهي صلاحية ذاكرة التخزين المؤقت تلقائيًا إذا قمت بتعديل ملف القاعدة الأساسي (خريطة `.py`). - **الخصوصية أولاً:** يتم تخزين جميع النتائج المخزنة مؤقتًا في قاعدة بيانات SQLite محلية (`data/_aura_result_cache.db`). - **بدون صيانة:** بالنسبة لمعظم المستخدمين، يعمل هذا بالكامل في الخلفية بدون تكوين. ## كيف يعمل يقوم النظام بإنشاء "cache_id" فريد بناءً على ثلاثة متغيرات: 1. **مخرجات القاعدة:** النص الذي تم إنشاؤه بواسطة الخريطة. 2. **اللغة:** رمز اللغة النشطة الحالي (على سبيل المثال، `de-DE`). 3. **النافذة النشطة:** عنوان النافذة قيد التركيز حاليًا. ### منطق الصلاحية تضمن ذاكرة التخزين المؤقت عدم تلقي معلومات "قديمة" أبدًا. يستخدم نوعين من اختبارات الصلاحية: | اكتب | الاسم | المنطق | حالة الاستخدام | | :--- | :--- | :--- | :--- | | **اكتب 0** | **ملف المزامنة التلقائية** | يستخدم وقت التعديل (`mtime`) لملف الخريطة. | **قياسي.** إذا قمت بتحرير Sandbox أو الخريطة، فسيتم إبطال جميع إدخالات ذاكرة التخزين المؤقت المرتبطة على الفور. | | **النوع 1** | ** الطابع الزمني اليدوي ** | يستخدم "الطابع الزمني" الثابت المتوفر في سمات القاعدة. | **المطور.** قم بترميز الإصدار/الطابع الزمني لفرض حالة نتيجة محددة أو الحفاظ عليها. | ## أمثلة على تكوين القاعدة يمكنك التحكم في سلوك التخزين المؤقت مباشرة داخل ملفات `FUZZY_MAP_pre.py` أو `FUZZY_MAP.py`. ### 1. السلوك الافتراضي (التخزين المؤقت التلقائي) بشكل افتراضي، يتم تمكين التخزين المؤقت ويستخدم وقت تعديل الملف. ```python # No extra attributes needed. # If this file is saved, the cache for this rule refreshes. ('Bold', r'^make it bold$', 100) ``` ### 2. تعطيل ذاكرة التخزين المؤقت إذا كان الأمر ينتج بيانات ديناميكية (مثل الوقت الحالي أو نكتة عشوائية)، فيجب عليك تعطيل ذاكرة التخزين المؤقت. ```python ('Current Time', r'^what time is it$', 100, { 'cache': False }) ``` ### 3. الطابع الزمني اليدوي (الإصدار الثابت) إذا كنت تريد أن تستمر ذاكرة التخزين المؤقت بغض النظر عن تعديلات الملف (ما لم تقم بتغيير الإصدار)، فاستخدم طابعًا زمنيًا يدويًا. ```python ('Stable Command', r'^run complex task$', 100, { 'timestamp': '2026-05-09-v1' }) ``` ## تأثير الأداء - ** ذاكرة التخزين المؤقت المفقودة: ** المعالجة القياسية (0.05 ثانية - 5.0 ثانية اعتمادًا على استخدام LLM). - **ضربة ذاكرة التخزين المؤقت:** معالجة فورية. تتمثل هذه الآلية في إرجاع الأوامر أو الأخطاء المطبعية المصححة على الفور دون إجهاد وحدة المعالجة المركزية.