Skip to main content
OrbitPilot

أخبر OrbitPilot بعدم تذكر شيء — بصراحة، لكل رسالة (BL-422)

الإشعار أسفل مربع الدردشة

خط صغير يجلس الآن تحت مؤلف OrbitPilot، في نافذة الدردشة المثبتة وفي الدردشة بملء الصفحة على حد سواء: "تُذكر المحادثات حتى أتمكن من مساعدتك بشكل أفضل"، ويرتبط بصفحة حالة الذاكرة الخاصة بك. إذا لم تتضمن خطتك حالياً تاريخ الدردشة كمصدر للذاكرة، فإن الخط يقول ذلك بوضوح بدلاً من ذلك — نفس السبب تمامًا الذي تعطيه صفحة حالة الذاكرة و ملاحظة الصدق الخاصة بOrbitPilot، ولا يوجد شك ثانٍ في نفس الحقيقة. يرى الضيوف دعوة لإنشاء حساب مجاني بدلاً من ذلك، حيث لم يتم تذكر أي شيء لهم بعد.

"لا تذكر" لكل رسالة

بجوار رسائلك الخاصة — نفس نمط مجموعة الأيقونات مثل Catch في ردود OrbitPilot — يوجد رمز عين صغير. انقر عليه وستُعلام تلك الرسالة بعدم تذكرها. تتبع ذلك ثلاث أشياء، وكلمات المالك الخاصة هي السبب في شكل الثلاثة جميعًا: "إذا كان المستخدم يستثني ذلك القسم لهذه الجلسة النشطة الحالية... يمكن لOrbitPilot في تلك الجلسة وتلك اللحظة رؤيته لأنه ينبغي أن يكون قادرًا على مواصلة المحادثة مع المستخدم. ولكن لاحقًا، عندما يغلق المستخدم الجلسة، فسيتم استثناؤه من الذاكرة."

  1. OrbitPilot يستمر في متابعة المحادثة. استثناء رسالة لا يزيلها أبدًا مما يمكن لOrbitPilot رؤيته لبقية هذه الدردشة — الرد مباشرة بعدها، وأي شيء تسأله لاحقًا في نفس الجلسة، لا يزال لديه الخيط الكامل للاستخدام.
  2. لا تدخل الذاكرة طويلة الأجل. في بناء الذاكرة التالي (تحديث سريع أو بناء كامل)، يتم تخطي تلك الرسالة والرد الذي أجاب عليها — فهما لا يصبحان جزءًا يمكن استرجاعه من الذاكرة في أي محادثة لاحقة. إذا كان بناء سابق قد حول بالفعل تلك المبادلة إلى كتلة، فإن البناء التالي مباشرة يزيلها.
  3. لا شيء مخفي أو محذوف. تبقى الرسالة بالضبط حيث كانت في تاريخ محادثتك، فقط مع تعيين “لم يتم تذكرها” حتى تتمكن من رؤية حالتها بلمحة. لا يوجد زر مسح — اتخاذ القرار أيضًا لمسح رسالة من تاريخك المرئي هو قرار أكبر منفصل تركه المالك عمدًا خارج هذه.

تغيير رأيك

يعمل التبديل في كلا الاتجاهين ويؤثر في البناء القادم للذاكرة، لا يحدث على الفور ولا بأثر رجعي لبناء حدث بالفعل. استثني رسالة، ثم أعد تمكينها قبل أن يحدث البناء التالي، وستُذكر تمامًا كما لو لم تلمسها أبدًا. أعد تمكينها بعد أن أسقطها بناء بالفعل، وستعود بدءًا من البناء بعد ذلك — لا يوجد طريقة للوصول إلى الوراء و"إلغاء تخطي" بناء قد حدث بالفعل.

كيف يعمل هذا — للمسؤولين

لا يوجد شيء لتكوينه لتبديل "عدم التذكر" لكل رسالة — فهو متاح لكل مستخدم مسجل؛ الضيوف ليس لديهم تاريخ دردشة دائم لاستثناء أي شيء منه. تتبع صياغة الإشعار نفس إعداد تخصيص المصدر / الخطة (orbitpilot.chat_history) التي تتحكم بالفعل فيما إذا كان تاريخ الدردشة يغذي بناء ذاكرة المستخدم على الإطلاق — أطفئ ذلك لخطة على صفحة التخصيص ويبلغ الإشعار مستخدمي تلك الخطة بذلك، بصراحة، بنفس الكلمات التي تستخدمها صفحة حالة الذاكرة بالفعل.

كيف يعمل هذا — للمطورين

OrbitPilotMessage.not_remembered (BooleanField، الافتراضي False) موجودة فقط على دور المستخدم — لا يتم وضع علامة على رد المساعد بشكل منفصل، لأن pipeline/extract.py::_extract_chat_history يقوم بالفعل بمزاوجة كل رسالة مستخدم مع رسالة المساعد التي أجابت عليها، ويتجاهل ببساطة إرسال سجل تلك الزوج عند تعيين العلم. لا يزال pair_index يتقدم لزوج مخطوط، لذا فإن كل زوج آخر في نفس المحادثة يحتفظ برقم source_id بالضبط عبر البنايات — استثناء دور واحد لا يجبر أبدًا على إعادة تضمين كل دور لاحق أيضًا.

تبديل العلم لا يكتب أي شيء آخر. تحدث إزالة كتلة تم بناؤها بالفعل بشكل طبيعي في البناء التالي، من خلال services.run_memory_build الموجود موجود: المسار التدريجي (تحديث سريع) يحذف أي OrbitPilotMemoryChunk مخزنة التي لم تعد تظهر في الاستخراج الجديد، والبناء الكامل يحذف كل كتلة قبل استعادة من الاستخراج الجديد — كلاهما موجود بالفعل لتغييرات المحتوى العادية، ويؤدي زوج دردشة استثنائي إلى تشغيل نفس المسار دون الحاجة إلى منطق حذف جديد.

عرض: orbitpilot.views.orbitpilot_toggle_remember، اسم URL orbitpilot_toggle_remember (POST /orbitpilot/message/remember/, message_id + format=json اختيارية، نفس شكل الاستجابة الثنائية AJAX / النموذج العادي كما في Catch). تعيد الأيقونات استخدام المعاني الموجودة في "عرض" / "إخفاء" (bi-eye / bi-eye-slash) — نفس الزوج templates/blink/_memory_status.html الذي يستخدم بالفعل لـ "الذكاء الاصطناعي يقرأ هذا" مقابل "استثناء من ذاكرة الذكاء الاصطناعي" على Blink — بدلاً من إنشاء معنى أيقونة جديدة لنفس الفكرة. تم تثبيت التكافؤ بواسطة orbitpilot/test_bl422_do_not_remember.py.

نص الإشعار عمداً أرخص مما يبدو في البداية، وكان ذلك تراجعًا حقيقيًا تم القبض عليه قبل أن يُشحن. استدعت النسخة الأولى من orbitpilot.services.get_chat_memory_notice(user) resolve_build_sources — نفس الوظيفة التي تستخدمها صفحة حالة الذاكرة BL-428 وملاحظة الصدق في الآونة BL-405 — من أجل التوافق الكامل مع تلك الصفحات. فشلت plans.test_capability_cache.CapabilityCacheSavesQueriesTests: resolve_build_sources تستدعي plans.services.get_plan_for_user مرتين داخليًا (مرة مباشرة، مرة أخرى داخل get_effective_limits)، و لا تتصل أي استدعاء بالذاكرة المؤقتة الخاصة بالدعائم plans.capabilities — فجوة موثقة ومتعمدة (تمت تجربة ملاحظة لكل طلب هناك مرة واحدة وتراجعت بسبب المخاطر المتعلقة بتأخر البوابة). كان دفع تلك التكلفة مرة واحدة لكل طلب مقبولًا بالفعل ؛ كانت تكلفتها مرة واحدة لكل تحميل صفحة، لكل مستخدم مسجل، على كل صفحة، تكلفة أكبر بشكل مادي يجب ألا يضيفها هذا العنصر. لذا، تتحقق النسخة المرسلة فقط من تخصيص الخطة الخاصة بchat_history — مفتاح المشرف في In-RAG ومصفوفة تخصيص المصدر / الخطة — اقرأه من خلال plans.capabilities.get_user_plan (تستخدم ما تم تخزينه في فحص البوابة الخاص بالصفحة بالفعل؛ تنخفض إلى استعلام بسيط خارج الطلب، مثل الاختبارات). لا تفعل لا تعيد إنتاج CAP العامة للخطة (included_sources) — يمكن أن يكون المصدر "مخصصًا" هنا ولا يزال يتم تجاهله من قبل بناء فعلي (انظر كشف SU-101 Q1 أدناه) — وهذا هو بالضبط سبب وجود الإشعار دائمًا بجانب رابط إلى صفحة حالة الذاكرة الأكثر شمولاً، وهي صفحة تذهب إليها عمدًا، حيث يكون دفع التكلفة الحقيقية مرة واحدة هو التجارة الصحيحة. تم توصيلها عبر علامة قالب جديدة chat_memory_notice في orbitpilot/templatetags/orbitpilot_extras.py (ليس لدى العنصر عرض مخصص لتمرير سياق كل مستخدم من خلاله).

ملاحظة حول عنصر التحقق من SU-101 Q1

سأل الصف إذا كان orbitpilot.chat_history يتم تغطيته فعليًا بواسطة نية المالك "ابقِ عليه". تم التحقق، نتيجتان: قراءة تخصيص خطة chat_history تمت بالفعل متاحة على كل خطة عندما لا يوجد صف إداري على الإطلاق (تكون default_visible=True في التسجيل هي البديل) — لا شيء لمنح هناك. لكن يمكن لآلية متميزة أن تستثنيه: included_sources الخاصة بكل خطة (حد مصادر المعرفة العامة) افتراضيًا إلى 3، وتُرتب عدة مصادر مرئية أخرى قبل chat_history في التسجيل — لذا، في أي خطة لم يرفعها المالك شخصيًا، resolve_build_sources تملأ الحد قبل الوصول إلى chat_history. هذه بيانات خطة إدارية حية، وليس إصلاحًا محددًا لـ chat_history، وهي بالفعل موضوع تحقيق منفصل (BL-419 / SU-106) — لذا فهي مُبلغ عنها، وليس مُرقعة، هنا. تم تثبيتها كحارس تراجع في orbitpilot/test_bl422_do_not_remember.py (SU101Q1SourceCoverageTests، SU101Q1SourceCapFindingTests).

صفحات ذات صلة

Docshub: "حالة الذاكرة — صفحة واحدة، حقيقة واحدة" (BL-428)، "Catch — تحويل رد OrbitPilot إلى Blink" (BL-421، نمط مجموعة الأيقونات التي يعيد استخدامها). docs/orbitpilot/TASKS.md.

This guide was translated automatically. Read the English original.

🪐 OrbitPilot

Create a free account and I'll remember your conversations — sign up

🧠 Memory status