DeepSeek Harness: طبقة بناء الـAgents القابلة للتركيب للمطورين
عندما تُشرع في بناء وكيل برمجي (Coding Agent)، تواجه غالبًا إما أنظمة مغلقة جاهزة تحجز لك التحكّم، أو بُنى معقّدة يصعب دمجها مع سير العمل الحالي. تقنية DeepSeek Harness — وتُختصر غالبًا إلى dsh — تسير في الطريق المعاكس: بدلًا من أن يكون الوكيل مفاعلًا واحدًا مغلقًا، تُعطي المطوّر طبقة تتيح بناء الـAgent كنظام قابِل للتركيب من مكونات مستقلة.
الفكرة في صلبها مباشرة: كل شيء داخل DeepSeek Harness هو Plugin. هذا يعني أنَّك عندما تعمل مع المشروع لا تتعامل مع مفاعل مغلق، بل مع مجموعة من الـPlugins قابلة للتبديل والتركيب والاستبدال — وتضم النماذج، الأدوات، المهارات، الجلسات، الـSandboxes، التخزين، حلقة عمل الـAgent، الجدولة، وواجهة المستخدم (UI). وكل واحد من هذه المكوّنات هو Plugin به واجهة محدّدة.
مشروع DeepSeek Harness مفتوح المصدر — يمكن فتحه، قراءته، الفهم، بناء إضافة عليه، أو إدماجه كجزء من سير عمل موجود. وصل المستودع حتى وقت كتابة هذا المقال إلى أكثر من 197 ألف نجمة على GitHub (حتى 26 أغسطس 2026)، رقم يعكس اهتمامًا واسعًا من مطوّرين يبحثون عن طريقة عملية لأنظمتهم الخاصة دون الاعتماد على منصات مغلقة.
كيف يعمل؟ كل شيء Plugin
البنية الأساسية التي يقف عليها DeepSeek Harness تُسمّى Cordis — وهي الطبقة التي توفّر الآلية التي تربط الـPlugins ببعضها، وتدير دورة الحياة، وتسمح بتبديل مكوّن أو إضافة مكوّن جديد دون اللزوم إعادة كتابة النظام كله.
في التطبيق العملي، هذا يعني أنَّ المطوّر الذي يريد بناء وكيل برمجي ليس ملزمًا بأن يبدأ من الصفر أو أن يقع في حلقة أدوات مغلقة. يكفي أن يقرّر كيفية تبعية النظام عبر Plugins، وأن يدير مكوّنات محدّدة:
- تبديل نموذج (Model) بواسطة Plugin واحد — أي تجربة عدة نماذج أو تبديل جهاز دون تغيير باقي البنية.
- أدوات (Tools) كـPlugins مستقلة — قراءة ملفات، تشغيل أوامر، بحث في قاعدة الكود، وغيرها.
- مهارات (Skills) كوحدات قابلة للتركيب تتعلّم أو تُفعَّل حسب السياق.
- الجلسات (Sessions) — كيف تُخزَّن وتُدار عبر Plugin للتخزين.
- الـSandboxes كـPlugins — عزل بيئة التنفيذ وضمان أن الأدوات لا تتجاوز حدودًا محددة.
- حلقة الـAgent Loop — مسار خاص يحكم كيف يخطّط الوكيل، كيف يرى النتائج، وكيف يقرّر الخطوة التالية.
- الجدولة (Scheduling) — تشغيل المهام المتكرّرة عبر Plugin مخصص.
- الواجهة (UI) كـPlugin — قدرة ربط الواجهة التي يفضّلها المطوّر دون تعديل النظام الأساسي.
كيف تُشغِّلها؟
الأمر الذي يُفترَض به المشروع لإطلاق الواجهة هو:
npx @deepseek-ai/dsh web
بهذه الطريقة تُفتح واجهة الـWeb الخاصة بـDeepSeek Harness — وهي نقطة انطلاق للمطوّر لرؤية الـPlugins، إدارة الجلسات، وتجربة كيف تتفاعل المكوّنات في بيئة تفاعلية. للمطوّرين المهتمين بالبناء على المشروع أو إضافة مكوّنات خاصة، يوفر المستودع البوابة اللازمة سواء عبر npx كإجراء سريع أو بتنزيل الكود وبناء الـPlugins الخاصّة بهم.
لماذا هذا النهج مهم في الواقع؟
الوكلاء البرمجيون اليوم يُقدَّمون إما كمجموعة أدوات جاهزة مغلقة، أو كنظام منفصل يصعب دمجه مع أيّ شيء آخر. هذا يخلق تبعية غير ضرورية: المطوّر يعلق على منصة أو إطار معيّن، وتبديل مكوّن واحد يتطلب إعادة هندسة أجزاء أخرى من النظام.
طريقة DeepSeek Harness تقلّب هذه المعادلة. بدلًا من أن يكون الوكيل مفاعلًا أسود، يصبح إطارًا مكوّنًا من أجزاء معروفة الوسائط — يمكن استبدالها أو تمديدها حسب السياق. هذا مهم في ثلاثة أمثلة واقعية:
- مطوّرون يريدون مواكبة تطور النماذج بسرعة — يستبدلون الـPlugin الخاص بالنموذج دون لمس باقي المكوّنات.
- مطوّرون يحتاجون بيئات معزولة (Sandboxes) لضمان الأمان — يُفعِّلونها كـPlugin مستقلّ عن بقية النظام.
- مطوّرون يريدون حلقة عمل Agents مخصّصة تتوافق مع سير عملهم الحالي — يبنون حلقة الـLoop كـPlugin دون إعادة كتابة الواجهة أو التخزين.
للتوضيح: هذا لا يعني أنَّ المشروع ناضج للإنتاج بالكامل اليوم. في الوقت الحالي، يُصنَّف DeepSeek Harness كـ نسخة معمرة للمطوّرين (Developer Preview) — أي أنَّ البنية الأساسية واضحة والـPlugins تعمل، لكن ليس كل الخصائص والمسارات جاهزة بنفس مستوى النضج الأعلى. هذا طبيعي في مرحلة كهذه، وهو يوحي أن الفريق يفتح البنية للمطوّرين قبل أن تغلق خلف واجهات غير قابلة للتمديد.
للمطوّر العربي أو المطوّر في الخليج الذي يبحث عن أداة عملية لبناء أنظمته الخاصة، الأمر يبدأ بهذين الرابطين:
→ مستودع DeepSeek Harness على GitHub
→ الصفحة الرسمية لـDeepSeek Harness
قبل اعتماد أي نظام أو مقارنته بأدوات أخرى، افحص الكود، جرّب الواجهة بنفسك، واقرأ ما ينشره الفريق والمطوّرون على GitHub مباشرة. هذه هي الطريقة الموثوقة لفهم ما تقدّمه أداة في مرحلة معمرة.