dsh-better-sidebar
نشط ومستقريعمل محلياً ✓بدون اشتراك APIمساحة عمل جانبية لـDeepSeek Harness تجمع تصفح الملفات وتحريرها ومراجعة التغييرات والمهام والمحادثات الجانبية داخل كل جلسة.
dsh plugin --profile web add dsh-better-sidebar@latestالاستخدام المثالي لهذه الأداة
تناسب مطورًا يستخدم DeepSeek Harness ويريد مراجعة ملفات الجلسة وتغييراتها والمهام المتوازية دون مغادرة المحادثة. تضيف سياقًا واضحًا لكل جلسة وتفصل أسئلة Side Chat عن المسار الرئيسي. لا تناسب من يريد IDE كاملًا مستقلًا أو يستخدم إصدار DSH أقدم من خط التوافق الموثق.
التفاصيل والميزات المصورة
عندما تعمل داخل DeepSeek Harness قد تضطر إلى القفز بين المحادثة، والطرفية، ومحرر الملفات، ونافذة Git كي تفهم ما فعله الوكيل. dsh-better-sidebar يحوّل جانب واجهة DSH إلى مساحة عمل مرتبطة بكل جلسة: تتصفح الملفات وتحرر النصوص، تراجع تغييرات Git وما غيّرته الجلسة، تتابع الوكلاء والمهام الخلفية، وتفتح سؤالًا جانبيًا دون خلطه بالمحادثة الأساسية. القيمة ليست أنها تستبدل بيئة التطوير بالكامل، بل أنها تجمع الأدوات المرتبطة بسياق الجلسة في مكان واحد وتساعدك على رؤية ما يحدث قبل اعتماد التغيير.
🧭 ما dsh-better-sidebar وكيف تعمل؟
هي إضافة Web لواجهة DeepSeek Harness وحزمة npm رسمية باسم dsh-better-sidebar. منذ الإصدار 0.19.0 تسجل تبويباتها داخل واجهة الشريط الجانبي الأصلية في DSH عبر خدمات sidebarRight، وتحتفظ بلوحة سفلية خاصة بها يمكن تقسيمها. لكل جلسة ترتيبها وتبويباتها وحالة لوحاتها، وتُحفظ حالة الواجهة محليًا في المتصفح. تتكون الحزمة من جزء host يوفر مسارات للملفات والمعاينات وGit والرفع واتصالات WebSocket، وجزء React يعرض الواجهة.
الإصدار الحديث لا يكرر كل ما يقدمه DSH. فمعاينات الصور وPDF والجداول وOffice والطرفية والمتصفح تأتي من مكونات DSH الأصلية عندما تكون متاحة، بينما تحتفظ الإضافة بما يضيف قيمة فعلية: شجرة الملفات، محرر CodeMirror القابل للحفظ، معاينة Markdown وHTML، تبويب التغييرات، Side Chat، المهام، والواجهة التي تسمح لإضافات أخرى بتسجيل تبويبات جديدة.

🎯 كيف ستفيدك وما القيمة المضافة؟
تخيل أن الوكيل عدّل ملفات صلاحيات في مشروعك. من دون هذه الإضافة قد تطلب منه أسماء الملفات، تفتحها في محرر آخر، تنفذ git diff، ثم تعود للمحادثة لتسأله عن سبب التغيير. مع Better Sidebar تستطيع فتح الملف من المحادثة في الشريط الجانبي، قراءة الكود أو تعديله، الانتقال إلى تبويب Changes لرؤية فرق Git وما قرأته أو كتبته الجلسة، ثم فتح Side Chat لسؤال قصير مثل «لماذا تغير هذا الشرط؟» دون إدخال السؤال وإجابته في المسار الرئيسي.
القيمة المضافة هي وضوح سياق الجلسة: أي ملفات تخصها، ما الذي تغيّر، ما المهمة الخلفية التي ما زالت تعمل، وما السؤال الجانبي الذي يمكن فصله. هذا يقلل التنقل اليدوي بين الأدوات، لكنه لا يثبت صحة الكود ولا يلغي مراجعة الاختبارات أو Pull Request أو النسخ الاحتياطي قبل عمليات Git المؤثرة.
🌟 الميزات وطريقة استخدامها
1. شجرة ملفات ومحرر داخل الجلسة
يعرض File Workbench شجرة ملفات تُحمّل المجلدات عند فتحها، وتراقب المجلدات الموسعة لتحديثها عندما تتغير. يمكنك البحث عن اسم ملف، فتحه في تبويب مستقل أو في جزء جانبي، ونسخ مساره، أو استخدام زر @file لإضافته إلى مربع المحادثة. الملفات النصية والكود تفتح في CodeMirror مع تلوين الصيغة والحفظ، بينما تعرض معاينة Markdown الجداول وقوائم المهام والمعادلات وMermaid مع تعقيم إضافي.
- أين تجدها: تبويب Files أو عند فتح ملف من المحادثة.
- كيف تستخدمها: افتح مساحة العمل، وسّع المجلد، اختر الملف، عدّل النص ثم احفظ بـ
Ctrl/Cmd + S. - الفائدة: تراجع الملف بجانب حديث الوكيل بدل نقل السياق إلى محرر منفصل.
- انتبه: الحفظ يغيّر ملف المشروع فعليًا. شجرة الملفات تراقب المجلدات المفتوحة فقط ولا تفحص مساحة العمل كلها بصورة متكررة.

2. مراجعة Git وما فعلته الجلسة
يجمع تبويب Changes عدستين. عدسة Git تعرض الفروقات والسجل وتسمح بـstage وunstage وcommit وrevert مع اختيار worktree أو مستودع فرعي. وعدسة This Session تجمع أحداث الجلسة نفسها: الملفات التي قرأها النموذج أو كتبها أو عدلها، مع تجميع حسب الملف وفلاتر لنوع العملية. يؤدي اختيار تغيير إلى معاينة diff موحدة، ويمكن توسيعها إلى تبويب مستقل.
تخفي المعاينة افتراضيًا مسارات تشبه بيانات الاعتماد وقيمًا شبيهة بمفاتيح API أو Bearer tokens أو مفاتيح PEM. هذا الحجب للعرض فقط؛ سجل الجلسة والملف الأصلي لا يتغيران، وقد لا يتعرف النمط على كل سر.
- أين تجدها: تبويب Changes ثم Git أو This Session.
- كيف تستخدمها: ابدأ بـThis Session لمعرفة نطاق عمل الوكيل، ثم راجع Git diff قبل stage أو commit.
- الفائدة: تفرق بين «ما لمسه الوكيل في هذه الجلسة» و«كل الفروقات الموجودة في المستودع».
- انتبه: الإضافة لا توفر push أو pull أو fetch. كما أن stage وcommit وrevert أفعال حقيقية ويجب مراجعة الملفات قبل تنفيذها.

3. Side Chat والمهام الخلفية
Side Chat ميزة تجريبية تفتح خيطًا جانبيًا يرث السياق الكامل للمحادثة الأصلية، بما في ذلك الدور الجاري الذي يُجمّد بوصفه متوقفًا، ثم يعمل بصورة مستقلة ولا يضيف رسائله إلى المحادثة الرئيسية. يمكن مواصلة الأسئلة بعد إعادة تشغيل DSH، أو حفظ الخيط لاحقًا كجلسة مستقلة. يفيد ذلك عند سؤال توضيحي أو تحقيق صغير لا تريد أن يغيّر خطة المهمة الأصلية.
أما تبويب Tasks فيعرض شجرة الوكلاء الفرعيين والمهام الخلفية، وحالات التشغيل، والمخرجات الحية، ورموز الخروج، مع خيار إيقاف مهمة بالقوة. لا يعني ظهور المهمة أن نتيجتها صحيحة؛ هو عرض للحالة والتنفيذ.
- أين تجدها: تبويبا Side Chat وTasks في الشريط.
- كيف تستخدمها: افتح Side Chat لسؤال محدود، أو Tasks لمعرفة أي وكيل أو عملية ما زالت تعمل.
- الفائدة: تحافظ على تركيز المحادثة الرئيسية وترى العمل المتوازي في واجهة واحدة.
- انتبه: الخيط الجانبي يرث سياقًا واسعًا، لذلك لا تستخدمه لمعلومة لا تريد مشاركتها مع النموذج نفسه. وإيقاف المهمة بالقوة قد يترك عملية جزئية أو ملفات غير مكتملة.

4. قاعدة إضافات قابلة للتوسعة
لا تعمل Better Sidebar كتجميعة واجهة فقط؛ فهي تعرض خدمة ctx.betterSidebar التي تتيح لإضافات أخرى تسجيل تبويبات ومعاينات ملفات. تستخدم تبويباتها ومشاهدو الملفات المدمجون الواجهة نفسها التي تستخدمها إضافات الطرف الثالث. من الإعدادات يظهر كتالوج مقترح لإضافات مثل مراجعة الملفات، دفاتر Jupyter، معاينة الفيديو أو إدارة Git remotes، لكن كل إضافة مستقلة تحتاج فحص مصدرها وصلاحياتها قبل التثبيت.
الفائدة أن الشريط يمكن أن يصبح نقطة تجمع لأدوات مشروعك بدل إضافة واجهات عائمة متفرقة. والقيد أن زيادة الإضافات تزيد مساحة الثقة والتعارضات المحتملة؛ لا تثبت كل ما يظهر في الكتالوج تلقائيًا.
🪜 مثال استخدام خطوة بخطوة
مثال توضيحي لم أنفذه على مشروع فعلي: اطلب من وكيل DSH إصلاح تحقق صلاحية في API. بعد أن يبدأ، افتح Tasks لترى هل شغّل وكيلًا فرعيًا أو اختبارًا في الخلفية. افتح This Session لمعرفة الملفات التي قرأها وعدلها، ثم افتح ملف سياسة الصلاحيات في المحرر واقرأ الشرط الجديد. استخدم Side Chat واسأل «هل يتأثر دور المشرف بهذا التغيير؟» ثم عد إلى المسار الأساسي. راجع Git diff، شغّل اختبارات المشروع بالطريقة المعتادة، وبعد التأكد فقط قرر stage وcommit. إذا وجدت سرًا أو ملف إعداد حساسًا فلا تعتمد على حجب المعاينة وحده.
⚖️ ماذا تضيف مقارنة بالطريقة اليدوية؟
| العمل اليدوي | مع dsh-better-sidebar |
|---|---|
| تفتح محررًا منفصلًا ثم تبحث عن الملف | تفتح الملف من سياق الجلسة في الشريط |
تستخدم git diff وتفسر نطاق عمل الوكيل بنفسك | تفصل بين Git وبين أحداث This Session |
| تضع السؤال الجانبي في المحادثة الأساسية | تفتح Side Chat مستقلًا ثم تحفظه كجلسة عند الحاجة |
| تتابع الوكلاء والعمليات من رسائل متفرقة | تعرض Tasks الحالة والمخرجات ورمز الخروج |
| تبني لكل إضافة نافذتها الخاصة | تسجل الإضافات تبويبًا أو عارض ملفات في الخدمة المشتركة |
هذه مقارنة في طريقة الوصول إلى المعلومات، وليست قياسًا موثقًا لتوفير الوقت. إذا كان تعديلك صغيرًا وملفًا واحدًا فقد تكون الطرفية ومحررك المعتاد أبسط.
⚙️ الإعدادات المهمة
تظهر إعدادات الميزات داخل قسم Side Cards. تستطيع تعطيل كل تبويب أو عارض مستقلًا، وتفتح الإعدادات الثانوية من بطاقة الميزة. إعداد sidebar_open اختياري؛ عند تفعيله يستطيع النموذج فتح ملف أو مجلد أو رابط HTTP(S) في الشريط. أبقه مغلقًا إذا لم تحتج أن يغيّر النموذج ما يظهر في الواجهة.
يحمي workspaceFence مسارات الملفات بحيث تبقى عمليات القراءة والمعاينة داخل مجلد الجلسة؛ تعطيله يوسع النطاق ولا يُنصح به إلا عندما تفهم الأثر. معاينة HTML تعمل افتراضيًا داخل iframe معزول، ويوجد خياران غير آمنين htmlViewerNoSandbox وhtmlViewerDefaultUnsafe لتعطيل العزل أو جعله غير آمن افتراضيًا. اتركهما مغلقين للملفات غير الموثوقة. توجد أيضًا حدود للقراءة والوسائط والرفع والقوائم في إعدادات mount، لكنها تحتاج ضبطًا يناسب جهازك وحجم المشروع.
🚀 التثبيت والبدء
الإصدار الذي تحققت منه هو 0.21.1. يتطلب Node.js 20 أو أحدث، وDSH 0.1.7-rc.1 أو أحدث ضمن خط 0.1.7. يذكر README أيضًا pnpm 10 أو أحدث للتطوير أو التثبيت من المصدر. أمر التثبيت للحالة المدعومة هو:
dsh plugin --profile web add dsh-better-sidebar@latest
بعد انتهاء التثبيت نفذ تحديثًا قسريًا للمتصفح بـCmd/Ctrl + Shift + R. إذا كان ملف تعريفك لا يسمى web فاستبدل الاسم. مستخدمو DSH 0.1.6 أو أقدم يحتاجون إصدارًا أقدم متوافقًا مثل 0.19.1 بحسب جدول README؛ لا تثبت أحدث إصدار عشوائيًا على نسخة host قديمة. لم أنفذ الأمر هنا.
🔗 التوافق والمنصات واللغة والنشاط
الإضافة مخصصة لـDeepSeek Harness Web. يعلن المستودع دعم Windows وLinux وmacOS؛ يذكر أن macOS يُتحقق منه يوميًا، بينما تغطي الاختبارات Windows وLinux. عرض المتصفح داخل الشريط يعتمد على مكوّن DSH في ملف desktop فقط، وليس ملف Web. كما تعتمد معاينات PDF والصور وOffice والطرفية الحديثة على نسخة DSH، لا على الإضافة وحدها.
النصوص المدمجة الأساسية تتبع الصينية والإنجليزية، مع إضافة اختيارية لطبقات لغات أخرى. الرسوم العربية في هذه البطاقة شرح خارجي وليست دليلًا على تعريب رسمي للواجهة. آخر commit ظاهر وقت الفحص كان d641d2e بتاريخ 23 سبتمبر 2026 الساعة 16:03 UTC، وهو دمج إصدار 0.21.1؛ النشاط حديث لكنه لا يضمن خلو الإصدار من العيوب.
💰 التكلفة والتشغيل المحلي
الكود منشور بترخيص MIT، والحزمة نفسها لا تشترط API مدفوعًا. تعمل عمليات الملفات وGit والمعاينة على host الخاص بـDSH ومساحة العمل المسجلة. تكلفة نموذج الذكاء أو مزوده داخل DSH منفصلة، وقد تغادر البيانات جهازك بحسب إعداد النموذج حتى لو كانت واجهة الإضافة محلية.
في 26 سبتمبر 2026 عرض GitHub 3,754 نجمة و370 تفرعًا للمستودع. هذه مؤشرات شعبية متغيرة وليست تقييمًا للأمان أو الجودة. لم أستخدم رقم التنزيلات لأن صفحة npm المباشرة لم تتاح للفحص المستقل في هذه البيئة.
🔐 الخصوصية والصلاحيات والأمان
تحتاج الإضافة صلاحية قراءة ملفات مساحة الجلسة وكتابتها ورفع ملفات إليها، وتشغيل أوامر Git عبر CLI، وقراءة أحداث الجلسة وحالة الوكلاء والمهام. Side Chat ينسخ سياق المحادثة إلى خيط جديد، وThis Session يعرض سجل عمليات الملفات. تحفظ بعض حالة الواجهة وتفضيل الحجب في localStorage.
تحمي مسارات host بسياج Host header وبحدود مساحة العمل، وتكتب الملفات ذريًا. معاينة HTML الافتراضية تستخدم أصلًا معزولًا وسياسة CSP وصلاحيات متصفح معطلة، لكنها تصبح أقل أمانًا إذا فعّلت خيارات HTML غير الآمنة. إخفاء الأسرار في diff مفيد للعرض لكنه يعتمد أنماطًا وقد يفوّت قيمة حساسة. لا يعرض README عقد telemetry مستقلًا ترسله الإضافة؛ غياب التوثيق ليس ضمانًا بعدم وجود أي اتصال، خصوصًا عند فتح روابط أو صفحات ويب أو تثبيت إضافات أخرى.
⚠️ الحدود ومتى لا تستخدمها
- Git داخلها لا يدعم push أو pull أو fetch؛ استخدم أدوات Git المعتادة لهذه العمليات.
- معاينة HTML تعرض النسخة المحفوظة من الملف، لا مسودة غير محفوظة.
- شجرة الملفات تراقب المجلدات الموسعة فقط، ولا تطبق فحصًا recursive دائمًا لكل المشروع.
- المتصفح الجانبي يتطلب ملف DSH desktop، واللوحة السفلية لا تظهر على شاشة أقل من 768px؛ تنتقل التبويبات إلى الشريط الكامل.
- تعدد الإضافات المسجلة قد يسبب تعارضات أو يوسع الصلاحيات. لا تستخدم قناتين لتثبيت Better Sidebar معًا لأن ذلك قد يسبب double-mount.
- لا تجعلها بديلًا لمراجعة Pull Request أو الاختبارات أو النسخ الاحتياطي. وقد تكون زائدة إذا كنت تفضل IDE كاملًا وتحتاج DSH للمحادثة فقط.
📚 المصادر وتاريخ التحقق
تحققت في 26 سبتمبر 2026 من صفحة dsh-market، والمستودع الأصلي، وREADME الإنجليزي، وpackage.json، وترخيص MIT، وآخر commit للإصدار. لم أثبت الحزمة أو أجرّب عمليات التحرير وGit على مشروع فعلي.