غير مذكور رسميًا، لكن نقاشات المجتمع (#1772/#49/#897) تؤكد أن وحدة node-pty الأصلية على Linux تحتاج بناءً محليًا: Debian تحتاج build-essential، وArch تحتاج base-devel، وg++ يجب أن يدعم gnu++20 (GCC 10+)
status_warning
DeepSeek Harness is currently in _developer preview_ and is iterating rapidly. THERE WILL BE COMPATIBILITY-BREAKING CHANGES.(نص README الأصلي)
تشغيل مباشر عبر npx (الخيار المفضّل في README الرسمي)
من داخل واجهة الويب: Settings → Models، ثم أدخل API key (من https://platform.deepseek.com/ ) في بطاقة DeepSeek واحفظ؛ النص الرسمي: "The model route becomes usable immediately without restarting the server" (يسري فور الحفظ دون إعادة تشغيل)
api · key_storage
نص providers.md: "Keys are write-only. The page receives a redacted descriptor after saving, never the literal secret. The key is stored in `$DSH_HOME/.credentials.yaml`"؛ وتعريفات النماذج تُخزَّن في $DSH_HOME/settings.yaml
api · catalog_providers
Anthropic
api · catalog_providers
OpenAI
api · catalog_providers
Bedrock
api · catalog_providers
Vertex
api · catalog_providers
Azure
api · catalog_providers
Codex
api · catalog_config
Add provider ثم اختر المزوّد ثم أدخل API key ثم احفظ؛ وتستخدم Bedrock/Vertex/Azure/Codex على التوالي: بيانات اعتماد AWS مع region، وADC project، وapi-version، وOAuth
api · env_var
يمكن حقن بيانات الاعتماد عبر متغيّرات البيئة (حقل apiKeyEnv في مثال التهيئة، مثل GATEWAY_API_KEY)
Add a custom provider: أدخل Provider ID (بأحرف صغيرة ودائم) والاسم المعروض وbase URL وبروتوكول API وبيانات الاعتماد ونموذجًا واحدًا على الأقل؛ ويدعم Fetch available models الذي يستدعي GET /models المتوافق مع OpenAI لجلب قائمة النماذج تلقائيًا، أما النهايات غير المدعومة فيُكتب اسم النموذج فيها يدويًا
local · ollama
أمر واحد ollama launch dsh يشغّل كل شيء محليًا، مع إضافة Ollama web search مثبّتة مسبقًا (بحسب المصدر الرسمي لـ Ollama)
① من Settings → Models أدخل DeepSeek API key، ثم ② من Choose workspace اختر دليل العمل (النص الرسمي: "The session composer remains unavailable until a workspace is selected")، ثم ③ افتح جلسة وأرسل مهمتك
dsh --profile headless "job" — الوصف الرسمي: "Run one fresh persisted session, print the final answer, and exit"
terminal · profile
dsh --profile <name> — "Boot the named profile under $DSH_HOME/profiles/<name>"؛ ويُهيَّأ الـ profileان web وheadless تلقائيًا من قالب عند أول استخدام، أما بقية الـ profiles فتُنشأ عبر dsh plugin
terminal · plugin_mgmt
dsh plugin --profile <name> <pnpm args> — يمرّر وسائط pnpm إلى دليل الـ profile لإدارة الإضافات
لا يقدّم README ولا apps/cli/README.md ولا دليل المستخدم في docs أي أمر للترقية أو إزالة التثبيت (تم التحقق منها واحدًا واحدًا والنتيجة ABSENT)؛ وظهرت في نقاشات المجتمع طريقة مسح ذاكرة npx المؤقتة (rm -rf ~/.npm/_npx، انظر #49/#897)، وهي وسيلة لحلّ المشكلات لا إجراء ترقية رسمي
الحل الأعلى تأييدًا: ① pacman -Syu base-devel لتثبيت أدوات البناء؛ ② أو التحوّل إلى Bun: bun add --global @deepseek-ai/dsh (فـ node-pty ضمن قائمة Bun المسموح بها)؛ ③ أو الإصرار على npm مع مسح الذاكرة المؤقتة والسماح بسكربتات البناء: rm -rf ~/.npm/_npx && npx --allow-scripts=node-pty @deepseek-ai/dsh@0.1.0-rc.6 web؛ وحل آخر: npm config set allow-scripts=@deepseek-ai/dsh-subprocess-local,koffi,node-pty,@google/genai,protobufjs --location=user
تشخيص المجتمع: إصدار g++ 9.4.0 الافتراضي في النظام لا يدعم -std=gnu++20 (يلزم GCC 10+)؛ الحل: امسح ذاكرة npx المؤقتة أولًا، ثم CC=gcc-11 CXX=g++-11 npm install -g @deepseek-ai/dsh، ثم dsh web
السبب الجذري: لا يوفّر node-pty v1.1.0 ملفًا مبنيًا مسبقًا لـ Linux x64 (Node 24/ABI 137)، وسكربت تثبيت npm يفشل بصمت؛ الالتفاف اليدوي: ادخل دليل node-pty ونفّذ npx node-gyp rebuild لتوليد pty.node المفقود؛ ولا يوجد رد رسمي في المنشور (0 رد)
لم تُرصد تفاصيل الحل (تعليق واحد، دون تحقّق معمّق)؛ والظاهرة مرتبطة بسياسة pnpm الأمنية التي تتجاهل سكربتات بناء الاعتماديات افتراضيًا، ويمكن مقارنتها بحل allow-scripts في #49 — وهذا الحل بانتظار الاستكمال