DeepSeek Harness: إعداد النماذج
آخر تحديث: 2026-08-31
النماذج هي "عقل" Agent — اختر النموذج المناسب وأعد الاتصال بشكل صحيح، وسيعمل Agent بكفاءة. تصميم DSH الذي لا يعتمد على نموذج محدد يتيح لك التبديل بحرية بين نماذج LLM — من DeepSeek إلى GPT-4o إلى Ollama المحلي — بمجرد تعديل الإعدادات دون أي تغيير في الكود.
📋 المتطلبات المسبقة: إكمال 03-first-use.md، واجهة الويب تعمل بشكل طبيعي
1. ما ستتعلمه
- الحصول على DeepSeek API Key وإعداده
- عمليات صفحة إعدادات واجهة الويب
- إعداد نقاط النهاية المتوافقة مع OpenAI
- توجيه النماذج والتبديل بين النماذج المتعددة
- أفضل ممارسات إدارة أمان API Key
2. إعداد DeepSeek API Key
(1) الحصول على API Key
زُر منصة DeepSeek المفتوحة للحصول على API Key:

1. زُر https://platform.deepseek.com/
2. سجّل/سجّل الدخول لحسابك
3. انتقل لصفحة API Keys
4. انقر "Create API Key"
5. انسخ المفتاح المُولَّد (يبدأ بـ sk-)
ملاحظة: يُعرض API Key مرة واحدة فقط عند الإنشاء. احفظه فورًا. إذا فُقد، ستحتاج لإنشاء واحد جديد.
(2) إعداد API Key
ثلاث طرق للإعداد، مرتبة حسب الأولوية من الأعلى للأدنى:
الطريقة 1: صفحة إعدادات واجهة الويب (موصى بها)
شريط التحكم العلوي → ⚙️ الإعدادات → النماذج → DeepSeek API Key
┌─────────────────────────────────────────┐
│ DeepSeek API Key │
│ sk-•••••••••••••••••••••••••••xxxx │
│ [اختبار الاتصال] [حفظ] │
└─────────────────────────────────────────┘
انقر اختبار الاتصال للتحقق من الاتصال:

✅ الاتصال ناجح!
النموذج: deepseek-chat
زمن الاستجابة: 120ms
الطريقة 2: متغير بيئة
# الإعداد في ملف .env أو shell
export DEEPSEEK_API_KEY="sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
الطريقة 3: ملف إعدادات
# 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

الإعدادات → النماذج
┌──────────────────────────────────────────────┐
│ 📡 مزودو النماذج │
│ │
│ ┌─ 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
# 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
# dsh.config.yaml
models:
openai:
api_key: "${OPENAI_API_KEY}"
base_url: "https://api.openai.com/v1"
default_model: gpt-4o
(2) نقطة نهاية Azure OpenAI
# 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 المحلية
# dsh.config.yaml
models:
ollama:
api_key: "ollama" # Ollama لا يحتاج مفتاحًا حقيقيًا
base_url: "http://localhost:11434/v1"
default_model: llama3.2
(4) نقطة نهاية مخصصة
أي خدمة متوافقة مع تنسيق OpenAI API يمكن توصيلها:
# 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) بنية النقاط المتعددة
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) تبديل النماذج في واجهة الويب
بدّل النماذج باستخدام القائمة المنسدلة في شريط التحكم العلوي:
[deepseek-chat ▼]
┌──────────────────────────┐
│ ● deepseek-chat │
│ DeepSeek · سياق 64K │
│ │
│ ○ gpt-4o │
│ OpenAI · سياق 128K │
│ │
│ ○ llama3.2 │
│ Ollama · سياق 8K │
└──────────────────────────┘
(2) استراتيجية توجيه النماذج
يدعم DSH التوجيه التلقائي لنماذج مختلفة بناءً على نوع المهمة:
# 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) تدفق التوجيه
graph TD
INPUT[إدخال المستخدم] --> CHECK{مطابقة قواعد التوجيه}
CHECK -->|وضع PTC| R1[deepseek-reasoner]
CHECK -->|أداة file_edit| R2[deepseek-coder]
CHECK -->|الوضع الإبداعي| R3[gpt-4o]
CHECK -->|الافتراضي| R4[deepseek-chat]
(4) تحديد النماذج في وضع سطر الأوامر
# تحديد نموذج عند التشغيل
npx @deepseek-ai/dsh cli --model gpt-4o
# تبديل النماذج خلال الجلسة (أمر داخلي لسطر الأوامر)
/model deepseek-reasoner
6. إدارة أمان API Key
(1) مبادئ الأمان
| المبدأ | الوصف |
|---|---|
| بدون ترميز ثابت | لا يجب كتابة مفاتيح API مباشرة في الكود |
| لا ترفع إلى Git | أضف ملف .env إلى .gitignore |
| أقل صلاحيات | فعّل فقط صلاحيات الوصول للخدمات الضرورية |
| تدوير دوري | استبدل مفاتيح API بشكل دوري |
| سجلات مراجعة | راقب استخدام مفاتيح API |
(2) إدارة متغيرات البيئة
# ملف .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
# .gitignore
.env
.env.local
.env.*.local
(3) مراجع المتغيرات في ملفات الإعداد
تدعم ملفات إعداد DSH مراجع متغيرات البيئة لتجنب الترميز الثابت:
# 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) تكامل خدمة إدارة الأسرار
للنشر المؤسسي، يُوصى بخدمات إدارة أسرار احترافية:

# 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) الاستجابة الطارئة لتسريب المفاتيح
1. عطّل/احذف المفتاح المُسَرَّب فورًا على منصة مزود API
2. أنشئ مفتاحًا جديدًا وحدّث الإعدادات
3. تحقق من سجلات استدعاء API لتأكيد عدم وجود استخدام غير طبيعي
4. راجع سجل Git للتأكد من أن المفتاح لم يُرفع (إذا رُفع، استخدم git filter-branch لإزالته)
7. استكشاف أخطاء الاتصال
(1) أخطاء شائعة وحلولها
| رسالة الخطأ | السبب | الحل |
|---|---|---|
Invalid API key |
المفتاح خاطئ أو منتهي | أنشئ مفتاحًا جديدًا وأعده |

| Connection refused | عنوان نقطة النهاية خاطئ | تحقق من Base URL |
| Rate limit exceeded | تجاوز تكرار استدعاءات API | قلل تكرار الطلبات أو رقِّ الخطة |
| Model not found | معرف النموذج خاطئ | تحقق من تهجئة اسم النموذج |
| Timeout | الشبكة غير قابلة للوصول | تحقق من إعدادات الوكيل أو الجدار الناري |
(2) أوامر اختبار الاتصال
# اختبار 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 عبر وكيل:
# تعيين وكيل 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"
❓ أسئلة شائعة
/model لعرض النموذج الحالي.📖 ملخص
- يمكن إعداد DeepSeek API Key عبر متغيرات البيئة أو ملفات الإعداد أو إعدادات واجهة الويب
- نقاط النهاية المتوافقة مع OpenAI تتيح لـ DSH الاتصال بأي خدمة بتنسيق OpenAI API
- استراتيجيات توجيه النماذج يمكنها اختيار النموذج الأمثل تلقائيًا بناءً على الوضع/الأداة
- إدارة أمان API Key: بدون ترميز ثابت، لا ترفع إلى Git، استخدم مراجع متغيرات البيئة
- بدّل النماذج بنقرة واحدة في أعلى واجهة الويب؛ استخدم أمر
/modelفي سطر الأوامر - استكشف أخطاء الاتصال بترتيب المفتاح ← URL ← الشبكة ← الوكيل
📝 تمارين
1. ⭐ أساسي: أعد مفتاح DeepSeek API Key، أرسل رسالة بنجاح في واجهة الويب واحصل على رد. احفظ لقطة شاشة لنتائج اختبار الاتصال.
2. ⭐⭐ متوسط: أعد مزودي نماذج DeepSeek وOpenAI معًا، بدّل بين النموذجين في نفس الجلسة، وقارن الاختلافات في الردود على نفس السؤال.
3. ⭐⭐⭐ تحدٍ: أعد نقطة نهاية نموذج Ollama المحلي، واكتب قواعد توجيه نماذج — وجّه عمليات تعديل الكود إلى DeepSeek Coder، والمهام الإبداعية إلى GPT-4o، واستخدم DeepSeek Chat كافتراضي. تحقق أن التوجيه يعمل كما هو متوقع.