حالة الذاكرة — صفحة واحدة، حقيقة واحدة (BL-428)
ما هي هذه الصفحة
يتمتع OrbitPilot بالفعل بتتبع، في عدة أماكن مختلفة، لما يتذكره عنك: بطاقة بناء في لوحة التحكم، أيقونات صغيرة بجانب كل Blink، وسطر يضيفه إلى إجاباته الخاصة عندما تكون الذاكرة قديمة. كلمات المالك الخاصة في اليوم الذي تم شحنه: وقت تحديث صامت حول SCOPE — "تم التحديث اليوم ولكن لا يمكن الوصول إليه" — هي جملة صادقة تتركك لا تزال في حيرة. صفحة حالة الذاكرة (/orbitpilot/memory-status/) توحد كل ذلك في صفحة واحدة: متى تغيرت الذاكرة آخر مرة وكيف، كل مصدر موجود حاليًا مع العد، و — لأي شيء مفقود — السبب الحقيقي لذلك، بلغة بسيطة.
ما الذي تظهره
- آخر تحديث. الوقت الذي تغيرت فيه الذاكرة آخر مرة والطريقة — إعادة بناء كاملة، تحديث سريع، أو تحديث تلقائي / يدوي من تغيير محفوظ واحد — بالإضافة إلى، إذا كانت الذاكرة قديمة أو متدهورة، أو لم يتم بناؤها أبدًا، الجملة الدقيقة التي قد يعلقها OrbitPilot على إجابة الآن.
- في ذاكرتك. كل مصدر يحتوي على محتوى حقيقي في الذاكرة — Blinks، أهداف، مشاريع، أعمال، ملفات، والمزيد — مع عدد العناصر ومتى تم بناؤه آخر مرة.
- ليس في ذاكرتك. كل مصدر متاح آخر، كل واحد مع سبب قابل للتنفيذ: خارج نطاق الموقع بالكامل، غير موجود في خطتك (الترقية ستضيفه)، ملفات تنتظر الانتقال إلى مجلد ملفات OrbitPilot المحمي، أو ببساطة لم يتم التقاطها بواسطة بناء حتى الآن.
تحديث الذاكرة من هذه الصفحة
منذ BL-435 تحمل بطاقة آخر تحديث عمليتي تحديث بنفسها — تحديث سريع (إعادة قراءة فقط ما تغير منذ آخر بناء؛ رخيص) و🔄 إعادة بناء كاملة (إعادة قراءة وإعادة تضمين كل شيء؛ تستخدم المزيد من أرصدة الذكاء الاصطناعي) — لذا لا يحتاج أحد لمغادرة الصفحة للعمل على ما يظهر. هم نفس عناصر التحكم الموجودة في قائمة نافذة دردشة OrbitPilot → الذاكرة، وفقًا لقواعد المالك "لا تضاعف الكود": جزء قالب واحد مشترك (templates/_orbitpilot_rebuild_controls.html) تم تقديمه على كلا السطحين، نقطة نهاية واحدة (orbitpilot_rebuild_memory، POST mode=soft|hard)، نفس حوار التأكيد، نفس علاج البناء العالق عند النقر (الحاصد BL-404) ونفس حلقة التقدم الحية (BL-410). الأزرار موصولة من خلال تفويض مستوى الوثيقة [data-op-rebuild] في static/js/orbitpilot-widget.js؛ لأن هذا السكربت يتم تحميله بشكل كسول، orbitpilot-loader.js يضع نقرة تنتظر قبل أن يتم تحميله ويعيد تشغيلها (rebuildFromButton)، بنفس الطريقة التي يحمي بها نقرة الزر في الدردشة الأولى. عندما يكتمل البناء، تعيد تحميل هذه الصفحة نفسها حتى يتم إعادة قراءة حقائق "آخر تحديث" من get_memory_status_page بدلاً من أن تصبح قديمة. الحراس: orbitpilot/test_memory_status_page.py::RebuildControlsTests تفشل في اللحظة التي يتم فيها نسخ الأزرار إلى قالب ثان أو يتم تسجيل_route_ إعادة بناء ثانية.
أين تجدها
رابط "🤔 حالة الذاكرة" يجلس في شريط الأدوات السفلي لنافذة دردشة OrbitPilot — نفس الصف مع جديد / تاريخ / نسخ / هذه الدردشة — لذا فهو على مسافة نقرة واحدة من كل محادثة، سواء على شكل ملحق أو صفحة كاملة. الضيوف يرون نفس الرابط، لكنه يؤدي إلى إنشاء حساب بدلاً من ذلك، حيث أنه ليس هناك ذاكرة شخصية ليتم الإبلاغ عنها بعد.
كيف يعمل هذا — للمسؤولين
لا شيء ليتم ضبطه اليوم. الصفحة مفتوحة لكل مستخدم مسجل؛ يمكن أن يكون هناك قيد خطة لاحق (مثل: تقييدها لمستويات أعلى) على بعد صف واحد من سجل الميزات — قم بتسجيل ميزة بمفتاح orbitpilot_memory_status_page وتعيينها أو تعطيلها، دون الحاجة إلى تغيير الكود.
الموظفون وحسابات المستخدمين الفائقين يرون إشعارًا إضافيًا على الصفحة: حساباتهم تتجاوز قيود الخطة تمامًا (plans.services.get_effective_limits تقدم للموظفين كل علم بشكل غير مشروط)، لذا فإن ما تراه حساب الموظف ليس ما سيراه مستخدم غير موظف بنفس الخطة. هذا موجود حتى لا يخطئ المسؤول في رؤيته الخاصة المتجاوزة لما تبدو عليه صفحة مستخدم حقيقي.
كيف يعمل هذا — للمطورين
orbitpilot/services.py::get_memory_status_page(user) هو الحساب الكامل، وهو يجمع فقط — يستدعي نفس الدوال التي تستخدمها كل سطح آخر، لذلك لا يمكن أن تختلف هذه الصفحة معها: get_last_build/get_last_completed_build, memory_is_stale, build_notice.ask_honesty_note (BL-405، عائدًا على نحو حرفي) وresolve_build_sources + _plan_gate_reason (#597 / BL-410-P1، نفس الأسباب التي يقدمها build_user_snapshot للنموذج أثناء المحادثة). تأتي العدود من مصدر واحد GROUP BY على OrbitPilotMemoryChunk، باستثناء get_rag_disabled_keys() بنفس الطريقة التي يستثني بها pipeline/retrieve.py — المصدر الذي أوقفه المسؤول بعد بنائه لا يزال لديه صفوف في الجدول، ولا يجب أن تسمي هذه الصفحة تلك الصفوف "في الذاكرة" عندما لن يتم البحث عنها أبدًا.
عرض: orbitpilot.views.orbitpilot_memory_status، اسم URL orbitpilot_memory_status. القالب: orbitpilot/templates/orbitpilot/memory_status.html. تم تثبيته من خلال orbitpilot/test_memory_status_page.py — اختبار ينشئ صفًا حقيقيًا ويؤكد أن عدد الصفحة يساوي استعلامًا بسيطًا على نفس الجدول، لذا لا يمكن أن تبدأ الصفحة بهدوء في إعادة حساب أرقامها الخاصة.
صفحات ذات صلة
Docshub: "أيقونات حالة الذاكرة لكل Blink" (BL-417، نفس المفردات والأسلوب) ، "ذاكرتك تبقى صادقة" (BL-405). docs/orbitpilot/TASKS.md.
This guide was translated automatically. Read the English original.