الانتقال إلى المحتوى الرئيسي

البحث في الجلسات

يبحث sessions_search في نصوص المستخدم والمساعد ضمن جلساتك السابقة. تتضمن كل نتيجة sessionKey وطابعًا زمنيًا ودورًا ومقتطفًا قصيرًا مطابقًا. مرّر sessionKey المُعاد إلى sessions_history عندما تحتاج إلى سياق المحادثة المحيط.

إمكانية الاطلاع والمخرجات

يستخدم البحث قواعد إمكانية الاطلاع على الجلسات نفسها التي يستخدمها sessions_history. تُزال النتائج الواقعة خارج شجرة الجلسات التي يمكن للمستدعي الاطلاع عليها قبل تطبيق حدود النتائج. تظل الوكلاء المعزولة مقيّدة بالجلسات التي أنشأتها عندما تكون إمكانية الاطلاع على الجلسات المنشأة مفعّلة. تُنقّح المقتطفات قبل إعادتها إلى النموذج. وتُقيّد النتائج أيضًا من حيث العدد وطول المقتطف والحجم الإجمالي للاستجابة.

دورة حياة الفهرس

يخزّن OpenClaw فهرسًا للنص الكامل إلى جانب صفوف النصوص المنسوخة في قاعدة بيانات SQLite الخاصة بكل وكيل. تُفهرس رسائل المستخدم والمساعد الجديدة ضمن المعاملة نفسها التي تحفظها، ولذلك لا يتأخر الفهرس مطلقًا عن المحادثات المباشرة؛ وتُستبعد نتائج الأدوات وكتل الاستدلال والصور. ولا يمكن البحث إلا في الفرع النشط للنص المنسوخ. تُعاد فهرسة النصوص المنسوخة التي تسبق إنشاء الفهرس (مثل الجلسات المستوردة بواسطة openclaw doctor) والجلسات التي أُعيد الفرع النشط فيها إلى حالة سابقة، وذلك عبر عملية تسوية في الخلفية تبدأ مع عملية البحث التالية. لذلك قد تكون الاستجابة التي تحتوي على indexing: true غير مكتملة؛ فأعد المحاولة بعد اكتمال الفهرسة. تؤدي إزالة جلسة إلى إزالة إدخالاتها من الفهرس ضمن المعاملة نفسها. يستخدم البحث حاليًا محلل كلمات Unicode في SQLite مع إزالة علامات التشكيل. ويُعد تقسيم النص إلى وحدات ثلاثية لمطابقة السلاسل الفرعية في لغات CJK تحسينًا مستقبليًا.

البحث في الجلسات مقارنةً بالبحث في الذاكرة

استخدم sessions_search للبحث عن كلمات أو عبارات مطابقة تمامًا في النصوص المنسوخة الأولية للجلسات. واستخدم memory_search لملفات الذاكرة الدائمة والاسترجاع الدلالي. وتمثل مجموعة بيانات ذاكرة الجلسات التجريبية المكمّل الدلالي لهذا البحث الدقيق في النصوص المنسوخة.