تثبيت DeepSeek Harness يأخذ أمرًا واحدًا. بعد ثلاثين ثانية، ستجد نفسك أمام واجهة جميلة وفارغة تمامًا على http://127.0.0.1:3080، ولم يخبرك أحد بما تفعل بعد ذلك.
ملف README مشهور بكونه خفيفًا. الورقة البحثية Cordis التي يربط لها تتحدث عن قابلية التركيب المكاني-الزماني. أنت فقط أردت الأداة أن تقرأ شفرتك.
هذا الدليل يبدأ من تلك الشاشة الفارغة. ستحصل على أمر التثبيت، نعم، لكن الجزء الذي يكلفك حقًا بعد ظهر يوم هو ربط مزود نموذج، وهناك ثلاث قيم افتراضية في تلك الخطوة تفسد نماذج DeepSeek بهدوء وتتجاهل 75% من نافذة السياق الخاصة بك. تقريبًا لا أحد يوثقها.
الخلاصات الرئيسية
npx @deepseek-ai/dsh webهو التثبيت بالكامل. الشرط المسبق الوحيد هو Node.js^22.19.0أو>=24.0.0.- DeepSeek Harness هو هيكل (harness) وليس نموذجًا. لا يأتي مع أي بيانات اعتماد، لذا فهو لا يفعل شيئًا حتى ترفق مزودًا.
- أي نقطة نهاية متوافقة مع OpenAI تعمل، بما في ذلك واجهة برمجة تطبيقات DeepSeek نفسها، أو بوابة (gateway)، أو خادم Ollama محلي.
- عند إضافة مزود مخصص، يخمن الهيكل لهجة التفكير من عنوان URL الأساسي الخاص بك. إذا خمن خطأ، فإن
reasoning_contentيتعطل. - النماذج المعلنة يدويًا تفترض افتراضيًا نافذة سياق بحجم 262,144، لذا تظل نافذة V4 الكاملة البالغة 1,048,576 متوقفة حتى تقول خلاف ذلك.

طرفية تظهر اختبارات خضراء ناجحة بجانب هيكل معياري متوهج، توضح كيفية تثبيت DeepSeek Harness
النسخة السريعة (60 ثانية) لما تقوم ببنائه
هذه هي المكافأة قبل أي نظرية. ثلاثة ملفات في مجلد فارغ، موجه (prompt) واحد للصق، ويقرأ الوكيل الشفرة، ويشغل pytest، ويشاهد اختبارين يفشلان، ويغير حرفًا واحدًا، ويعيد التشغيل حتى تصبح المجموعة خضراء.

DeepSeek Harness يقرأ fizzbuzz.py، ويشغل pytest، ويصلح خطأ off-by-one ويعيد التشغيل حتى 3 ناجحة
الحلقة الكاملة: اقرأ، شغّل، شخصّن، صحّح، أعد التشغيل. كل خطوة منها تُسجل في سجل جلسة قابل للإلحاق فقط يمكنك إعادة تشغيله لاحقًا.
هذا هو العرض التوضيحي الذي سنبنيه معًا في الخطوة 6. إنه صغير عمدًا بحيث يمكن إعادة إنتاجه في دليل مؤقت، ولا يعتمد على أي مستودع خارجي قد يتغير الأسبوع القادم.
لماذا تفشل معظم محاولات تثبيت DeepSeek Harness في الخطوة الثانية
التثبيت حقًا تافه. يحدث التوقف مباشرة بعد ذلك، وهو قرار تصميم وليس خطأ: DeepSeek Harness لا يأتي بمفاتيح، ولا مزود افتراضي، ولا نموذج مرفق.
قامت DeepSeek بنشر المشروع كمصدر مفتوح في 13 أغسطس 2026 تحت رخصة MIT، وحقق انتشارًا عموديًا. اعتبارًا من 17 أغسطس 2026، المستودع لديه 144,361 نجمة و 14,689 fork (GitHub، أغسطس 2026)، وهذا يعني الكثير من الأشخاص يصلون إلى نفس الشاشة الفارغة في نفس الأسبوع.
يُظهر موضوع Hacker News من أسبوع الإطلاق ردود الفعل المنقسمة. الناس يحبون الشفافية: كل شيء يراه النموذج يُسجل في سجل جلسة قابل للإلحاق فقط، وأشار أحد المعلقين إلى أن "النماذج الأمريكية لن تسمح لك برؤية ذلك". الشكاوى متسقة أيضًا. "الملف README فارغ جدًا بخلاف تعليمات التثبيت"، كتب أحد المطورين، ووصفت الورقة البحثية Cordis بأنها "سلطة كلمات" (Hacker News، أغسطس 2026).
لذا فإن الأشياء الأربعة التي تعيق الناس حقًا هي جميعها بعد التثبيت:
- Node قديم جدًا، لذا يفشل
npxقبل أن يبدأ أي شيء. - المنفذ 3080 مشغول بالفعل بواسطة خادم تطوير آخر.
- المزود المخصص يُرجع 401، أو قائمة النماذج تعود فارغة.
- يتصل النموذج لكن مخرجات التفكير تصل مشوهة، أو الملفات الطويلة تنفد نافذة السياق مبكرًا.
الخطوات من 1 إلى 5 أدناه تستهدف هذه الأربعة تحديدًا.
قبل تثبيت DeepSeek Harness: اختر نموذجًا ومفتاحًا
قرر أولاً: الهيكل نفسه مجاني ومحلي، لكنه لن يفعل شيئًا مفيدًا حتى تعطيه عنوان URL أساسيًا متوافقًا مع OpenAI، ومفتاحًا، ومعرف نموذج واحد على الأقل. قرر هذا قبل التثبيت وسيستغرق الإعداد الكامل عشر دقائق.
كل شيء يحدث في علامة تبويب متصفح واحدة على 127.0.0.1:3080. أنت تختار بين ثلاثة مسارات، وكلها تعمل.
الجدول ب: خيارات الوصول إلى النماذج التي تعمل مع DeepSeek Harness اليوم
| المسار | عنوان URL الأساسي | السعر لكل مليون رمز | السياق | الدفع | الأفضل لـ |
|---|---|---|---|---|---|
| واجهة برمجة تطبيقات DeepSeek الرسمية | https://api.deepseek.com | V4-Flash $0.22 دخول / $0.66 خروج خارج أوقات الذروة، $0.44 / $1.32 أوقات الذروة. ضربات الكاش من $0.007 | 1M | يختلف حسب المنطقة | سلوك الطرف الأول، ضربات كاش رخيصة جدًا |
| بوابة متوافقة مع OpenAI (مثال: Atlas Cloud) | https://api.atlascloud.ai/v1 | V4-Flash $0.14 دخول / $0.28 خروج. V4-Pro $1.68 / $3.38 | 1,048,576 | بطاقة، لا حد أدنى للإنفاق | أسعار ثابتة بدون رسوم إضافية في أوقات الذروة |
| خادم Ollama المحلي | http://localhost:11434/v1 | لا تكلفة رمزية | يعتمد على النموذج | لا شيء | الكود الخاص، العمل دون اتصال |
شيئان يستحقان المعرفة قبل أن تختار. انتقلت واجهة برمجة تطبيقات DeepSeek الطرف الأول إلى الفوترة حسب أوقات الذروة وخارجها، حيث تكون ساعات الذروة من 01:00 إلى 04:00 ومن 06:00 إلى 10:00 بالتوقيت العالمي المنسق، وخارج أوقات الذروة يكون النصف تمامًا من أوقات الذروة (وثائق واجهة برمجة تطبيقات DeepSeek، أغسطس 2026). أسعار إدخال ضربات الكاش منخفضة جدًا، لذا فإن عبء العمل الذي يعيد قراءة نفس السياق بشكل متكرر يمكن أن يكون رخيصًا جدًا مع الطرف الأول.
تستبدل البوابة ذلك بالقدرة على التنبؤ. Atlas Cloud يخدم نفس نماذج DeepSeek بسعر ثابت بدون رسوم إضافية في أوقات الذروة وبدون اشتراك، وهو المثال الذي سأستخدمه في الإعداد أدناه لأنه لا يحتاج إلى طريقة دفع إقليمية. استبدل بأي مسار يناسب حالتك؛ شكل التكوين متطابق لجميعها.
كيفية تثبيت DeepSeek Harness، خطوة بخطوة
هناك ثلاث طرق. اختر صفًا، ثم اتبع الخطوات.
الجدول أ: مقارنة طرق التثبيت
| الطريقة | الوقت | يحتاج إلى | الترقيات | الأفضل لـ |
|---|---|---|---|---|
| npx | أقل من دقيقة | Node 22.19+ أو 24+ | إعادة تشغيل npx | الجميع تقريبًا |
| من المصدر | 5 إلى 10 دقائق | Node, pnpm, git | git pull و rebuild | المساهمون، مؤلفو الإضافات |
| الإصدار المكتبي | حوالي دقيقة | لا شيء | إعادة التثبيت | أي شخص يتجنب تثبيت Node |
الخطوة 1: التحقق من المتطلبات الأساسية قبل تثبيت DeepSeek Harness
الفشل الأكثر شيوعًا هو إصدار Node يبدو حديثًا بما يكفي لكنه ليس كذلك. يتطلب المستودع ^22.19.0 || >=24.0.0. لا شيء على سلسلة 23.x مؤهل بأي مستوى تصحيح.
bash1node -v # يجب أن يكون >= 22.19.0 على 22.x، أو >= 24.0.0 2npm -v 3
إذا طبع node -v 22.14 أو 20.x، قم بالترقية قبل المتابعة. ستحتاج فقط إلى pnpm إذا كنت تخطط للبناء من المصدر أو تأليف إضافات:
bash1npm install -g pnpm 2
الخطوة 2: تثبيت DeepSeek Harness بأمر واحد
هذا هو التثبيت بالكامل. يقوم بتنزيل وتشغيل الملف الشخصي (profile) للويب في أمر واحد.
bash1npx @deepseek-ai/dsh web 2
افتح http://127.0.0.1:3080. إذا كان هذا المنفذ مشغولًا بالفعل، فإن المشغل (launcher) يمرر أي أعلام لا يتعرف عليها مباشرة إلى الملف الشخصي، لذا يمكنك نقله:
bash1npx @deepseek-ai/dsh web --port 8080 2
ما تحصل عليه هو قشرة فارغة. لا مزود، لا نموذج، لا مفتاح. هذا متوقع، وهنا تتوقف معظم الأدلة.

واجهة الويب لـ DeepSeek Harness على 127.0.0.1:3080 مباشرة بعد التثبيت، بدون تكوين مزود أو نموذج
اكتمل التثبيت، وخامل تمامًا. كل شيء من هنا هو توصيل.
الخطوة 3: الحصول على مفتاح واجهة برمجة تطبيقات لـ DeepSeek Harness
أيًا كان المسار الذي اخترته من الجدول ب، فأنت بحاجة إلى مفتاح وعنوان URL أساسي. للمسار الرسمي، سجل في platform.deepseek.com وأنشئ مفتاحًا هناك. تختلف خيارات الفوترة حسب المنطقة، لذا تحقق من أن طريقة الدفع الخاصة بك مدعومة قبل الالتزام بها.
بالنسبة لمسار البوابة المستخدم في هذا الدليل، أنشئ مفتاحًا في لوحة تحكم Atlas Cloud ضمن مفاتيح API، ثم قم بتصديره حتى يتمكن الهيكل من قراءته دون تخزينه في ملف إعدادات:
bash1export ATLASCLOUD_API_KEY="sk-your-key-here" 2

صفحة مفاتيح API في لوحة تحكم Atlas Cloud مع مفتاح تم إنشاؤه حديثًا، مقنع جزئيًا
انسخ المفتاح مرة واحدة. لن يظهر مرة أخرى بعد مغادرة الصفحة.
الخطوة 4: إضافة مزود النموذج الخاص بك إلى DeepSeek Harness
في الواجهة، اذهب إلى الإعدادات، ثم النماذج، ثم إضافة مزود مخصص. النموذج يحتاج إلى معرف مزود، واسم عرض، وعنوان URL أساسي، وبروتوكول API، وبيانات اعتماد، ونموذج واحد على الأقل.
تحذير واحد تكرره الوثائق بحق: معرف المزود دائم. يتم كتابته في الطلبات، والجلسات المحفوظة، وإعدادات النموذج الافتراضية، ومراجع بيانات الاعتماد. إذا كرهته لاحقًا، خيارك الوحيد هو إنشاء مزود جديد وحذف القديم.
| الحقل | ما يجب إدخاله |
|---|---|
| معرف المزود | atlas (أحرف صغيرة، دائم) |
| اسم العرض | Atlas Cloud |
| عنوان URL الأساسي | https://api.atlascloud.ai/v1 |
| بروتوكول API | openai-completions |
| مفتاح API | مفتاحك الخاص |
| النماذج | انقر جلب النماذج المتاحة، أو اكتب deepseek-ai/deepseek-v4-flash يدويًا |
إذا أعاد جلب النماذج خطأ 401، فالمفتاح خاطئ. إذا أعاد قائمة فارغة، فإن نقطة النهاية ببساطة لا تعرض فهرس النماذج، وهذا غير ضار: اكتب معرف النموذج يدويًا وتابع.

نموذج إضافة مزود مخصص مملوء، مع تحديد عنوان URL الأساسي وبروتوكول API والتحكم في جلب النماذج
الحقول الثلاثة التي تحدد ما إذا كانت الخطوة التالية تعمل: عنوان URL الأساسي، والبروتوكول، وقائمة النماذج.
الخطوة 5: الإعدادات الافتراضية الثلاثة لـ DeepSeek Harness التي تفسد نماذج DeepSeek بهدوء
هذا هو الجزء الذي لا يغطيه أي دليل تثبيت آخر، وهو السبب في أن إعدادك قد يبدو متصلاً لكنه يتصرف بشكل غريب.
تستنتج طبقة LLM في الهيكل أي لهجة تفكير يجب التحدث بها من عنوان URL لنقطة النهاية الخاصة بك. الوثائق الداخلية صريحة بشأن العواقب: "يخمن pi-ai من عنوان URL لنقطة النهاية؛ عنوان URL لبوابة خاصة لا يقول شيئًا، لذا سيتم التحدث إلى بوابة لهجة DeepSeek بلهجة OpenAI دون طريقة لتصحيح ذلك." بعبارات بسيطة، أي عنوان URL أساسي ليس من الواضح أنه DeepSeek يتم معاملته على أنه OpenAI، وتتعامل معالجة reasoning_content الخاصة بـ DeepSeek بشكل خاطئ.
المصائد الثانية والثالثة هي السعة. نموذج أعلنته يدويًا يقع في defaultContextWindow بقيمة 262,144 و defaultMaxTokens بقيمة 32,768. يدعم V4 سياقًا بحجم 1,048,576 رمزًا، لذا فإن قبول الافتراضي يتجاهل ثلاثة أرباعه.
اكتب هذه في ملف الإعدادات الخاص بك:
yaml1# $DSH_HOME/settings.yaml (الافتراضي هو ~/.dsh/settings.yaml) 2llm-pi-ai: 3 providers: 4 atlas: 5 displayName: Atlas Cloud 6 api: openai-completions 7 baseURL: https://api.atlascloud.ai/v1 8 apiKeyEnv: ATLASCLOUD_API_KEY 9 compat: 10 thinkingFormat: deepseek # 1. أوقف التخمين المستند إلى عنوان URL 11 defaultContextWindow: 1048576 # 2. الافتراضي هو 262144 فقط 12 defaultMaxTokens: 32768 # 3. ارفع للمهام ذات المخرجات الطويلة 13 models: 14 - id: deepseek-ai/deepseek-v4-flash 15 contextWindow: 1048576 16 - id: deepseek-ai/deepseek-v4-pro 17 contextWindow: 1048576 18
ثلاثة أشياء يجب تذكرها. تحل الإعدادات النموذج أولاً، ثم المسار، ثم إدخال الكتالوج المثبت، ثم التخمين المشتق من عنوان URL، لذا فإن القيمة لكل نموذج تفوز دائمًا. كلا مفتاحي compat، thinkingFormat و supportsReasoningEffort، موجودان فقط تحت openai-completions؛ ضعهما على بروتوكول آخر وسيفشل الحل. وهذا المحول لا يغطي عمدًا Bedrock أو Vertex أو Azure أو Codex، التي تحتاج تدفقات المصادقة الخاصة بها إلى أكثر من مفتاح ونقطة نهاية ورؤوس.
الخطوة 6: تشغيل أول مهمة حقيقية في DeepSeek Harness
الآن العرض التوضيحي من أعلى هذه المقالة. أنشئ مجلدًا فارغًا وأضف ثلاثة ملفات.
fizzbuzz.py، يحتوي على خطأ off-by-one واحد:
python1def fizzbuzz(n): 2 out = [] 3 for i in range(1, n): 4 if i % 15 == 0: 5 out.append("FizzBuzz") 6 elif i % 3 == 0: 7 out.append("Fizz") 8 elif i % 5 == 0: 9 out.append("Buzz") 10 else: 11 out.append(str(i)) 12 return out 13
test_fizzbuzz.py، حيث يفشل اثنان من ثلاثة اختبارات:
python1from fizzbuzz import fizzbuzz 2 3def test_starts_correctly(): 4 assert fizzbuzz(5)[:3] == ["1", "2", "Fizz"] 5 6def test_covers_every_number(): 7 assert len(fizzbuzz(15)) == 15 8 9def test_fifteen_is_fizzbuzz(): 10 assert fizzbuzz(15)[-1] == "FizzBuzz" 11
و requirements.txt:
text1pytest>=8.0 2
تشغيل المجموعة يدويًا أولاً يستحق العناء، حتى تعرف ما يدخل إليه الوكيل:
text1.FF [100%] 2=================================== FAILURES =================================== 3___________________________ test_covers_every_number ___________________________ 4E AssertionError: assert 14 == 15 5___________________________ test_fifteen_is_fizzbuzz ___________________________ 6E AssertionError: assert '14' == 'FizzBuzz' 7=========================== short test summary info ============================ 82 failed, 1 passed in 0.01s 9
اضبط وضع الوكيل على Standard والنموذج على deepseek-ai/deepseek-v4-flash، ثم الصق هذا الموجه بالضبط:
قم بتشغيل pytest في مساحة العمل هذه. اختباران يفشلان. ابحث عن السبب الجذري في fizzbuzz.py، وأصلحه بأصغر تغيير ممكن، ثم أعد تشغيل pytest وأرني المخرجات النهائية. لا تقم بتحرير ملف الاختبار.
الإصلاح الصحيح هو حرف واحد: range(1, n) يصبح range(1, n + 1)، وتبلغ المجموعة عن 3 passed.
الآن الجزء الذي يجعل الهيكل مختلفًا عن نافذة الدردشة. كل تشغيل يُسجل في سجل جلسة قابل للإلحاق فقط، ويمكنك التفرع منه. عد إلى النقطة التي قرأ فيها الوكيل fizzbuzz.py لأول مرة وافتح فرعًا لمحاولة ثانية:
تفرع من هذه الجلسة من الخطوة التي قرأت فيها fizzbuzz.py لأول مرة. هذه المرة، أعد كتابتها كبحث قائم على قاموس بدلاً من تصحيح شجرة if، ثم قم بتشغيل pytest مرة أخرى.

تفرع سجل جلسة DeepSeek Harness لإنتاج تنفيذ ثانٍ قائم على القاموس من نفس نقطة البداية
نقطة بداية واحدة، فرعان. هذه هي الميزة التي اهتم بها حشد أسبوع الإطلاق حقًا.
الخطوة 7: الانتقال إلى وضع الرأس (Headless) للبرامج النصية و CI
ملفان شخصيان يهيئان نفسيهما عند الاستخدام الأول: web و headless. لقد كنت تستخدم web، و dsh web هو مجرد اسم مستعار لـ dsh --profile web.
يقوم الوضع الرأسي بتشغيل جلسة واحدة جديدة محفوظة، ويطبع الإجابة النهائية، ويخرج، وهذا هو بالضبط الشكل الذي تريده مهمة CI:
bash1dsh --profile headless "Run the tests and fix any failures. Report the diff." 2
أي ملف شخصي آخر يجب إنشاؤه من خلال dsh plugin. تعيش الملفات الشخصية في $DSH_HOME/profiles/<name>، والتي يكون افتراضها ~/.dsh/profiles/<name>.

مخرجات طرفية من تشغيل DeepSeek Harness في الوضع الرأسي تطبع الإجابة النهائية وتخرج
الوضع الرأسي: جلسة واحدة، إجابة واحدة، رمز خروج يمكنك التفرع عليه.
طرق أخرى لتثبيت DeepSeek Harness
طريق npx يغطي معظم الناس. هذه الثلاثة تستحق المعرفة.
تثبيت DeepSeek Harness من المصدر باستخدام pnpm
إذا كنت تريد قراءة الشفرة، أو تصحيحها، أو كتابة إضافات ضدها:
bash1git clone https://github.com/deepseek-ai/deepseek-harness 2cd deepseek-harness 3pnpm install 4pnpm run build 5pnpm dsh web 6
الإصدار المكتبي بحجم 5 ميجابايت
مشروع مجتمعي، hairyf/deepseek-harness-desktop، يغلف الهيكل في Tauri ويوفر مثبتًا بحوالي 5 ميجابايت لنظامي Windows و macOS و Linux بدون أي إعداد Node على الإطلاق. إنه ليس إصدارًا رسميًا من DeepSeek، لذا تعامل معه وفقًا لذلك: في وقت الكتابة، لديه حوالي 400 نجمة وتم إنشاؤه بعد يوم واحد من الهيكل نفسه.
تشغيل DeepSeek Harness محليًا بالكامل مع Ollama
يأتي Ollama مع تكامل من الطرف الأول. النسخة المختصرة هي أمر واحد:
bash1ollama launch dsh 2
يقوم ذلك بتثبيت وتشغيل الهيكل مع توصيل Ollama، مع الاحتفاظ بإعداداته في ~/.ollama/launch/dsh/settings.yaml (وثائق Ollama، أغسطس 2026). تحذير واحد يستحق القراءة قبل أن تفترض أن كل شيء دون اتصال: البحث المدمج في الويب يتم تمكينه تلقائيًا ويحتاج إلى وصول سحابي Ollama بالإضافة إلى نموذج يدعم الأدوات. النموذج المحلي حقًا يعطيك تكلفة رمزية صفرية، على حساب السرعة، وعادةً، قدرة أضعف على استدعاء الأدوات.

DeepSeek Harness متصل بخادم Ollama محلي يشغل نفس مهمة الاختبار الفاشل
نفس المهمة، بدون رحلة شبكة، بدون فاتورة لكل رمز.
هل DeepSeek Harness مجاني؟ ما هي تكلفة تشغيله الفعلية
الإجابة أولاً: البرنامج مجاني ومرخص بموجب MIT، بما في ذلك الاستخدام التجاري. الرموز (tokens) ليست مجانية، إلا إذا قمت بتشغيل النماذج محليًا. لا شيء في الهيكل نفسه يتم قياسه أو حجزه أو ربطه بحساب DeepSeek.
الجدول ج: ما هو مجاني حقًا وما هو ليس كذلك
| المكون | مجاني؟ | ملاحظات |
|---|---|---|
| برنامج الهيكل | نعم | مرخص بموجب MIT، لا حاجة لحساب |
| رموز النموذج عبر واجهة برمجة تطبيقات | لا | يتم الفوترة لكل رمز بواسطة من يخدم النموذج |
| رموز النموذج عبر Ollama المحلي | نعم | أنت تدفع بالأجهزة وزمن الوصول بدلاً من ذلك |
| السياق الطويل | يعتمد | يتم تسعيره لكل رمز، لذا نافذة 1M تكلف ما تملؤها به |
مثال عملي، باستخدام أرقام تقريبية بدلاً من تشغيل محدد. لنفترض أن جلسة تصحيح مثل الخطوة 6 تستهلك 200,000 رمز إدخال و 20,000 رمز إخراج، وهو واقعي بمجرد أن يقرأ الوكيل بضعة ملفات ويكرر. بسعر البوابة الثابت $0.14 دخول و $0.28 خروج، تكلف تلك الجلسة حوالي 3.4 سنتات. على واجهة برمجة تطبيقات الطرف الأول بمعدلات خارج أوقات الذروة وعدم وجود ضربات كاش، تبلغ حوالي 5.7 سنتات، وخلال ساعات الذروة حوالي 11 سنتًا. إذا كان معظم إدخالك من ضربات الكاش، يصبح الطرف الأول أرخص بشكل كبير على جانب الإدخال، لأن إدخال ضربات الكاش يبدأ من $0.007 لكل مليون رمز.
الروافع العملية، بترتيب التأثير: حافظ على الجلسات قصيرة حتى لا يتضخم السياق، وقم بتشغيل العمل الروتيني على Flash واحتفظ بـ Pro للمهام الصعبة حقًا، واستخدم وضع Minimal للتشغيلات الشبيهة بالمعايير لأنه يعطي النموذج أداتين بالضبط وبدون ضغط سياق.
قبل النشر: ترخيص DeepSeek Harness ومخاطر المعاينة
ثلاثة أشياء قصيرة، ثم الأسئلة الشائعة.
الترخيص هو MIT، لذا الاستخدام التجاري جيد. لكن المشروع يصنف نفسه على أنه معاينة مطور ويذكر، بأحرف كبيرة، أنه ستكون هناك تغييرات مكسرة للتوافق. ثبّت إصدارًا ولا تقم بتوصيله في خط أنابيب إصدار إنتاجي حتى الآن.
بيانات اعتمادك تعيش كنص عادي على جهازك، في $DSH_HOME/.credentials.yaml مع الإعدادات بجانبها في $DSH_HOME/settings.yaml، وكلاهما افتراضيًا إلى ~/.dsh. إذا انتهى الأمر بمجلد الهيكل الخاص بك داخل مستودع، أضفه إلى .gitignore:
text1.dsh/ 2
والشيء الواضح الذي يسهل نسيانه: شفرتك تذهب إلى أي نقطة نهاية قمت بتكوينها في الخطوة 4. اقرأ شروط بيانات ذلك المزود قبل توجيه وكيل إلى قاعدة بيانات خاصة.
الأسئلة الشائعة
هل DeepSeek Harness مجاني؟
الهيكل مجاني ومرخص بموجب MIT، بدون حساب أو اشتراك مطلوب، ويمكنك استخدامه تجاريًا. يتم فوترة رموز النموذج بشكل منفصل من قبل المزود الذي تتصل به. توجيهه إلى نموذج Ollama محلي يعطيك إعدادًا بتكلفة رمزية صفرية حقًا، مدفوعة بالأجهزة والسرعة.
هل أحتاج إلى مفتاح واجهة برمجة تطبيقات DeepSeek لتثبيت DeepSeek Harness؟
لا. التثبيت ومفتاح DeepSeek غير مرتبطين. npx @deepseek-ai/dsh web يعمل بدون أي بيانات اعتماد على الإطلاق. تحتاج فقط إلى مفتاح عندما تريد أن يقوم الوكيل باستدعاء نموذج فعليًا، ويمكن أن يكون مفتاحًا لأي نقطة نهاية متوافقة مع OpenAI، بما في ذلك خادم محلي.
هل يمكن لـ DeepSeek Harness تشغيل نماذج غير DeepSeek؟
نعم. يقبل المزودون المخصصون openai-completions، ويغطي المحول البروتوكولات التي يمكن وصفها بمفتاح ونقطة نهاية ورؤوس. أضف مزودًا ثانيًا بإضافة كتلة أخرى تحت providers: في settings.yaml مع معرفه الخاص وعنوان URL الأساسي ونماذجه. تم استبعاد Bedrock و Vertex و Azure و Codex عمدًا لأن مصادقتها تحتاج إلى أكثر من ذلك.
لماذا يعيد مزودي المخصص خطأ 401 أو "نموذج غير معروف"؟
خطأ 401 يعني دائمًا تقريبًا أن المفتاح خاطئ أو لا تتم قراءته من متغير البيئة المسمى في apiKeyEnv. النموذج غير المعروف يعني عادةً أن نقطة النهاية لا تعرض فهرس نماذج، لذا لم يتم جلب شيء: اكتب معرف النموذج يدويًا بدلاً من ذلك. تحقق أيضًا من تهجئة معرف المزود، حيث لا يمكن إعادة تسميته، بل استبداله فقط.
أين يخزن DeepSeek Harness مفتاح API والإعدادات الخاصة بي؟
تذهب المفاتيح إلى $DSH_HOME/.credentials.yaml وإعدادات النموذج المكتوبة يدويًا إلى $DSH_HOME/settings.yaml، وكلاهما تحت ~/.dsh ما لم تقم بتجاوز DSH_HOME. تعيش الجلسات في $DSH_HOME/storages والملفات الشخصية في $DSH_HOME/profiles/<name>. أبقِ الدليل بأكمله خارج التحكم في الإصدار.
هل DeepSeek Harness جاهز للإنتاج؟
ليس بعد، حسب قوله. المشروع يُصدر كمعاينة مطور ويحذر صراحةً من تغييرات مكسرة للتوافق، وهو وصف عادل لبرنامج عمره بضعة أيام. استخدمه للتطوير المحلي ومساعدة CI، وثبّت الإصدار الذي اختبرته، وأعد قراءة وثائق المزودين بعد الترقيات.
تم التحقق منه مقابل معاينة مطور DeepSeek Harness في 17 أغسطس 2026. هذا المشروع يصدر تغييرات مكسرة حسب التصميم، لذا إذا كان اسم حقل في بنيتك يبدو مختلفًا عن YAML أعلاه، تحقق من وثائق المزودين الرسمية قبل افتراض أن التكوين خاطئ.






