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

الجلسات

الجلسة هي سياق محادثة محدود. تمتلك تاريخ الرسائل، والملف الشخصي المختار، وحالة مسار النموذج، والموافقات المحددة بالجلسة، وأي مؤشرات سطح نشطة. الجلسات ليست كتل سياق عالمية؛ هي معزولة لكل ملف شخصي ويجب ربطها صراحةً إذا كنت تريد أن تشاركها القنوات.

تشرح هذه الصفحة ما تملكه الجلسة، وكيفية الانتقال بين الجلسات، وما يحدث عند انحراف الجلسات.


ما تملكه الجلسة

الحالةالمالكالملاحظات
تاريخ المحادثةالجلسةمخزن في قاعدة بيانات الجلسة تحت الملف الشخصي النشط
الملف الشخصي المختارالجلسةالملف الشخصي النشط عند إنشاء الجلسة
تجاوز مسار النموذجالجلسةمُعيَّن عبر /model <provider>/<model>
الموافقات المحددة بالجلسةالجلسةالموافقات الممنوحة بنطاق session تنتهي عند انتهاء الجلسة
مؤشرات السطحالجلسةروابط من القنوات (Telegram، Discord، إلخ) إلى هذه الجلسة

لا تمتلك الجلسات ملفات ذاكرة دائمة. USER.md، MEMORY.md، و SOUL.md تخص الملف الشخصي. لا تمتلك الجلسات ثقة مساحة العمل أو حالة cron. هذه أيضًا مخصصة للملف الشخصي.


عزل الجلسة

الجلسات منفصلة افتراضيًا. جلسة CLI وجلسة Telegram لنفس المستخدم لا تشاركان السياق تلقائيًا. إذا كنت تريد أن يستمر دردشة Telegram في جلسة CLI، يجب عليك ربطها صراحةً.

عزل الملف الشخصي صارم. جلسة تم إنشاؤها تحت الملف الشخصي work لا يمكنها رؤية الجلسات التي تم إنشاؤها تحت الملف الشخصي personal، حتى لو كانا على نفس الجهاز. قاعدة بيانات الجلسة مخصصة لدليل الملف الشخصي.


أوامر الجلسة

# إدراج الجلسات الحديثة مع الأسطح المرتبطة
estacoda sessions list

# عرض تفاصيل الجلسة ومؤشرات السطح
estacoda sessions show <session-id>

# الجلسة الحالية لوقت التشغيل
estacoda sessions current

# ربط سطح بجلسة
estacoda sessions attach <surface> <id> <session-id>

# فصل سطح عن جلسة
estacoda sessions detach <surface> <id>

# تلخيص تطابقات الجلسة التاريخية
estacoda sessions recall <query>

# ضغط تاريخ الجلسة يدويًا
estacoda sessions compact <session-id> [--topic <topic>]

الأسطح الصالحة: cli، telegram، discord، whatsapp، email.

sessions recall هو استذكار تاريخي محدود. هو مخصص للملف الشخصي ولمساحة العمل عندما تكون بيانات تعريف مساحة العمل متوفرة. المحتوى المستذكر مسمى كسياق غير موثوق ولا يمكنه تجاوز التعليمات الحالية.

sessions compact هو ضغط دلالي للجلسة. يضغط التاريخ الأقدم للجلسة المستهدفة. هو غير دوار في هذا التنفيذ؛ لا ينشئ أو يتبنى جلسة فرعية مضغوطة. /compact في البوابة له منطق دوران منفصل.


ضوابط الجلسة التفاعلية

داخل جلسة CLI نشطة:

الأمرالغرض
/sessionsإدراج الجلسات النشطة
/switch <session-id>الانتقال إلى جلسة أخرى
/resetبدء جلسة جديدة

تدعم قنوات البوابة مجموعة فرعية من أوامر الجلسة:

الأمرالغرض
/sessionsإدراج الجلسات الحديثة
/switch <session-id>الانتقال إلى جلسة مختلفة
/attach <code>الربط بجلسة CLI عبر رمز التسليم
/detachالفصل عن الجلسة الحالية وإنشاء جلسة جديدة
/newإنشاء جلسة جديدة
/resetإعادة تعيين الجلسة الحالية

/attach <code> يستخدم رمز تسليم قصير العمر لمرة واحدة يتم إنشاؤه في CLI. الرمز هو Crockford base-32، 6 أحرف، TTL 10 دقائق. الفشل في الاسترداد يرجع رسالة عامة؛ لا يتم تسريب معرف الجلسة.

/detach ينشئ جلسة مستقلة جديدة لهذا السطح. لا يدمج التواريخ أو الرسائل.


الحالة والملفات

تقع حالة الجلسة في دليل الملف الشخصي المختار:

~/.estacoda/profiles/<profile-id>/
sessions.db # قاعدة بيانات جلسة SQLite
cli-session-store.json # مؤشر الجلسة النشطة لاستئناف CLI

قاعدة بيانات الجلسة هي SQLite. تخزن الرسائل والأحداث وحالة الضغط ومؤشرات السطح. إذا كانت قاعدة بيانات الجلسة مفقودة أو تالفة، لا يمكن إدراج الجلسات أو استذكارها أو استئنافها.


أوضاع الفشل

جلسة قديمة: جلسة مستأنفة من cli-session-store.json قد تشير إلى ملف شخصي أو مساحة عمل قديمة. إذا تغير الملف الشخصي، قد تحمل الجلسة سياقًا قديمًا. استخدم /reset أو estacoda sessions current للفحص.

ملف شخصي خاطئ: الجلسات مخصصة للملف الشخصي. إذا قمت بتبديل الملفات الشخصية باستخدام estacoda profile use <name>، لم تعد الجلسات الموجودة من الملف الشخصي السابق مرئية. لم يتم حذفها؛ هي تخص الملف الشخصي الآخر.

جلسة مفقودة: إذا كان معرف الجلسة غير موجود في قاعدة بيانات جلسة الملف الشخصي الحالي، ترجع الأوامر session not found. تحقق من estacoda sessions list وتحقق من الملف الشخصي النشط.

مشاكل قاعدة بيانات الجلسة: إذا كانت sessions.db تالفة أو مقفلة، تفشل أوامر الجلسة. قد يتراجع CLI إلى جلسة في الذاكرة. في هذه الحالة، الاستمرارية والاستذكار والربط/الفصل غير متاحين. أعد تشغيل CLI وتحقق من أذونات الملف.

عدم تطابق الربط/الفصل: ربط سطح بجلسة لا يدمج التواريخ. يعني فقط أن الرسائل المستقبلية من هذا السطح تذهب إلى هذه الجلسة. إذا كنت تتوقع سياقًا مدموجًا، لن تحصل عليه.


الفحص والاسترداد

# التحقق من الملف الشخصي النشط
estacoda profile show

# إدراج الجلسات لهذا الملف الشخصي
estacoda sessions list

# فحص الجلسة الحالية
estacoda sessions current

# الانتقال إلى جلسة معروفة جيدة
/switch <session-id>

# البدء من جديد إذا كان السياق تالفًا
/reset

مرتبطات

  • CLI — حلقة الجلسة التفاعلية وأوامر الشرطة المائلة
  • الملفات الشخصية — حدود الملف الشخصي والتبديل
  • الذاكرة — ملفات الذاكرة الدائمة مقابل سياق الجلسة
  • القنوات — تكوين القناة ومؤشرات السطح