لم يكن إطار تشغيل DeepSeek جزءًا من ذلك المعيار. فقد تم إصداره بعد يومين. هذا يعني أن السؤال المفيد ليس "أيهما فاز؟" بل السؤال المفيد هو: كيف يمكن تشغيل نفس المهمة عبر كلا الأداتين، على نفس النموذج، وقراءة الفاتورة دون خداع نفسك.
الخلاصات الرئيسية
- اختيار إطار التشغيل يمكن أن يغير استهلاك التوكنات بنحو 7 أضعاف في مهام الوكيل المماثلة.
- قم بقياس DeepSeek Harness و OpenCode باستخدام نفس النموذج ونفس حالة المستودع.
- استخدم مفاتيح API منفصلة قبل أن تختار أحدهما للعمل اليومي.

جهازي كمبيوتر محمول يقومان بتشغيل نفس مهمة البرمجة عبر إطاري تشغيل وكيلين
الإعداد العادل: نموذج واحد، مهمة واحدة، طرفيتان.
ما يخبرنا به المعيار العام
أجرت Composio 30 سير عمل معقدة متعددة التطبيقات عبر 8 إطارات تشغيل وكيل، جميعها تستخدم DeepSeek V4 Flash، مع حد أقصى 900 ثانية لكل مهمة وتقييم برمجي ثنائي عبر 240 عملية تشغيل (Composio، أغسطس 2026). نفس النموذج، إطارات تشغيل مختلفة.
| إطار التشغيل | معدل النجاح | متوسط الوقت | متوسط التوكنات لكل مهمة |
|---|---|---|---|
| Pi Agent | 66.7% | 132.2 ثانية | 559,000 |
| Prime Agent | 62.5% | 242.1 ثانية | 1,400,000 |
| OMP | 56.7% | 272.4 ثانية | 742,000 |
| Claude Code | 53.3% | 122.7 ثانية | 742,000 |
| Codex | 53.3% | 245.0 ثانية | 678,000 |
| DeepAgents | 53.3% | 187.1 ثانية | 665,000 |
| Hermes Agent | 50.0% | 175.5 ثانية | 192,000 |
| OpenCode | 46.7% | 129.7 ثانية | 692,000 |
عمود التوكنات أهم من الترتيب. يتراوح المدى من 192,000 إلى 1,400,000 توكن كمتوسط لكل مهمة. هذا هو نفس النموذج الذي يقوم بعمل مماثل عبر بيئات تشغيل مختلفة.
يمنحنا OpenCode خط أساس موثق: 692,000 توكن لكل مهمة، ومعدل نجاح 46.7%، ومتوسط وقت 129.7 ثانية. لا يحتوي DeepSeek Harness على رقم مقارنة مباشر من هذا المعيار لأن DeepSeek أصدرته في 13 أغسطس 2026، أي بعد يومين من نشر المعيار.
استخدم الجدول كتحذير، وليس كحكم. إنه يوضح أن إطار التشغيل يمكن أن يهيمن على التكلفة. لكنه لا يثبت ما إذا كان DeepSeek Harness يتفوق على OpenCode في مستودعك الخاص.
ما الذي يتغير عند تبديل إطارات التشغيل
قبل الاختبار، قارن بين الأداتين من حيث الأجزاء التي تهم المطور العامل: مساحة الإعداد، النضج، وضوح التوكنات، ومدى قدرتك على استبدال حلقة الوكيل.
| DeepSeek Harness (dsh) | OpenCode | |
|---|---|---|
| المصدر | DeepSeek AI | Anomaly (في الأصل SST) |
| تاريخ الإصدار | 13 أغسطس 2026 | أواخر 2025 |
| نجوم GitHub | حوالي 143 ألف | حوالي 198 ألف |
| الترخيص | MIT | MIT |
| اللغة | TypeScript | Go |
| الواجهة | واجهة ويب على 127.0.0.1:3080 | واجهة طرفية TUI |
| الحالة | معاينة للمطورين، تغييرات جذرية متوقعة | ناضج، منتشر على نطاق واسع |
| البنية | إضافات قابلة للاستبدال للنماذج، الأدوات، الجلسات، بيئات العزل، التخزين، الحلقات وواجهة المستخدم | نواة ثابتة مع وكلاء بناء/تخطيط، دعم MCP وامتدادات LSP |
| الإعدادات | $DSH_HOME/settings.yaml | opencode.json |
| محاسبة التوكنات | عداد توكنات مع ضغط السياق وتفصيل السياق وتوقعات التوزيع | تتبع التوكنات والتكلفة لكل جلسة في شريط حالة TUI |
| الأنسب لـ | الفرق التي تريد تعديل حلقة الوكيل نفسها | الفرق التي تريد وكيل برمجة يعمل اليوم |
يمنحك OpenCode وكيل برمجة مستقر مع نقاط تمديد حول الحواف. يمنحك DeepSeek Harness بيئة تشغيل حيث يمكن تبديل الحلقة نفسها. هذه المرونة مفيدة إذا كنت تبني بنية تحتية للوكيل. لكنها تضيف مخاطرة إذا كنت بحاجة إلى أداة افتراضية لرمز الإنتاج هذا الأسبوع.
يمكن لكلتا الأداتين الوصول إلى نفس نقطة النهاية المتوافقة مع OpenAI. وهذا يجعل الاختبار العادل ممكنًا: نموذج واحد، عنوان URL أساسي واحد، مهمة واحدة، وحالة مستودع بداية واحدة.
في هذا الدليل الإرشادي، يعمل DeepSeek V4 Flash عبر Atlas Cloud، الذي يعرض نقطة نهاية متوافقة مع OpenAI تقبلها كلتا الأداتين. يُظهر إدراج deepseek-v4-flash-0731 سعر 0.14 دولار لكل مليون توكن إدخال، و0.28 دولار لكل مليون توكن إخراج، ونافذة سياق 1,048,576 توكن، والحد الأقصى للإخراج 393,216 توكن اعتبارًا من أغسطس 2026. أي مزود يعمل طالما أن كلا الإطارين يستخدمان نفس نقطة النهاية ومعرف النموذج.
ينشر OpenCode أيضًا بيانات استخدام إجمالية. لقد حركت نماذج DeepSeek 233 تريليون توكن عبر OpenCode، حيث شكل V4 Flash 85.5% و V4 Pro 14.5% (OpenCode، أغسطس 2026). نمط الاستخدام هذا يجعل V4 Flash الخيار الافتراضي العملي للمقارنة.
الخطوة 1: توجيه كلتا الأداتين إلى نفس النموذج
أنشئ مفتاح API واحد وعنوان URL أساسي واحد، ثم زود كلتا الأداتين بنفس الزوج. أنشئ المفتاح في لوحة تحكم Atlas Cloud وقم بتصديره مرة واحدة:
plaintext1export ATLAS_API_KEY="your-api-key" 2
تحقق من نقطة النهاية قبل تسليمها لأي من الإطارين:
plaintext1curl https://api.atlascloud.ai/v1/chat/completions \ 2 -H "Authorization: Bearer $ATLAS_API_KEY" \ 3 -H "Content-Type: application/json" \ 4 -d '{ 5 "model": "deepseek-ai/deepseek-v4-flash-0731", 6 "messages": [{"role": "user", "content": "Reply with the single word: ready"}] 7 }' 8
يثبت هذا الاستدعاء أن المسار والمفتاح ومعرف النموذج يعملون قبل أن يضيف إطار التشغيل أدوات أو إعادة محاولة أو إعادة تشغيل المحادثة.

مطالبة برمجية، رمز مُنشأ وإحصائيات توكنات من استدعاء نموذج واحد
استدعاء مباشر واحد لـ deepseek-ai/deepseek-v4-flash-0731: 148 توكن مطالبة داخلة، 6,879 توكن إخراج عائدة، بما في ذلك 5,731 توكن استدلال. تعامل مع هذا كالحد الأدنى قبل أن يضيف إطار التشغيل مخططات الأدوات والسجل.
يقرأ DeepSeek Harness ملف $DSH_HOME/settings.yaml، ويتم وضع المزودين المخصصين المتوافقين مع OpenAI تحت ملحق llm-pi-ai (وثائق DeepSeek Harness، أغسطس 2026):
plaintext1llm-pi-ai: 2 providers: 3 atlas: 4 apiKeyEnv: ATLAS_API_KEY 5 api: openai-completions 6 baseURL: https://api.atlascloud.ai/v1 7 models: 8 - id: deepseek-ai/deepseek-v4-flash-0731 9
استخدم openai-completions لنقطة النهاية هذه. يمكن لواجهة الويب كتابة نفس كتلة المزود من الإعدادات، النماذج، إضافة مزود مخصص، ثم تخزين المفتاح في $DSH_HOME/.credentials.yaml.
يقرأ OpenCode ملف opencode.json في جذر مشروعك أو دليل الإعدادات العام (وثائق OpenCode، أغسطس 2026):
plaintext1{ 2 "$schema": "https://opencode.ai/config.json", 3 "provider": { 4 "atlas": { 5 "npm": "@ai-sdk/openai-compatible", 6 "name": "Atlas Cloud", 7 "options": { 8 "baseURL": "https://api.atlascloud.ai/v1", 9 "apiKey": "{env:ATLAS_API_KEY}" 10 }, 11 "models": { 12 "deepseek-ai/deepseek-v4-flash-0731": { 13 "name": "DeepSeek V4 Flash 0731", 14 "limit": { "context": 1048576, "output": 393216 } 15 } 16 } 17 } 18 }, 19 "model": "atlas/deepseek-ai/deepseek-v4-flash-0731" 20} 21
استخدم @ai-sdk/openai-compatible، لأن نقطة النهاية هذه تخدم /v1/chat/completions. قم بتعيين حدود السياق والإخراج الحقيقية. يستخدمها OpenCode عندما يقرر متى يلخص، والحدود الخاطئة يمكن أن تشوه مقارنة التوكنات.
الخطوة 2: تشغيل نفس مهمة المعيار في DeepSeek Harness
اختر مهمة كبيرة بما يكفي لتتطلب عدة استدعاءات للأدوات وصغيرة بما يكفي للتقييم. استخدم نفس حالة المستودع لكلا التشغيلين، لذا قم بتنفيذ commit أو stash قبل البدء.
الصق هذه المهمة بالضبط في كلتا الأداتين:
plaintext1في هذا المستودع، أضف وسيطة (middleware) لمحدد معدل دلو التوكنات (token-bucket rate limiter) لتطبيق Express 2في src/server.js. حدد كل عنوان IP بـ 60 طلبًا في الدقيقة. عند الرفض، 3أرجع HTTP 429 مع نص JSON {"error":"rate_limited","retryAfter":<seconds>}. 4قم بتوصيل الوسيطة في كل مسار /api/*. أضف اختبارات وحدة في 5test/rate-limit.test.js تغطي ثلاث حالات: طلب تحت الحد مسموح به، 6طلب فوق الحد يتم حظره مع 429، وأن العداد يُعاد تعيينه بعد 7انتهاء النافذة. قم بتشغيل مجموعة الاختبارات وأصلح الإخفاقات حتى تنجح. 8لا تعدل أي ملف خارج src/ و test/. 9
ابدأ Harness من دليل مشروعك:
plaintext1cd /path/to/your/repo 2npx @deepseek-ai/dsh web 3
تعمل واجهة المستخدم على http://127.0.0.1:3080. حدد مزود atlas ونموذج deepseek-ai/deepseek-v4-flash-0731، الصق المهمة، واتركها تنتهي. لا تضف تلميحات بعد بدء التشغيل. المساعدة الإضافية لأداة واحدة تبطل المقارنة.
عندما ينتهي Harness، افتح عرض المسار (Trajectory view). سجل الجلسة هذا هو المكان الذي توجد فيه أرقام التوكنات الخاصة به.
الخطوة 3: كرر التشغيل في OpenCode
أعد تعيين المستودع إلى حالة البداية بالضبط. يجب ألا يرث إطار التشغيل الثاني الملفات التي غيرها الأول بالفعل.
plaintext1git checkout -- . && git clean -fd 2
ثم قم بتشغيل OpenCode ضد نفس النموذج:
plaintext1opencode --model atlas/deepseek-ai/deepseek-v4-flash-0731 2
الصق نفس مطالبة المهمة من الخطوة 2. استخدم وكيل build الافتراضي. اتركه ينتهي دون تلميحات.
قيّم كلا التشغيلين بنفس الأمر:
plaintext1npm test 2
التشغيل الذي يترك مجموعة الاختبارات حمراء (فاشلة) يعتبر فاشلاً، حتى لو كان ملخص الوكيل يبدو واثقًا. استخدم التقييم الثنائي: نجاح أو فشل.
الخطوة 4: قراءة استخدام التوكنات
تتتبع كلتا الأداتين الاستخدام، لكن لا ينبغي أن يكون أي من العدادين هو رقم الفاتورة النهائي الخاص بك.
DeepSeek Harness يشحن عداد توكنات مثبت افتراضيًا. يعرض tokenUsage و contextPressure و contextBreakdown في عرض المسار. يخبرك contextBreakdown ما إذا كانت الفاتورة جاءت من مطالبة النظام، مخططات الأدوات، قراءات الملفات، أو إعادة تشغيل المحادثة. يقدر العداد حوالي توكن واحد لكل أربعة أحرف، لذا استخدمه كعرض تشخيصي.
OpenCode يتتبع التوكنات والتكلفة لكل جلسة ويطبعها في شريط حالة TUI. تحليله المدمج أصغر، لذا فإن الفرق التي تحتاج إلى إسناد لكل أداة غالبًا ما تفحص قاعدة بيانات الجلسة بمحللات خارجية.
استخدم الأرقام من جانب المزود للمقارنة:
| ما الذي تقارنه | أين تحصل عليه |
|---|---|
| إجمالي توكنات الإدخال | لوحة استخدام المزود، لكل مفتاح API |
| إجمالي توكنات الإخراج | لوحة استخدام المزود، لكل مفتاح API |
| عدد استدعاءات النموذج | عرض مسار الإطار / سجل جلسة OpenCode |
| الوقت الفعلي | ساعة إيقاف، من البداية إلى آخر كتابة ملف |
| نجاح أو فشل | رمز خروج npm test |
أنشئ مفتاحي API، harness-test و opencode-test، واستخدم كل مفتاح لتشغيل واحد. ستعطيك لوحة تحكم المزود استخدامًا نظيفًا جنبًا إلى جنب دون الحاجة إلى التوفيق بين مقدرين داخليين.
لماذا تتحرك الفاتورة
يتغير استخدام التوكنات لأسباب ملموسة. هذه الأسباب الخمسة عادة ما تكون أكثر أهمية من سعر النموذج.
إعادة تشغيل المحادثة تتراكم. يعيد الوكلاء إرسال المحادثة المتنامية في كل خطوة. مهمة من 40 خطوة تكلف أقرب إلى مجموع 40 مطالبة متنامية من 40 مطالبة متطابقة. إطارات التشغيل التي تلخص مبكرًا تقترب من الطرف الأدنى لانتشار المعيار.
ضربات ذاكرة التخزين المؤقت تقلل تكلفة الإدخال. ضربات ذاكرة التخزين المؤقت لـ DeepSeek V4 Flash مسعرة بحوالي 0.0028 دولار لكل مليون توكن مقابل 0.14 دولار لكل مليون في حالة عدم الضربة، أي أرخص بنحو 98%. تحتاج التخزين المؤقت إلى بادئة ثابتة بايتاً ببايت. إذا قام إطار التشغيل بإعادة ترتيب نص مطالبة النظام بين الاستدعاءات، فإنه يحول الضربات إلى أخطاء.
مخططات الأدوات ترافق. عشرون خادم MCP متصلاً يعني عشرين مجموعة مخطط في المطالبة، حتى لو كانت المهمة تستخدم اثنين منها. افصل الأدوات التي لا تحتاجها قبل قياس الأداء، وإلا فأنت تقيس إعداد أداتك بدلاً من إطار التشغيل.
مخرجات الأدوات الكبيرة تسمم السياق. cat لملف من 3000 سطر أو سجل اختبار فاشل مطول يبقى في المحادثة للاستدعاءات اللاحقة. يمكن لـ DeepSeek Harness تقليم نتائج الأدوات كبيرة الحجم قبل التلخيص. قم بتشغيل ذلك عندما تنتج المهمة مخرجات مزعجة.
إعادة المحاولات تختبئ داخل عدد الاستدعاءات. إطار التشغيل الذي يعيد محاولة حلقة اختبار فاشلة ينفق توكنات في كل مرة. قارن استدعاءات النموذج بجانب إجمالي التوكنات حتى تتمكن من فصل حلقة إعادة المحاولة عن المطالبة المكلفة.
بسعر Atlas Cloud لـ DeepSeek V4 Flash، مهمة 692,000 توكن موزونة نحو الإدخال تصل إلى بضعة سنتات منخفضة. هذا صغير لتشغيل واحد وكبير عبر فريق يقوم بتشغيل وكلاء طوال اليوم. تصفح كتالوج النماذج الكامل إذا كنت تريد تكرار الاختبار على نموذج ثانٍ وفصل تأثيرات النموذج عن تأثيرات إطار التشغيل.
لا يزال DeepSeek Harness معاينة للمطورين، وملف README الخاص به يحذر من التغييرات الجذرية. قم بقياس أدائه إذا كنت تريد التحكم في حلقة الوكيل. قم بتوحيد المعايير عليه فقط إذا كان فريقك يستطيع استيعاب التغيير. OpenCode هو الخيار الأكثر استقرارًا للفرق التي تحتاج إلى أداة اليوم.
الأسئلة الشائعة
هل DeepSeek Harness أفضل من OpenCode؟
ليس بعد لمعظم الفرق. OpenCode ناضج، أصلي في الطرفية، لديه حوالي 198 ألف نجم وكتالوج مزودين كبير، ويعمل اليوم. DeepSeek Harness أحدث، في معاينة للمطورين، ويحذر من التغييرات الجذرية. اختر Harness إذا كنت تريد تعديل مكونات الوكيل الداخلية. اختر OpenCode إذا كنت تريد وكيل برمجة للعمل اليومي.
هل يعمل DeepSeek Harness فقط مع نماذج DeepSeek؟
لا. إنه غير محدد بنموذج معين. يشحن مزودين في الكتالوج لـ DeepSeek و Anthropic و OpenAI و Bedrock و Vertex و Azure و Codex، ويمكنك إضافة أي مزود مخصص يتحدث openai-completions أو openai-responses أو anthropic-messages في $DSH_HOME/settings.yaml. إعداد الخطوة 1 يوجهه إلى نقطة نهاية متوافقة مع OpenAI دون كود محول.
كيف أتحقق من استخدام توكنات DeepSeek Harness؟
استخدم عداد التوكنات المدمج في عرض المسار. يعرض tokenUsage و contextPressure و contextBreakdown. تعامل معه كتقدير لأنه يستخدم حوالي توكن واحد لكل أربعة أحرف. لدقة الفوترة، اقرأ لوحة استخدام المزود، ويفضل أن يكون ذلك بمفتاح API مخصص لكل تشغيل.
أي إطار تشغيل يستخدم توكنات أقل، DeepSeek Harness أم OpenCode؟
لا يوجد معيار مقارنة مباشر منشور يجيب على ذلك بعد. معيار Composio قاس OpenCode عند 692,000 توكن كمتوسط لكل مهمة، لكنه تم تشغيله قبل إصدار DeepSeek Harness. قم بتشغيل اختبار الخطوات 2 إلى 4 على مستودعك الخاص لأن استخدام التوكنات يعتمد على حجم قاعدة الكود وإعداد الأداة وشكل المهمة.
هل يمكنني تشغيل DeepSeek Harness و OpenCode ضد نفس مفتاح API؟
نعم، لاختبار عادي. لقياس نظيف، استخدم مفتاحين منفصلين، واحد لكل إطار تشغيل. ستنسب لوحة تحكم المزود كل توكن إلى التشغيل الصحيح.
ما الفرق بين الوكيل وإطار التشغيل؟
يصف DeepSeek الوكيل على أنه نموذج بالإضافة إلى إطار التشغيل. النموذج يقوم بالاستدلال. إطار التشغيل يربط النموذج بالملفات وأوامر الصدفة والأدوات والجلسات والموافقات والحلقة التي تقرر الإجراء التالي. غيّر إطار التشغيل ويمكن لنفس النموذج أن ينفق عددًا مختلفًا من التوكنات على نفس المهمة.






