dsh-session-archive
نشط ومستقريعمل محلياً ✓بدون اشتراك APIإضافة محلية لـ DSH Web تجمع الجلسات في شاشة واحدة لتبحث وتؤرشف وتستعيد وتحذف بأمان، مع سياسات تنظيف اختيارية متوقفة افتراضيًا.
dsh plugin --profile web add @linxin666/dsh-session-archive@latestالاستخدام المثالي لهذه الأداة
استخدمها عندما تتراكم جلسات DSH وتحتاج معرفة القديم، أرشفته أولًا، ثم حذف ما لا تحتاجه مع حماية الجلسات الجارية. تناسب التنظيف الدوري والمشاريع المنتهية؛ ولا تستخدم الحذف التلقائي قبل معاينة القواعد والتأكد من النسخ الاحتياطية.
التفاصيل والميزات المصورة
عندما تتراكم عشرات الجلسات في DeepSeek Harness، يصبح العثور على جلسة قديمة أو تنظيف المساحة عملًا يدويًا مقلقًا: أي جلسة ما زالت نشطة؟ وهل «الأرشفة» تعني الحذف؟ وماذا يحدث للجلسات الفرعية؟ dsh-session-archive تجمع هذه القرارات في شاشة واحدة داخل DSH Web. تبحث وتصفّي، تختار عدة جلسات، ثم تؤرشفها أو تستعيدها أو تحذفها حذفًا فعليًا مع حواجز أمان واضحة. قيمتها المضافة ليست زر حذف أسرع؛ بل تحويل التنظيف من تخمين بين ملفات متفرقة إلى سير عمل يمكن مراجعته قبل التنفيذ.
🧭 ما dsh-session-archive؟
dsh-session-archive إضافة ويب مفتوحة المصدر ضمن مستودع dsh-web الأصلي. تعرض مخزونًا مركزيًا للجلسات النشطة والمؤرشفة والفارغة والفرعية، حتى الجلسات التي لا ترتبط بمساحة عمل أو التي تحمل بيانات وصفية ناقصة. يظهر لكل صف ما توفر من العنوان أو المعرّف، مساحة العمل، آخر نشاط، الحالة، وقت الأرشفة، الحجم وعدد الأبناء.
الأداة تفصل بين عمليتين كثيرًا ما تختلطان:
- الأرشفة: تغيّر حالة الجلسة وتخفيها من المسار اليومي، لكنها لا تحذف ملفاتها. تستطيع استعادتها لاحقًا، وتبقى مرتبطة بمساحة عملها.
- الحذف الفعلي: يزيل بيانات الجلسة من مخزن DSH المحلي، وهو غير قابل للتراجع. عند حذف جلسة أم تدخل الجلسات التابعة في العملية نفسها، مع إيقاف العملية كلها إذا كانت العائلة محمية.
بهذا تستطيع أن تبدأ بخطوة قابلة للتراجع، ثم تؤجل الحذف النهائي إلى وقت تعرف فيه أنك لا تحتاج السياق القديم.

🎯 كيف ستفيدك؟ وما القيمة المضافة؟
تفيدك الأداة عندما تستخدم DSH يوميًا وتتحول قائمة الجلسات إلى سجل طويل يصعب تدقيقه. بدل فتح الجلسات واحدة واحدة أو فحص مجلدات التخزين يدويًا، تستطيع تضييق القائمة باسم المشروع أو جزء من عنوان الجلسة أو حالتها، ثم تطبيق قرار واحد على مجموعة واضحة.
القيمة العملية تظهر في أربع نقاط:
- وقت أقل في التنظيم: البحث والفرز والتحديد الدفعي يقللان الخطوات المتكررة.
- قرار أوضح: ترى الفرق بين الأرشفة والحذف، وعدد العناصر والمساحة المقدّرة قبل الإجراء الخطِر.
- حماية للسياق النشط: الجلسة الحالية والجلسات قيد التشغيل وأبناؤها الجاريون لا تُحذف بالقوة.
- سياسة قابلة للضبط: تستطيع معاينة ما ستفعله قواعد الأرشفة والتنظيف التلقائي قبل تشغيلها، وهي متوقفة افتراضيًا.
هذه الإضافة مناسبة لمن لديه تاريخ جلسات كبير ويريد الاحتفاظ بالمفيد وتنظيف الباقي. أما إذا كان لديك عدد قليل من الجلسات ولا تحتاج تنظيفًا دوريًا، فواجهة DSH العادية قد تكون كافية، ولا توجد فائدة من إضافة سياسة حذف تلقائي بلا حاجة.
✨ الميزات وطريقة استخدامها
1. جرد موحّد مع بحث وتصفية وفرز
ابدأ من قسم «إدارة أرشيف الجلسات» في إعدادات الويب. ابحث بالعنوان أو المعرّف، وصفِّ حسب الحالة أو مساحة العمل، ثم رتّب حسب آخر نشاط أو وقت الأرشفة أو الإنشاء أو العنوان أو الحجم أو المشكلات. الجلسات ذات البيانات الناقصة لا تختفي؛ تظهر بعلامة توضّح أن بعض المعلومات غير مكتمل.
هذا مهم لأن التنظيف اليدوي غالبًا يبدأ من جزء واحد من الصورة: مجلد على القرص أو قائمة الواجهة فقط. الجرد الموحّد يجمع الحالات النشطة والمؤرشفة والجلسات الفرعية في مكان واحد. وإذا غيّرت التصفية، يحتفظ التحديد بعناصره، لذلك تستطيع بناء مجموعة عمل عبر أكثر من مرشح بدل إعادة الاختيار كل مرة.
كيف تستخدمها عمليًا؟ صفِّ مساحة عمل انتهى مشروعها، رتّب من الأقدم نشاطًا، اختر الجلسات المعروفة، ثم نفّذ الأرشفة أولًا. راجع القائمة بعد أيام قبل التفكير في الحذف الفعلي.
2. عمليات دفعية بنتيجة مستقلة لكل جلسة
عند أرشفة مجموعة أو استعادتها أو حذفها، ينفذ المضيف العمل في دفعات محدودة ويعرض التقدم. تحصل كل جلسة على نتيجة خاصة بها، ويمكنك إعادة محاولة العناصر الفاشلة فقط بدل إعادة العملية كلها. هذا يجعل المجموعة الكبيرة أسهل في الفهم من أمر صامت ينجح جزئيًا دون أن تعرف ما بقي.
حماية الجلسات ليست مجرد تنبيه بصري: الجلسة الحالية أو الجاري تشغيلها، والجلسة التي لها ابن يعمل، والجلسة المشاركة في عملية أرشفة أخرى تُستبعد. لا تحاول الأداة إيقاف عمليات DSH بالقوة لكي ينجح التنظيف.

3. حذف فعلي للعائلة مع تأكيدات واضحة
الحذف الفعلي يزيل تخزين الجلسة، سواء كان دليل jsonl.zstd أو صفوف مخزن الجلسات القائم على SQLite، ويحدّث محاسبة مساحة العمل ومجموعة الأرشيف وذاكرة العرض وسجل الأرشفة. إذا كانت الجلسة أمًا، تدخل الجلسات التابعة في الحساب. وإذا احتوت العائلة على جلسة محمية، تتخطى الأداة العائلة كلها بدل حذف جزء وترك بنية مبتورة.
قبل التنفيذ يظهر تأكيد صريح يتضمن عدد الجلسات والمساحة المقدّرة التي قد تتحرر. العمليات الكبيرة تطلب إقرارًا إضافيًا. هذه الحواجز تقلل النقر العرضي، لكنها لا تجعل الحذف قابلًا للاسترجاع؛ النسخة الاحتياطية أو الأرشفة السابقة هي مسؤوليتك.

4. أرشفة وتنظيف تلقائيان — متوقفان افتراضيًا
يمكنك تشغيل سياستين منفصلتين:
autoArchiveEnabledمعautoArchiveDays: أرشفة الجلسات بعد مدة خمول بين يوم و3650 يومًا؛ القيمة الافتراضية للمدة 7 أيام.autoDeleteEnabledمعautoDeleteDays: حذف الجلسات المؤرشفة بعد مدة احتفاظ بين يوم و3650 يومًا؛ القيمة الافتراضية للمدة 7 أيام.
يفحص المجدول كل 15 إلى 1440 دقيقة، والافتراضي 60 دقيقة. قبل التفعيل تعرض الأداة معاينة للعناصر المطابقة، ويمكنك تشغيل الفحص فورًا ورؤية آخر تشغيل وموعد التشغيل التالي. كلا المفتاحين التلقائيين معطّل افتراضيًا، ولا تُحفظ القيم خارج الحدود.
الجلسات التي أُرشفت قبل وجود الإضافة ولا تملك وقت أرشفة موثوقًا تظهر بوقت «مجهول» ولا تدخل الحذف التلقائي. تستطيع التعامل معها يدويًا، أو استعادتها ثم إعادة أرشفتها كي تسجّل الإضافة وقتًا جديدًا. هذه قاعدة محافظة تمنع حذف سجل قديم اعتمادًا على تاريخ مخمّن.

🛠️ طريقة العمل خطوة بخطوة
- ثبّت الحزمة الرسمية في ملف تعريف الويب، ثم أعد تشغيل
dsh web. - افتح إعدادات DSH Web وانتقل إلى قسم إدارة أرشيف الجلسات.
- ابدأ بالبحث والتصفية، ولا تبدأ بالحذف. افحص الجلسات النشطة والفرعية والعناصر ذات البيانات الناقصة.
- اختر مجموعة صغيرة وأرشفها. راقب نتيجة كل عنصر وأعد محاولة الفاشل فقط عند الحاجة.
- استخدم الاستعادة إذا احتجت جلسة مؤرشفة؛ لا حاجة لإعادة بنائها من الصفر.
- إذا قررت الحذف الفعلي، اقرأ عدد الجلسات والمساحة المقدرة، وتأكد من عدم وجود سياق تحتاجه أو نسخة احتياطية ناقصة.
- لا تشغّل السياسات التلقائية إلا بعد معاينة القواعد على بياناتك. ابدأ بمدة احتفاظ محافظة، ثم راجع سجل التشغيل.
💡 مثال عملي
لديك مساحة عمل لمشروع انتهى قبل ثلاثة أشهر وفيها 46 جلسة، بينها جلسات اختبار قصيرة وجلسة رئيسية تحمل قرارات مهمة. ابحث باسم مساحة العمل، ثم رتّب حسب آخر نشاط. استبعد الجلسة المرجعية، وحدد جلسات الاختبار القديمة وأرشفها. بعد أسبوع تأكد أن الفريق لم يحتجها، ثم راجع مجموعة الأرشيف واحذف مجموعة صغيرة مع قراءة العدد والمساحة قبل التأكيد.
بعد ذلك تستطيع تشغيل الأرشفة التلقائية للجلسات غير النشطة بعد مدة مناسبة لعملك، مع إبقاء الحذف التلقائي متوقفًا حتى تتأكد من نمط الاستخدام. القيمة هنا أن القرار يسير على مرحلتين: تقليل الفوضى الآن، ثم حذف مدروس لاحقًا، بدل حذف ملفات مباشرة والاعتماد على الذاكرة.
⚖️ مقارنة بالعمل اليدوي
| المهمة | يدويًا | باستخدام dsh-session-archive |
|---|---|---|
| معرفة ما لديك | التنقل بين قوائم ومجلدات | جرد واحد مع حالة وحجم ونشاط وأبناء |
| العثور على القديم | فتح الجلسات وتخمين عمرها | بحث ومرشحات وفرز بآخر النشاط |
| معالجة مجموعة | تكرار الخطوات لكل جلسة | تحديد متعدد ودفعات مع تقدم |
| معرفة الفشل | قد يظهر بعد فحص يدوي | نتيجة لكل جلسة وإعادة محاولة الفاشل |
| حماية الجلسات الجارية | تعتمد على انتباهك | استبعاد الحالية والجارية وعائلاتها |
| الحذف | إزالة ملفات قد تترك سجلات مترابطة | مسار حذف يحدث التخزين والسجلات المرتبطة |
| التنظيف الدوري | تذكير ومراجعة يدوية | سياسة اختيارية، متوقفة افتراضيًا ومعاينة قبل التشغيل |
العمل اليدوي قد يكون كافيًا لعدد صغير جدًا، لكنه يصبح خطرًا عندما تتوزع المعلومات بين مخزن الملفات وبيانات مساحة العمل والجلسات الفرعية. الإضافة لا تلغي مسؤولية القرار؛ هي تجعل المعلومات وحواجزه أقرب إلى مكان التنفيذ.
📦 التثبيت والتوافق والتكلفة
نفّذ الأمر الرسمي التالي:
dsh plugin --profile web add @linxin666/dsh-session-archive@latest
ثم أعد تشغيل dsh web. الحزمة مدرجة أيضًا في تجميعة @linxin666/dsh-web-all.
وقت التحقق في 28 سبتمبر 2026 كان بيان الحزمة على فرع dev يعرض الإصدار 0.4.3، ويتطلب Node.js 22.19 أو أحدث ضمن السلسلة 22، أو Node.js 24 فأحدث، وDSH 0.1.7-rc.2 فأحدث، مع React 18 كاعتماد نظير. سجل المستودع يعرض إصدار 0.4.3 بتاريخ 26 سبتمبر 2026، ما يدل على نشاط حديث. صفحة npm المباشرة لم تفتح في بيئة الفحص بسبب حماية Cloudflare؛ لذلك الإصدار المذكور مأخوذ من بيان الحزمة وسجل الإصدار في المستودع، لا من ادعاء غير متحقق لوسم npm الحالي.
الترخيص Apache-2.0، ولا تتطلب الإضافة اشتراكًا مدفوعًا أو مفتاح API لنموذج ذكاء اصطناعي. قد تبقى تكاليف تشغيل DSH أو النموذج الذي تستخدمه في جلساتك منفصلة عن هذه الإضافة.
🔐 الخصوصية والصلاحيات والأمان
تتعامل الأداة مع بيانات حساسة لأنها تستطيع قراءة قائمة الجلسات وحالاتها وأحجامها، وتغيير حالة الأرشفة، وحذف التخزين المحلي نهائيًا. جميع مساراتها تحت /api/dsh-session-archive/* مقيّدة باتصال loopback محلي، مع فحص Host ومؤشر المتصفح من نفس الأصل. لا تثق بترويسة X-Forwarded-For، ولذلك لا تعمل عملياتها عبر نفق أو جهاز آخر على الشبكة المحلية؛ تعيد تلك الطلبات 403 عمدًا.
يرسل العميل معرّفات الجلسات فقط، وليس مسارات ملفات. عند الحذف تتحقق الإضافة من المسار الحقيقي وتمنعه من الخروج عن جذر جلسات DSH، كما تتحقق من بصمة مخزن SQLite قبل إزالة الصفوف. العمليات متسلسلة كي لا تتداخل دفعتان في الوقت نفسه.
لم توثّق ملفات المشروع التي راجعتها خدمة تتبع أو إرسال بيانات إلى طرف ثالث. ما أمكن التحقق منه هو أن واجهات الإدارة محلية فقط وأن الوظيفة تعمل على مخازن DSH المحلية. هذا لا يساوي تدقيقًا أمنيًا مستقلًا، ولا يشمل سلوك DSH أو الإضافات الأخرى في بيئتك.
⚠️ القيود التي يجب معرفتها
- لا تستطيع تشغيل شاشة الإدارة من متصفح بعيد أو عبر LAN أو
dsh-remote-web-ui؛ الحظر مقصود لأن الأداة قادرة على حذف بيانات محلية. - الجلسات ذات البيانات الوصفية غير المكتملة تُعلَّم وتُستبعد من التدفقات التلقائية، فتحتاج قرارًا يدويًا.
- الحذف الفعلي غير قابل للتراجع، ولا توقف الإضافة جلسة جارية بالقوة.
- المرفقات داخل
$DSH_HOME/attachmentsمشتركة ومبنية على المحتوى؛ الإضافة لا تجمع المرفقات اليتيمة ولا تعد بتحرير كل المساحة المقدّرة. - وقت الأرشفة القديم المجهول لا يُستخدم للحذف التلقائي.
- هذه بطاقة شرح مبنية على الوثائق وبيان الحزمة، وليست اختبارًا لحذف بيانات حقيقية على جهاز إنتاج.
📚 المصادر وتاريخ التحقق
- المستودع الأصلي dsh-web — النجوم والتفرعات والنشاط، فُحص في 28 سبتمبر 2026.
- README العربية الرسمية للإضافة — الميزات والتثبيت والإعدادات والأمان والقيود، فُحصت في 28 سبتمبر 2026.
- بيان package.json الرسمي — الإصدار والمحركات والاعتمادات والترخيص، فُحص في 28 سبتمبر 2026.
- سجل تغييرات مجلد الإضافة — آخر نشاط وإصدارات الحزمة، فُحص في 28 سبتمبر 2026.
وقت الفحص أظهر GitHub نحو 8.1 آلاف نجمة و555 تفرعًا للمستودع الأم. النجوم والتفرعات تخص مستودع dsh-web كاملًا، لا الإضافة وحدها، وهي لقطة وقتية قد تتغير.