أربع خطوات لمن يعملون في الطرفية. DeepSeek Harness (الأمر dsh) — هي بيئة DeepSeek مفتوحة قائمة على الوكلاء، وكل شيء فيها منظّم في صورة إضافات. وهي توصل خوادم MCP بوصفها عميلاً، مع تسجيل في ملف التعريف. ولا توجد هنا نافذة لتسجيل الدخول؛ إذ يُمرَّر الوصول بواسطة رمز شخصي.
اختُبر الدليل على الإصدار dsh 0.1.0-rc.7، وقد التُقطت لقطات الشاشة في واجهته على الويب.
| ما يلزم | العنوان (URL) |
|---|---|
| جميع قواعد البيانات المدفوعة، بما فيها الأقاليم | https://mcp.casus.legal/one/mcp |
اشتراك أو فترة تجريبية لقاعدة البيانات المطلوبة، ورمز شخصي بالشكل vasrf_conn_… من الحساب.
التثبيت بأمر واحد: npm i -g @deepseek-ai/dsh. يُنشأ ملف التعريف web تلقائياً عند التشغيل الأول dsh web.
يلزم مفتاح نموذج DeepSeek لإجابات الوكيل فقط؛ أما الموصل نفسه فيتصل بصورة مستقلة عنه.
افتح الحساب الشخصي، علامة التبويب «الموصلات»، الكتلة «البيئات الأخرى» واضغط «إصدار الرمز». ويظهر الرمز مرة واحدة.
احتفظ به في متغير البيئة، لا في نص الإعدادات، لأن ملفات التعريف يسهل أن تُدرج في النسخ الاحتياطية والمستودعات.
يظل الرمز ساريًا ما دام الاشتراك فعالًا، ويفتح جميع قواعد البيانات المدفوعة. أما الاتصالات المُعدّة بالفعل، Claude و ChatGPT فهو لا يتسبب في تعطيله.
تُحفظ تعديلات المستخدم على الملف التعريفي في الملف cordis.patch.yml في دليل الملف التعريفي. أما بالنسبة إلى الملف التعريفي للويب فهو ~/.dsh/profiles/web/cordis.patch.yml. أما المجاور cordis.yml — فهو جذر الملف التعريفي، ولا يُعدَّل، كما هو موضح أيضاً في الملف نفسه.
تُضاف الإدخالة الجديدة عبر insert. هذه هي النقطة الأهم. فالتصحيح من دون insert يُعدّ تعديلاً لإدخالة موجودة، ولذلك dsh سيتجاهله بصمت مع إصدار تحذير patch: entry … not found.
~/.dsh/profiles/web/cordis.patch.yml
عنوان الاتصال هو — https://mcp.casus.legal/one/mcp. وهذا عنوان موحّد: يتيح الوصول من خلاله إلى جميع قواعد البيانات التي دفعتم اشتراكها، وتختار الشبكة العصبية اللازمة بنفسها وفقاً لموضوع السؤال. وإذا كنتم بحاجة إلى موصّل لِـ قاعدة بيانات واحدة ، فهناك أيضاً عناوين منفصلة (IP Court — https://sip.casus.legal/mcp، وKAS — https://kas.casus.legal/mcp، وKUD — https://kud.casus.legal/mcp), لكن يجب عندئذٍ أن يتطابق العنوان مع قاعدة البيانات المشترك فيها، وإلا فسيرد الخادم بالرسالة «الاشتراك غير نشط أو منتهٍ». لا حاجة إلى استخدام العنوان الموحّد والعناوين المنفصلة في الوقت نفسه: إذ سترى الشبكة العصبية مجموعتي أدوات متطابقتين وستجري البحث مرتين. ويَرِد الجدول الكامل للعناوين أدناه، بعد الخطوات.
في serverName يُسمح باستخدام الأحرف اللاتينية والأرقام والواصلة والشرطة السفلية، بحد أقصى 32 محرفاً، ويجب أن تكون القيمة فريدة بين الخوادم المتصلة. وتُشتق منها أسماء الأدوات mcp__casuslegal__….
إذا كنت تحتاج إلى عدة قواعد، فأضف إلى القائمة نفسها كتلةً لكل قاعدة، مع تغيير id, serverName والعنوان من الجدول أدناه. أما الرمز المميز فيبقى واحداً في جميع الكتل.
تطبع أداة منفصلة إعدادات الملف التعريفي المُجمَّعة. ولا تُشغِّل البيئة أثناء ذلك:
في نهاية المخرجات، يجب أن تظهر إدخالتك مع وسم المصدر # == ~/.dsh/profiles/web/cordis.patch.yml. وإذا طُبع بدلاً منها تحذير patch: entry … not found، فهذا يعني فقدان insert من الخطوة 2.
شغّل البيئة: dsh web — ستشغّل واجهة ويب محلية وتطبع عنوانها.

افتح Settings → Plugins: تجمع هذه الصفحة المكوّنات الإضافية للنسخة المثبتة.

انتقل إلى علامة التبويب Plugin list وأدخل في البحث mcp. الإدخالة mcp-client في حالة Enabled تعني أن العميل مركَّب ويتصل بخادمنا.

بعد ذلك، اطرح على الوكيل سؤالاً موضوعياً، مثل: «اعثر على اجتهادات المحكمة العليا للاتحاد الروسي بشأن تخفيض الغرامة الاتفاقية بموجب المادة 333 من القانون المدني للاتحاد الروسي». وستصل أدوات الموصل إلى النموذج تحت أسماء mcp__casuslegal__….
| قاعدة البيانات | serverName | العنوان (url) |
|---|---|---|
| جميع قواعد البيانات المشترك فيها دفعة واحدة | casuslegal | https://mcp.casus.legal/one/mcp |
| دوائر النقض (جميعها) | casuslegal_okruga | https://mcp.casus.legal/okrug/mcp |
| المحاكم العليا: المحكمة الدستورية · المحكمة العليا · المحكمة العليا للتحكيم | casuslegal | https://mcp.casus.legal/mcp |
| محكمة حقوق الملكية الفكرية (IP Court) | casuslegal_sip | https://sip.casus.legal/mcp |
| القضايا الإدارية (KAS · الدائرة القضائية للقضايا الإدارية بالمحكمة العليا للاتحاد الروسي) | casuslegal_kas | https://kas.casus.legal/mcp |
| القضايا الجنائية (KUD · الدائرة القضائية للقضايا الجنائية بالمحكمة العليا للاتحاد الروسي) | casuslegal_kud | https://kud.casus.legal/mcp |
| الحقل | الغرض |
|---|---|
| toolCallTimeoutMs | مهلة استدعاء أداة واحدة. القيمة الافتراضية 60 000 مللي ثانية؛ وللبحث في مجموعة الوثائق، اضبطها على 180 000. |
| failOnStartupError | عند ضبط القيمة على true لن تُشغَّل النسخة إذا كان الموصل غير متاح. وهذا مفيد لتجنب العمل «من دون اجتهادات» من غير أن تلاحظ ذلك. |
| reconnect.enabled | إعادة الاتصال تلقائياً بعد انقطاع الاتصال. مفعّلة افتراضياً. |
فُقد في التصحيح insert. ومن دونه تُعدّ الإدخالة تعديلاً لمكوّن إضافي موجود يحمل هذا id، و dsh يتجاهلها. وعندئذ لا يظهر الموصل ببساطة، من دون خطأ واضح.
راجع الكتلة الواردة في الخطوة 2 وأعد المحاولة dsh --profile web --dump-config.
يُفعَّل العميل حتى عند فشل الاتصال، وهذا مقصود: يجب ألا تتعطل النسخة بسبب عدم توفر الخادم. تحقق من أن المتغير CASUSLEGAL_TOKEN مرئي للعملية، أي أنه مُصدَّر في الصدفة نفسها التي يُشغَّل منها dsh.
ولكي تظهر هذه الحالات فوراً، اضبط في الإعدادات failOnStartupError: true.
فقط streamable-http. يعمل عنواننا عبر Streamable HTTP؛ أما مع القيمة sse أو stdio فلا يُنشأ الاتصال.
يستغرق البحث الواحد في مجموعة الوثائق نحو 30 ثانية، كما أن السؤال المعقد يطلق عدة عمليات بحث متتالية. ولا تكفي المهلة القياسية البالغة 60 000 مللي ثانية لذلك؛ اضبطها على toolCallTimeoutMs: 180000.
افتح علامة التبويب «Connectors» في الحساب الشخصي وتحقق من مدة الاشتراك في قاعدة البيانات المطلوبة. تُدفع رسوم كل مجموعة وثائق على حدة، وتدخل «المحاكم العليا» في أي باقة.
لن يظهر مرة أخرى. أصدر رمزاً جديداً من حسابك واستبدل قيمة متغير البيئة؛ ولن تنقطع الاتصالات السابقة بسبب ذلك.