DeepSeek Harness: إعداد النماذج

آخر تحديث: 2026-08-31

النماذج هي "عقل" Agent — اختر النموذج المناسب وأعد الاتصال بشكل صحيح، وسيعمل Agent بكفاءة. تصميم DSH الذي لا يعتمد على نموذج محدد يتيح لك التبديل بحرية بين نماذج LLM — من DeepSeek إلى GPT-4o إلى Ollama المحلي — بمجرد تعديل الإعدادات دون أي تغيير في الكود.

💡 نصيحة: يدعم DSH طريقتين للوصول للنماذج: DeepSeek API الرسمي ونقاط النهاية المتوافقة مع OpenAI. الأخيرة تعني أن أي خدمة متوافقة مع تنسيق OpenAI API يمكن توصيلها — بما في ذلك Ollama وvLLM وAzure OpenAI والمزيد.

📋 المتطلبات المسبقة: إكمال 03-first-use.md، واجهة الويب تعمل بشكل طبيعي

1. ما ستتعلمه

بنية المكونات الإضافية


2. إعداد DeepSeek API Key

(1) الحصول على API Key

زُر منصة DeepSeek المفتوحة للحصول على API Key:

ar الحصول على API Key

TEXT 📖 للعرض فقط
1. زُر https://platform.deepseek.com/
2. سجّل/سجّل الدخول لحسابك
3. انتقل لصفحة API Keys
4. انقر "Create API Key"
5. انسخ المفتاح المُولَّد (يبدأ بـ sk-)

ملاحظة: يُعرض API Key مرة واحدة فقط عند الإنشاء. احفظه فورًا. إذا فُقد، ستحتاج لإنشاء واحد جديد.

(2) إعداد API Key

ثلاث طرق للإعداد، مرتبة حسب الأولوية من الأعلى للأدنى:

الطريقة 1: صفحة إعدادات واجهة الويب (موصى بها)

TEXT 📖 للعرض فقط
شريط التحكم العلوي → ⚙️ الإعدادات → النماذج → DeepSeek API Key
┌─────────────────────────────────────────┐
│ DeepSeek API Key                         │
│ sk-•••••••••••••••••••••••••••xxxx       │
│ [اختبار الاتصال]  [حفظ]                │
└─────────────────────────────────────────┘

انقر اختبار الاتصال للتحقق من الاتصال:

ar إعداد API Key

TEXT 📖 للعرض فقط
✅ الاتصال ناجح!
   النموذج: deepseek-chat
   زمن الاستجابة: 120ms

الطريقة 2: متغير بيئة

BASH
# الإعداد في ملف .env أو shell
export DEEPSEEK_API_KEY="sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

الطريقة 3: ملف إعدادات

YAML
# dsh.config.yaml
models:
  deepseek:
    api_key: "sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
    base_url: "https://api.deepseek.com/v1"

(3) نماذج DeepSeek المتاحة

معرف النموذج الوصف نافذة السياق حالات الاستخدام
deepseek-chat نموذج المحادثة العام 64K رمز البرمجة اليومية، الأسئلة والأجوبة
deepseek-reasoner نموذج الاستدلال المُعزَّز 64K رمز المنطق المعقد، الاستدلال الرياضي
deepseek-coder نموذج متخصص في الكود 16K رمز توليد الكود، تصحيح الأخطاء

3. تفاصيل صفحة الإعدادات

(1) ▶ مثال 1

ar صفحة الإعدادات

TEXT 📖 للعرض فقط
الإعدادات → النماذج
┌──────────────────────────────────────────────┐
│ 📡 مزودو النماذج                            │
│                                                │
│ ┌─ DeepSeek ────────────────────────────────┐ │
│ │ API Key: sk-•••••••••xxxx                 │ │
│ │ Base URL: https://api.deepseek.com/v1     │ │
│ │ النموذج الافتراضي: deepseek-chat              │ │
│ │ [اختبار] [حفظ]                             │ │
│ └───────────────────────────────────────────┘ │
│                                                │
│ ┌─ متوافق مع OpenAI ───────────────────────┐ │
│ │ API Key: sk-•••••••••xxxx                 │ │
│ │ Base URL: https://api.openai.com/v1       │ │
│ │ النموذج الافتراضي: gpt-4o                     │ │
│ │ [اختبار] [حفظ]                             │ │
│ └───────────────────────────────────────────┘ │
│                                                │
│ [+ إضافة مزود]                               │
└──────────────────────────────────────────────┘

(2) وصف عناصر الإعداد

عنصر الإعداد الوصف مثال
API Key مفتاح مصادقة خدمة LLM sk-xxxxxxxx
Base URL عنوان نقطة نهاية API https://api.deepseek.com/v1
النموذج الافتراضي النموذج الافتراضي للاستخدام deepseek-chat
Max Tokens أقصى عدد من الرموز لكل استجابة 4096
Temperature درجة حرارة التوليد (0-2) 0.7

(3) ▶ مثال 3

YAML
# dsh.config.yaml
models:
  deepseek:
    api_key: "${DEEPSEEK_API_KEY}"
    default_model: deepseek-chat
    params:
      temperature: 0.7
      max_tokens: 4096
      top_p: 0.95
  openai:
    api_key: "${OPENAI_API_KEY}"
    default_model: gpt-4o
    params:
      temperature: 0.5
      max_tokens: 8192

المعاملات الموصى بها لسيناريوهات مختلفة:

السيناريو Temperature Max Tokens ملاحظات
توليد الكود 0.2-0.4 4096+ درجة حرارة منخفضة تضمن اتساق الكود
كتابة التوثيق 0.5-0.7 4096 إبداعية معتدلة
العصف الإبداعي 0.8-1.0 8192+ درجة حرارة عالية تشجع التنوع
أسئلة وأجوبة دقيقة 0.0-0.2 2048 أكثر المخرجات حسمية

4. إعداد نقاط النهاية المتوافقة مع OpenAI

(1) ▶ مثال 1

YAML
# dsh.config.yaml
models:
  openai:
    api_key: "${OPENAI_API_KEY}"
    base_url: "https://api.openai.com/v1"
    default_model: gpt-4o

(2) نقطة نهاية Azure OpenAI

YAML
# dsh.config.yaml
models:
  azure:
    api_key: "${AZURE_OPENAI_API_KEY}"
    base_url: "https://your-resource.openai.azure.com/openai/deployments/your-deployment"
    default_model: gpt-4o
    headers:
      api-key: "${AZURE_OPENAI_API_KEY}"

(3) نقطة نهاية Ollama المحلية

YAML
# dsh.config.yaml
models:
  ollama:
    api_key: "ollama"           # Ollama لا يحتاج مفتاحًا حقيقيًا
    base_url: "http://localhost:11434/v1"
    default_model: llama3.2

(4) نقطة نهاية مخصصة

أي خدمة متوافقة مع تنسيق OpenAI API يمكن توصيلها:

YAML
# dsh.config.yaml
models:
  custom:
    api_key: "${CUSTOM_API_KEY}"
    base_url: "https://your-llm-service.com/v1"
    default_model: your-model-name
    headers:
      X-Custom-Header: "custom-value"

(5) بنية النقاط المتعددة

100%
graph TB
    DSH[DeepSeek Harness] -->|المزود 1| DS[DeepSeek API<br/>deepseek-chat]
    DSH -->|المزود 2| OAI[OpenAI<br/>gpt-4o]
    DSH -->|المزود 3| OLL[Ollama<br/>llama3.2]
    DSH -->|المزود 4| AZ[Azure OpenAI<br/>gpt-4o]

5. توجيه النماذج والاختيار متعدد النماذج

(1) تبديل النماذج في واجهة الويب

بدّل النماذج باستخدام القائمة المنسدلة في شريط التحكم العلوي:

TEXT 📖 للعرض فقط
[deepseek-chat ▼]
┌──────────────────────────┐
│ ● deepseek-chat          │
│   DeepSeek · سياق 64K     │
│                          │
│ ○ gpt-4o                 │
│   OpenAI · سياق 128K     │
│                          │
│ ○ llama3.2               │
│   Ollama · سياق 8K       │
└──────────────────────────┘

(2) استراتيجية توجيه النماذج

يدعم DSH التوجيه التلقائي لنماذج مختلفة بناءً على نوع المهمة:

YAML
# dsh.config.yaml
routing:
  rules:
    - match:
        mode: ptc            # وضع PTC
      model: deepseek-reasoner   # استخدام نموذج الاستدلال للتخطيط
    
    - match:
        tool: file_edit      # تعديل الملفات
      model: deepseek-coder  # استخدام نموذج الكود
    
    - match:
        mode: creative       # الوضع الإبداعي
      model: gpt-4o          # استخدام GPT-4o
    
    - match:
        default: true        # المسار الافتراضي
      model: deepseek-chat

(3) تدفق التوجيه

100%
graph TD
    INPUT[إدخال المستخدم] --> CHECK{مطابقة قواعد التوجيه}
    CHECK -->|وضع PTC| R1[deepseek-reasoner]
    CHECK -->|أداة file_edit| R2[deepseek-coder]
    CHECK -->|الوضع الإبداعي| R3[gpt-4o]
    CHECK -->|الافتراضي| R4[deepseek-chat]

(4) تحديد النماذج في وضع سطر الأوامر

BASH
# تحديد نموذج عند التشغيل
npx @deepseek-ai/dsh cli --model gpt-4o

# تبديل النماذج خلال الجلسة (أمر داخلي لسطر الأوامر)
/model deepseek-reasoner

6. إدارة أمان API Key

(1) مبادئ الأمان

المبدأ الوصف
بدون ترميز ثابت لا يجب كتابة مفاتيح API مباشرة في الكود
لا ترفع إلى Git أضف ملف .env إلى .gitignore
أقل صلاحيات فعّل فقط صلاحيات الوصول للخدمات الضرورية
تدوير دوري استبدل مفاتيح API بشكل دوري
سجلات مراجعة راقب استخدام مفاتيح API

(2) إدارة متغيرات البيئة

BASH
# ملف .env (لا يُرفع إلى Git)
DEEPSEEK_API_KEY=sk-xxxxxxxxxxxxxxxx
OPENAI_API_KEY=sk-yyyyyyyyyyyyyyyy

# ملف .env.example (يُرفع إلى Git، كمرجع للفريق)
DEEPSEEK_API_KEY=your-deepseek-api-key
OPENAI_API_KEY=your-openai-api-key
BASH
# .gitignore
.env
.env.local
.env.*.local

(3) مراجع المتغيرات في ملفات الإعداد

تدعم ملفات إعداد DSH مراجع متغيرات البيئة لتجنب الترميز الثابت:

YAML
# dsh.config.yaml — استخدم ${VAR} لمراجعة متغيرات البيئة
models:
  deepseek:
    api_key: "${DEEPSEEK_API_KEY}"    # يُقرأ من متغير البيئة عند التشغيل
    base_url: "https://api.deepseek.com/v1"
  openai:
    api_key: "${OPENAI_API_KEY}"
    base_url: "https://api.openai.com/v1"

(4) تكامل خدمة إدارة الأسرار

للنشر المؤسسي، يُوصى بخدمات إدارة أسرار احترافية:

ar إدارة المفاتيح

YAML
# dsh.config.yaml — تكامل AWS Secrets Manager (مثال)
models:
  deepseek:
    api_key:
      vault: aws-secrets-manager
      secret_id: "dsh/deepseek-api-key"
      region: "us-east-1"

(5) الاستجابة الطارئة لتسريب المفاتيح

TEXT 📖 للعرض فقط
1. عطّل/احذف المفتاح المُسَرَّب فورًا على منصة مزود API
2. أنشئ مفتاحًا جديدًا وحدّث الإعدادات
3. تحقق من سجلات استدعاء API لتأكيد عدم وجود استخدام غير طبيعي
4. راجع سجل Git للتأكد من أن المفتاح لم يُرفع (إذا رُفع، استخدم git filter-branch لإزالته)

7. استكشاف أخطاء الاتصال

(1) أخطاء شائعة وحلولها

رسالة الخطأ السبب الحل
Invalid API key المفتاح خاطئ أو منتهي أنشئ مفتاحًا جديدًا وأعده

ar استكشاف أخطاء الاتصال

| Connection refused | عنوان نقطة النهاية خاطئ | تحقق من Base URL | | Rate limit exceeded | تجاوز تكرار استدعاءات API | قلل تكرار الطلبات أو رقِّ الخطة | | Model not found | معرف النموذج خاطئ | تحقق من تهجئة اسم النموذج | | Timeout | الشبكة غير قابلة للوصول | تحقق من إعدادات الوكيل أو الجدار الناري |

(2) أوامر اختبار الاتصال

BASH
# اختبار DeepSeek API
curl -s https://api.deepseek.com/v1/models \
  -H "Authorization: Bearer $DEEPSEEK_API_KEY"

# اختبار نقطة نهاية متوافقة مع OpenAI
curl -s https://api.openai.com/v1/models \
  -H "Authorization: Bearer $OPENAI_API_KEY"

# اختبار Ollama المحلي
curl -s http://localhost:11434/v1/models

(3) إعداد الوكيل

إذا كنت بحاجة للوصول إلى API عبر وكيل:

BASH
# تعيين وكيل HTTP
export HTTP_PROXY="http://proxy.example.com:8080"
export HTTPS_PROXY="http://proxy.example.com:8080"

# أو التحديد في ملف الإعداد
# dsh.config.yaml
models:
  deepseek:
    api_key: "${DEEPSEEK_API_KEY}"
    base_url: "https://api.deepseek.com/v1"
    proxy: "http://proxy.example.com:8080"

❓ أسئلة شائعة

س هل يمكنني إعداد عدة مزودي نماذج في وقت واحد؟
ج نعم. يدعم DSH إعداد DeepSeek وOpenAI وOllama ومزودين آخرين في وقت واحد، مع تبديل بنقرة واحدة في واجهة الويب.
س هل مفتاح API المجاني كافٍ؟
ج يحصل المستخدمون الجدد على DeepSeek عادةً على رصيد مجاني، مناسب للتعلم والاختبار. ومع ذلك، للاستخدام طويل الأمد، نوصي بشراء خطة رسمية؛ الرصيد المجاني قد لا يكفي لمهام Agent المعقدة.
س كيف أعرف أي نموذج قيد الاستخدام حاليًا؟
ج شريط التحكم العلوي لواجهة الويب يعرض اسم النموذج الحالي. في وضع سطر الأوامر، أدخل /model لعرض النموذج الحالي.
س هل يُحفظ السياق بعد تبديل النماذج؟
ج سياق الجلسة (سجل المحادثات) يُحفظ، لكن النماذج المختلفة لها أحجام نوافذ سياق مختلفة — إذا تجاوز السجل النافذة، ستُقتطع الرسائل السابقة.
س هل نماذج Ollama المحلية فعالة؟
ج يعتمد على حجم النموذج ومستوى الضغط. نماذج 7B معلمة مناسبة للمهام البسيطة؛ نماذج 70B+ تقارب أداء السحابة لكنها تتطلب موارد GPU كبيرة.
س مفتاح API مُعد لكنني ما زلت أحصل على أخطاء اتصال. ماذا أفعل؟
ج استكشاف الأخطاء بالترتيب: 1) هل المفتاح صحيح (بدون مسافات زائدة)؛ 2) هل Base URL صحيح؛ 3) هل الشبكة متصلة؛ 4) هل يلزم وكيل.

📖 ملخص


📝 تمارين

1. ⭐ أساسي: أعد مفتاح DeepSeek API Key، أرسل رسالة بنجاح في واجهة الويب واحصل على رد. احفظ لقطة شاشة لنتائج اختبار الاتصال.

2. ⭐⭐ متوسط: أعد مزودي نماذج DeepSeek وOpenAI معًا، بدّل بين النموذجين في نفس الجلسة، وقارن الاختلافات في الردود على نفس السؤال.

3. ⭐⭐⭐ تحدٍ: أعد نقطة نهاية نموذج Ollama المحلي، واكتب قواعد توجيه نماذج — وجّه عمليات تعديل الكود إلى DeepSeek Coder، والمهام الإبداعية إلى GPT-4o، واستخدم DeepSeek Chat كافتراضي. تحقق أن التوجيه يعمل كما هو متوقع.

Web-Tutorial.com

فريق Web-Tutorial التقني

منصة دروس برمجية يديرها عدة مطورين. كل درس يتم كتابته ومراجعته بواسطة مطورين متخصصين في المجال. نعمل على ضمان دقة وموثوقية المحتوى — إذا لاحظت أي مشكلة، فيرجى إخبارنا.

100%