DeepSeek Harness: التثبيت والتشغيل

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

تثبيت DeepSeek Harness بسيط للغاية — أمر واحد يبدأ تشغيلك، دون حاجة لإعداد بيئة معقدة. سواء استخدمت npx لتجربة بنقرة واحدة أو شغّلته من المصدر للتخصيص العميق، يمكن لـ DSH أن يبدأ عملك خلال 5 دقائق.

💡 نصيحة: للاستخدام الأول، نوصي بـ npx @deepseek-ai/dsh web للتشغيل بنقرة واحدة دون تثبيت تبعيات يدويًا. طريقة المصدر مخصصة للمطورين الذين يحتاجون لتعديل الإطار نفسه.

📋 المتطلبات المسبقة: معرفة أساسية بسطر الأوامر، إكمال 01-intro.md

1. ما ستتعلمه

ترتيب تحميل التكوين


2. إعداد البيئة

(1) تثبيت Node.js

DSH مبني على بيئة Node.js، ويتطلب Node.js 18+ كحد أدنى.

BASH
# التحقق من إصدار Node.js
node --version
# v18.x.x أو أعلى

# التحقق من إصدار npm
npm --version
# 9.x.x أو أعلى

إذا لم يكن Node.js مثبتًا بعد:

BASH
# macOS (Homebrew)
brew install node

# Ubuntu/Debian
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt-get install -y nodejs

# Windows (winget)
winget install OpenJS.NodeJS.LTS

نوصي باستخدام Node.js 20 LTS — هذا هو إصدار الدعم طويل الأمد الأكثر استقرارًا حاليًا، وDSH اختُبر بشكل أشمل عليه.

(2) توافق أنظمة التشغيل

نظام التشغيل حالة الدعم ملاحظات
macOS 12+ ✅ مدعوم بالكامل Intel وApple Silicon
Ubuntu 20.04+ ✅ مدعوم بالكامل إصدارات LTS موصى بها
Windows 10+ ✅ مدعوم بيئة WSL2 موصى بها
Windows (أصلي) ⚠️ دعم أساسي قد تواجه بعض الأدوات مشاكل في المسارات

(3) متطلبات الشبكة

يحتاج DSH للوصول إلى واجهات API لـ LLM. تأكد من أن بيئة شبكتك:

BASH
# اختبار اتصال DeepSeek API (يتطلب API Key)
curl -s https://api.deepseek.com/v1/models \
  -H "Authorization: Bearer $DEEPSEEK_API_KEY" | head -20

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

3. التشغيل بنقرة واحدة: طريقة npx

(1) تشغيل واجهة الويب

الطريقة الأبسط — لا حاجة للتثبيت، فقط شغّل:

BASH
npx @deepseek-ai/dsh web

عند أول تشغيل، سيقوم npx تلقائيًا بتنزيل أحدث إصدار من حزمة DSH:

TEXT 📖 للعرض فقط
Need to install the following packages:
@deepseek-ai/dsh@latest
Ok to proceed? (y) y

🚀 DeepSeek Harness v0.x.x (developer preview)
📦 Starting Web UI...

  ➜  Local:   http://127.0.0.1:3080/
  ➜  Network: http://192.168.1.100:3080/

⚠️  Developer Preview: APIs may change before stable release.

(2) الوصول لواجهة الويب

افتح متصفحك وانتقل إلى http://127.0.0.1:3080/:

ar صفحة واجهة الويب الرئيسية

TEXT 📖 للعرض فقط
http://127.0.0.1:3080/
├── يسار: قائمة الجلسات
├── وسط: منطقة المحادثة
├── يمين: لوحة الأدوات
└── أعلى: اختيار الوضع + اختيار النموذج

(3) خصائص طريقة npx

المزايا العيوب
بدون تثبيت، تشغيل فوري قد يُنزّل إصدارًا جديدًا كل مرة
يحصل دائمًا على أحدث إصدار لا يمكن التحكم في الإصدار
رائع للتجربة السريعة تخصيص محدود

(4) ▶ مثال 4

BASH
# تحديد رقم إصدار
npx @deepseek-ai/dsh@0.5.0 web

# تحديد إصدار تجريبي
npx @deepseek-ai/dsh@beta web

4. التشغيل من المصدر

(1) استنساخ المستودع

مناسب للمستخدمين الذين يحتاجون لتعديل كود الإطار أو المساهمة في التطوير:

BASH
# استنساخ المستودع
git clone https://github.com/deepseek-ai/deepseek-harness.git
cd deepseek-harness

# عرض الفروع المتاحة
git branch -r
# origin/main
# origin/dev
# origin/feature/...

(2) تثبيت التبعيات

يستخدم DSH مدير الحزم pnpm:

BASH
# تثبيت pnpm (إذا لم يكن مثبتًا)
npm install -g pnpm

# تثبيت تبعيات المشروع
pnpm install

سيقوم pnpm install بتثبيت جميع تبعيات مساحة العمل، بما في ذلك:

TEXT 📖 للعرض فقط
packages/
├── core/          # نواة Cordis
├── cli/           # أداة سطر الأوامر
├── web/           # واجهة الويب
├── sdk-python/    # Python SDK
├── plugins/       # إضافات مدمجة
└── tools/         # أدوات مدمجة

(3) ▶ مثال 3

BASH
# تشغيل واجهة الويب (وضع التطوير، مع إعادة التحميل السريع)
pnpm dsh web --dev

# تشغيل وضع سطر الأوامر
pnpm dsh cli

# تشغيل وضع Headless
pnpm dsh headless

الاختلافات بين وضعي التطوير والإنتاج:

البُعد وضع التطوير --dev وضع الإنتاج
إعادة التحميل السريع ✅ تحديث تلقائي عند تغيير الكود
Source Map ✅ معلومات تصحيح كاملة
الأداء أبطأ (غير محسّن) أسرع (تحسين مترجم)
مستوى السجل debug info

(4) ▶ مثال 4

BASH
# بناء جميع الحزم
pnpm build

# بناء واجهة الويب فقط
pnpm --filter @deepseek-ai/dsh-web build

# التشغيل بعد البناء
pnpm dsh web

5. إعداد متغيرات البيئة

يدير DSH مفاتيح API ونقاط نهاية النماذج والإعدادات الأخرى عبر متغيرات البيئة.

(1) متغيرات البيئة الأساسية

BASH
# DeepSeek API Key (مطلوب عند استخدام نماذج DeepSeek)
export DEEPSEEK_API_KEY="sk-xxxxxxxxxxxxxxxx"

# نقطة نهاية متوافقة مع OpenAI (اختياري، عند استخدام نماذج غير DeepSeek)
export OPENAI_API_KEY="sk-xxxxxxxxxxxxxxxx"
export OPENAI_BASE_URL="https://api.openai.com/v1"

# نقطة نهاية مخصصة (اختياري، عند استخدام واجهات API متوافقة خارجية)
export DSH_LLM_BASE_URL="https://your-custom-endpoint.com/v1"
export DSH_LLM_API_KEY="your-api-key"

(2) إعدادات التشغيل

BASH
# منفذ واجهة الويب (الافتراضي 3080)
export DSH_PORT=3080

# مستوى السجل (debug / info / warn / error)
export DSH_LOG_LEVEL=info

# مساحة العمل (الدليل الجذر لعمليات Agent)
export DSH_WORKSPACE="/path/to/your/project"

# وضع Sandbox (strict / permissive / off)
export DSH_SANDBOX=permissive

(3) استخدام ملف .env

نوصي بإنشاء ملف .env في جذر مشروعك لإدارة متغيرات البيئة:

BASH
# مثال على ملف .env
DEEPSEEK_API_KEY=sk-xxxxxxxxxxxxxxxx
OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxx
DSH_PORT=3080
DSH_LOG_LEVEL=info
DSH_WORKSPACE=/home/alice/my-project
DSH_SANDBOX=permissive

ملاحظة أمنية: ملف .env يحتوي على معلومات حساسة. تأكد من إضافته إلى .gitignore:

BASH
# التأكد من عدم رفع .env
echo ".env" >> .gitignore

(4) أولوية متغيرات البيئة

100%
graph LR
    A[وسائط سطر الأوامر] -->|الأعلى| RES[القيمة النهائية]
    B[ملف .env] --> RES
    C[متغيرات بيئة النظام] --> RES
    D[القيم الافتراضية] -->|الأدنى| RES

6. تشغيل وضع سطر الأوامر

بالإضافة لواجهة الويب، يدعم DSH أيضًا التفاعل عبر سطر الأوامر فقط:

BASH
# تشغيل وضع سطر الأوامر
npx @deepseek-ai/dsh cli

# أو تحديد مساحة عمل
npx @deepseek-ai/dsh cli --workspace /path/to/project

# تحديد نموذج
npx @deepseek-ai/dsh cli --model deepseek-chat

# تحديد وضع تشغيل
npx @deepseek-ai/dsh cli --mode ptc

واجهة التفاعل في وضع سطر الأوامر:

TEXT 📖 للعرض فقط
$ npx @deepseek-ai/dsh cli

🚀 DeepSeek Harness v0.x.x
📂 Workspace: /home/alice/my-project
🤖 Model: deepseek-chat
🔧 Mode: standard

> Help me analyze this project's directory structure
🔍 Using tool: search...
📂 Reading directory structure...

Agent: This project is a typical Express.js application. The directory structure is as follows:
...

7. التحقق من التثبيت

(1) التحقق من إصدار DSH

BASH
npx @deepseek-ai/dsh --version
# 0.x.x

(2) التحقق من إعدادات البيئة

BASH
npx @deepseek-ai/dsh doctor

يقوم dsh doctor بالتحقق تلقائيًا من:

TEXT 📖 للعرض فقط
✅ Node.js: v20.11.0
✅ pnpm: 8.15.0
✅ DEEPSEEK_API_KEY: configured (sk-...xxxx)
⚠️ OPENAI_API_KEY: not configured (optional)
✅ Network: api.deepseek.com reachable
✅ Workspace: /home/alice/my-project (exists)
⚠️ Sandbox: permissive mode (not recommended for production)

(3) اختبار وظيفي سريع

BASH
# تشغيل واجهة الويب والتحقق باستخدام curl
npx @deepseek-ai/dsh web &
sleep 5
curl -s http://127.0.0.1:3080/api/health | head -5
# {"status":"ok","version":"0.x.x"}

8. مشاكل التثبيت الشائعة

(1) إصدار Node.js منخفض جدًا

TEXT 📖 للعرض فقط
Error: DSH requires Node.js 18 or higher.
Current version: 16.x.x

الحل:

BASH
# استخدام nvm لإدارة إصدارات Node.js المتعددة
nvm install 20
nvm use 20

(2) المنفذ قيد الاستخدام بالفعل

TEXT 📖 للعرض فقط
Error: Port 3080 is already in use.

الحل:

BASH
# تحديد منفذ مختلف
export DSH_PORT=3081
npx @deepseek-ai/dsh web

# أو البحث عن العملية التي تستخدم المنفذ
lsof -i :3080    # macOS/Linux
netstat -ano | findstr :3080   # Windows

(3) مفتاح API غير صالح

TEXT 📖 للعرض فقط
Error: Invalid API key. Please check your DEEPSEEK_API_KEY.

الحل: تحقق من تعيين متغير البيئة بشكل صحيح:

BASH
echo $DEEPSEEK_API_KEY
# يجب أن يُخرج sk-xxxxxxxxxxxxxxxx

# إذا كان فارغًا، عيّنه مرة أخرى
export DEEPSEEK_API_KEY="sk-your-actual-key"

❓ أسئلة شائعة

س هل يقوم npx بالتنزيل في كل مرة؟
ج أول تشغيل لـ npx يُنزّل حزمة DSH؛ التشغيلات اللاحقة تستخدم ذاكرة التخزين المؤقت. إذا كنت تريد تجنب التنزيلات المتكررة، يمكنك التثبيت عالميًا: npm install -g @deepseek-ai/dsh، ثم التشغيل مباشرة بـ dsh web.
س هل يمكنني تشغيل DSH في Docker؟
ج نعم. يوفر DSH صورة Docker رسمية: docker run -p 3080:3080 -e DEEPSEEK_API_KEY=sk-xxx deepseek/dsh:latest.
س كيف أُحدّث DSH لأحدث إصدار؟
ج طريقة npx تحصل تلقائيًا على أحدث إصدار. للتثبيتات العالمية، استخدم npm update -g @deepseek-ai/dsh. للتثبيت من المصدر، استخدم git pull && pnpm install.
س ما المشاكل المعروفة في بيئات Windows الأصلية؟
ج مشاكل فاصل المسار (\ مقابل /) قد تسبب تعطل بعض الأدوات. نوصي باستخدام WSL2 لتشغيل DSH لأفضل تجربة.
س كيف يمكنني رؤية سجلات تشغيل DSH التفصيلية؟
ج عيّن متغير البيئة DSH_LOG_LEVEL=debug قبل التشغيل لرؤية عملية التهيئة الكاملة ومعلومات تحميل الإضافات.
س ماذا أفعل إذا فشل pnpm install؟
ج تأكد من أن إصدار Node.js >= 18، ثم جرّب: pnpm store prune && pnpm install --force. لمشاكل الشبكة، اضبط مرآة npm: pnpm config set registry https://registry.npmmirror.com.

📖 ملخص


📝 تمارين

1. ⭐ أساسي: شغّل واجهة DSH Web UI باستخدام طريقة npx، وخذ لقطة شاشة (أو صِف) عناصر واجهة الصفحة الرئيسية التي تراها.

2. ⭐⭐ متوسط: استنسخ مستودع DSH من المصدر، أكمل pnpm install وشغّل وضع التطوير. سجّل أي مشاكل واجهتها أثناء التشغيل وكيف حللتها.

3. ⭐⭐⭐ تحدٍ: اضبط DSH للاتصال بكل من DeepSeek API ونقطة نهاية متوافقة مع OpenAI (مثل Ollama). بدّل بنجاح بين النموذجين في واجهة الويب وأرسل رسالة بكل منهما.

Web-Tutorial.com

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

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

100%