لقد اخترت نموذجًا رخيصًا. قمت بحساب التكاليف على بطاقة النموذج. ثم جاءت الفاتورة ولم تكن تشبه حساباتك على الإطلاق.
هذه الفجوة ليست من النموذج أبدًا تقريبًا. إنها من الإطار الحركي (harness). الإطار الحركي هو الذي يقرر عدد مرات استدعاء النموذج، وكم من المحادثة يُعاد تشغيله في كل استدعاء، ومدى ضخامة مخططات الأدوات (tool schemas)، وما إذا كان اختبار فاشل سيُعاد تجربته ثلاث مرات أم اثنتي عشرة. نفس النموذج، نفس المهمة، إطاران حركيان مختلفان، أعداد توكنات مختلفة جدًا.
في 13 أغسطس 2026، قامت DeepSeek بفتح مصدر إطارها الحركي الخاص بها، واشتعل الجدل سريعًا. جانب واحد لديه مستودع عمره أسبوعان من المختبر الذي يبني النموذج. الجانب الآخر لديه OpenCode، وهو وكيل البرمجة الأكثر نجمةً على GitHub. كلاهما مرخصان بترخيص MIT. كلاهما يدير أي نموذج تشير إليه.
إذن هذه هي النسخة الصادقة من المقارنة. ليست مشاعر، ولا نجوم. ما يفعله كل منهما فعليًا باستهلاكك للتوكنات، وكيفية قياس ذلك على مستودعك الخاص في حوالي خمس عشرة دقيقة.
الخلاصات الرئيسية
- إطار DeepSeek الحركي (DeepSeek Harness) هو بيئة تشغيل وكيل قائمة على الإضافات من DeepSeek AI، مرخص بموجب MIT، مكتوب بلغة TypeScript، ولا يزال يحمل علامة "معاينة المطور". النماذج، الأدوات، الجلسات، التخزين، الصناديق الرملية، الحلقات، وحتى حلقة الوكيل نفسها كلها إضافات قابلة للتبديل.
- OpenCode هو وكيل برمجة بلغة Go، يعمل في الوحدة الطرفية (terminal-native)، مع حوالي 198 ألف نجمة على GitHub، وواجهة TUI ناضجة، ودعم LSP، وكتالوج مزودين كبير. إنه الخيار الافتراضي الآمن اليوم.
- اختيار الإطار الحركي يُحرّك استهلاك التوكنات أكثر مما يتوقع معظم الناس. في اختبار قياسي لـ30 سير عمل على نموذج DeepSeek V4 Flash، تراوحت الإطارات الحركية المختبرة من حوالي 192,000 إلى 1,400,000 توكنة في المتوسط لكل مهمة.
- إطار DeepSeek الحركي لم يكن في ذلك الاختبار القياسي. لقد أُطلق بعد يومين من نشره، لذا أي شخص يقتبس أرقام الاختبار القياسي لإطار DeepSeek الآن هو يخمن.
- كلاهما مستقل عن النموذج، لذا يمكنك توجيه كليهما إلى نقطة نهاية واحدة متوافقة مع OpenAI وتشغيل اختبار حقيقي متطابق. هذا هو الرقم الوحيد الذي يهم لقاعدة بياناتك البرمجية.

كمبيوتران محمولان جنبًا إلى جنب على مكتب مع ضوء الشمس يديرون نفس مهمة البرمجة من خلال إطارين حركيين مختلفين للوكيل
الطريقة الوحيدة العادلة لتشغيل DeepSeek Harness مقابل OpenCode: نموذج واحد، مهمة واحدة، وحدتا طرفية.
لماذا أصبح DeepSeek Harness مقابل OpenCode جدال الشهر
صياغة DeepSeek هي شعار: الوكيل = النموذج + الإطار الحركي. النموذج يفكر، والإطار الحركي يقرأ الملفات، ويشغل الوحدة الطرفية، ويستدعي الأدوات. لمدة عامين، قام الجميع بتحسين النصف الأول وتعاملوا مع النصف الثاني كأنه سباكة.
اتضح أن السباكة مكلفة.
قامت 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 |
اقرأ عمود التوكنات مرة أخرى. الإطار الحركي الأكثر اقتصادًا استخدم حوالي سُبع توكنات الإطار الأكثر إسرافًا، مع تشغيل نفس النموذج على نفس المهام. استنتاج الاختبار القياسي نفسه كان أن الإطارات الحركية "يمكن أن تهم بقدر أهمية النماذج التي تشغلها".
الآن الجزء الذي تتجاهله معظم المقالات. إطار DeepSeek الحركي ليس في هذا الجدول. نُشر الاختبار القياسي في 11 أغسطس، ووصل الإطار الحركي في 13 أغسطس. لا يوجد رقم موثوق للتوكنات في مقارنة مباشرة لإطار DeepSeek بعد، وأي شخص يظهر لك رقمًا هذا الشهر إما أجرى الاختبار بنفسه على مهمة ضيقة أو اختلقه. ما يقدمه لك الجدول هو خط أساس قوي وموثوق لـ OpenCode: 692,000 توكنة لكل مهمة، معدل نجاح 46.7%، وسيط زمني 129.7 ثانية.
هذا هو الرقم الذي تحاول التغلب عليه، وبقية هذه المقالة هي كيفية اختباره بصدق.
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 طرفية |
| الحالة | معاينة مطور، تغييرات غير متوافقة متوقعة | ناضجة، منتشرة على نطاق واسع |
| البنية | كل شيء عبارة عن إضافة: النماذج، الأدوات، المهارات، الجلسات، الصناديق الرملية، التخزين، الحلقات، الجدولة، واجهة المستخدم | نواة ثابتة، وكيلان مدمجان (build, plan)، إضافات MCP و LSP |
| الإعدادات | $DSH_HOME/settings.yaml | opencode.json |
| محاسبة التوكنات | عداد توكنات مدمج مع ضغط السياق وتوقعات التوزيع، بالإضافة إلى الضغط عن طريق الطي | تتبع التوكنات والتكلفة لكل جلسة، تحليل مبسط داخل TUI |
| الأنسب لـ | الفرق التي تريد إعادة كتابة حلقة الوكيل نفسها | الفرق التي تريد وكيل برمجة يعمل اليوم |
السطر المهم هو سطر البنية. OpenCode يمنحك وكيلًا مبنيًا جيدًا ويسمح لك بتوسيع الحواف. DeepSeek Harness يمنحك هيكلًا عظميًا ويسمح لك باستبدال العمود الفقري، بما في ذلك حلقة الوكيل، والتي هي نفسها إضافة. هذا غير معتاد حقًا، وهو أيضًا سبب بقائها في مرحلة المعاينة.
كلاهما مستقل عن النموذج، وهذا هو السبب الكامل وراء إمكانية إجراء اختبار عادل. قم بتوجيه كليهما إلى نقطة نهاية واحدة متوافقة مع OpenAI تخدم نموذجًا واحدًا، وكل فرق تقيسه يعود إلى الإطار الحركي.
في هذا الدليل، أستخدم DeepSeek V4 Flash من Atlas Cloud، لأنه يعرض نقطة نهاية عادية متوافقة مع OpenAI يقبلها كلا الإطارين دون أي كود محول، ونفس المفتاح يعمل لكلا التشغيلين. إدراج deepseek-v4-flash-0731 هناك بسعر 0.14 دولار لكل مليون توكنة إدخال و0.28 دولار لكل مليون توكنة إخراج، مع نافذة سياق 1,048,576 توكنة وأقصى إخراج 393,216، اعتبارًا من أغسطس 2026. أي مزود متوافق مع OpenAI يعمل لهذا الاختبار. النقطة هي أن كلا الإطارين يجب أن يضربا نفس المزود.
من الجيد معرفته قبل اختيار نموذج: ينشر OpenCode بيانات استخدامه الإجمالية، وقد مرت نماذج DeepSeek بـ 233 تريليون توكنة من خلاله، مع V4 Flash بنسبة 85.5% من ذلك وV4 Pro بنسبة 14.5% المتبقية (OpenCode، أغسطس 2026). Flash هو ما يعمل عليه النظام البيئي فعليًا.
الخطوة 1: توجيه DeepSeek Harness و OpenCode إلى نفس النموذج
احصل على مفتاح API واحد وعنوان URL أساسي واحد، ثم قم بتغذية كلا الأداتين بنفس الزوج تمامًا. أنشئ المفتاح في لوحة تحكم Atlas Cloud وقم بتصديره مرة واحدة:
bash1export ATLAS_API_KEY="your-api-key" 2
قبل توصيل أي من الإطارين، تحقق من نقطة النهاية ومعرف النموذج الدقيق باستدعاء واحد. إذا لم يُرجع هذا نصًا، فلن يعمل أي شيء في المراحل التالية:
bash1curl 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
من المفيد رؤية النموذج يجيب على المهمة الحقيقية مرة واحدة، مباشرة عبر نقطة النهاية، قبل تسليمها إلى وكيل. ثم تعرف أن التشغيل الفاشل هو من الإطار الحركي وليس من المسار:

طلب مهمة المقالة المنشور على api.atlascloud.ai، بجانب الإجابة الحقيقية التي أعادها DeepSeek V4 Flash 0731 واستخدام التوكنات الذي أبلغ عنه الاستدعاء
استدعاء حقيقي واحد لـ deepseek-ai/deepseek-v4-flash-0731، نفس معرف النموذج الذي سيستخدمه كلا الإطارين: 148 توكنة إدخال، 6,879 توكنة إخراج عائدة، 5,731 منها استدلال. هذا هو الحد الأدنى قبل أن يضيف الإطار الحركي أي مخطط أداة واحد.
الآن قم بتكوين كل جانب. يقرأ DeepSeek Harness $DSH_HOME/settings.yaml، والمزودون المخصصون المتوافقون مع OpenAI يتم وضعهم تحت إضافة llm-pi-ai (وثائق DeepSeek Harness، أغسطس 2026):
yaml1llm-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
يقبل حقل api القيم openai-completions أو openai-responses أو anthropic-messages. استخدم openai-completions هنا. إذا كنت تفضل عدم تحرير YAML يدويًا، فإن واجهة الويب تحتوي على الإعدادات ثم النماذج ثم إضافة مزود مخصص، والذي يكتب نفس الكتلة ويخزن المفتاح في $DSH_HOME/.credentials.yaml بدلاً من ذلك.
يقرأ OpenCode ملف opencode.json في جذر مشروعك أو دليل الإعدادات العامة (وثائق OpenCode، أغسطس 2026):
json1{ 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، وليس @ai-sdk/openai، لأن نقطة النهاية هذه تخدم /v1/chat/completions. عيّن قيم limit إلى أرقام السياق والإخراج الحقيقية، لأن OpenCode يستخدمها ليقرر متى يقوم بالتلخيص، وسيؤدي حد خاطئ إلى تحريف مقارنة التوكنات الخاصة بك بشكل كبير.
الخطوة 2: تشغيل المهمة القياسية في DeepSeek Harness
اختر مهمة واحدة كبيرة بما يكفي لتتطلب عدة استدعاءات أدوات وصغيرة بما يكفي لتقييمها بشكل موضوعي. متعددة الملفات، بالإضافة إلى مجموعة اختبار يجب أن تمر فعليًا. استخدم نفس حالة المستودع لكلا التشغيلين، لذا قم بالتثبيت (commit) أو التخزين المؤقت (stash) أولاً.
هذا هو نص المهمة بالضبط. الصقه حرفيًا في كلا الإطارين:
text1In this repository, add a token-bucket rate limiter middleware for the Express 2app in src/server.js. Limit each IP to 60 requests per minute. On rejection, 3return HTTP 429 with the JSON body {"error":"rate_limited","retryAfter":<seconds>}. 4Wire the middleware into every /api/* route. Add unit tests in 5test/rate-limit.test.js covering three cases: a request under the limit is 6allowed, a request over the limit is blocked with 429, and the counter resets 7after the window expires. Run the test suite and fix failures until it passes. 8Do not modify any file outside src/ and test/. 9
ابدأ الإطار الحركي من دليل مشروعك:
bash1cd /path/to/your/repo 2npx @deepseek-ai/dsh web 3
هذا يخدم واجهة الويب على http://127.0.0.1:3080. حدد مزود atlas والنموذج deepseek-ai/deepseek-v4-flash-0731، والصق المهمة، ودعها تعمل حتى الاكتمال. لا تتدخل، لا تجب على أسئلة التوضيح بتلميحات. أي مساعدة تعطيها لإطار دون الآخر تبطل المقارنة.
عندما تنتهي، افتح عرض المسار (Trajectory view). هذا هو سجل الجلسة، وهو المكان الذي توجد فيه أرقام التوكنات.
الخطوة 3: كرر التشغيل في OpenCode لاختبار عادل بين DeepSeek Harness و OpenCode
أعد تعيين المستودع إلى نفس حالة البداية تمامًا. هذه هي الخطوة التي تنكسر فيها معظم المقارنات غير الرسمية بهدوء، لأن الإطار الحركي الثاني يبدأ على مستودع قام الأول بالفعل بإصلاح نصفه.
bash1git checkout -- . && git clean -fd 2
ثم قم بتشغيل OpenCode ضد نفس النموذج:
bash1opencode --model atlas/deepseek-ai/deepseek-v4-flash-0731 2
الصق نص المهمة المطابق من الخطوة 2. استخدم الوكيل الافتراضي build، لأنه هو الذي لديه وصول كامل للملفات والوحدة الطرفية. مرة أخرى، لا تلميحات، لا تصحيحات مسار، نفس المعاملة بدون تدخل.
دعها تنتهي، ثم تحقق من كلا التشغيلين بنفس الطريقة التي ستقيم بها أي طلب سحب (PR):
bash1npm test 2
التشغيل الذي يترك المجموعة حمراء لم ينجح، بغض النظر عن مدى ثقة الملخص الذي بدا عليه. قيمه بشكل ثنائي، تمامًا مثل منهجية Composio. محدد المعدل الذي يعمل نصفه هو فشل.
الخطوة 4: قراءة استخدام التوكنات بين DeepSeek Harness و OpenCode
الآن اجمع الأرقام. كلا الإطارين يتتبعان الاستخدام، لكنهما يظهرانه بشكل مختلف جدًا، وهذا هو أكبر فرق يومي بينهما.
DeepSeek Harness يشحن عداد توكنات مثبت افتراضيًا. يعرض ثلاثة توقعات للجلسة يمكنك قراءتها مباشرة: tokenUsage للمجموع الجاري، contextPressure لمدى قربك من النافذة، و contextBreakdown لأين ذهبت التوكنات فعليًا. هذا الأخير هو المفيد، لأنه يخبرك ما إذا كانت فاتورتك هي من البرنامج النصي للنظام، أو مخططات الأدوات، أو قراءات الملفات، أو إعادة تشغيل المحادثة. يستخدم العداد قاعدة تقريبية ثابتة تبلغ حوالي توكنة واحدة لكل أربعة أحرف بدلاً من محلل حقيقي، لذا تعامل معه كتقدير قوي، وليس كفاتورة.
يتعامل الإطار الحركي أيضًا مع السياق الكامل بشكل مختلف. بدلاً من الاقتطاع، يقوم محرك الضغط (compaction engine) بطي المحتوى: يستبدل السطح المرئي للنموذج بملخص بينما يبقى السجل الكامل في طبقة الاستمرارية. تفقد التوكنات من المطالبة، وليس التاريخ من السجل.
OpenCode يتتبع التوكنات والتكلفة لكل جلسة ويطبعها في سطر الحالة أثناء العمل. التحليل داخل TUI مبسط عمدًا، ولهذا السبب يوجد نظام بيئي صغير من المحللين الخارجيين الذين يقرؤون قاعدة بيانات جلسات OpenCode مباشرة لتقسيم الاستخدام حسب الأداة ومعدل ضربات التخزين المؤقت. إذا كنت تريد إسنادًا لكل أداة، فستحتاج إلى تثبيت شيء ما.
للمقارنة نفسها، لا تثق في عداد أي أداة ككلمة نهائية. استخدم الرقم من جانب المزود، لأن هذا هو ما تدفعه فعليًا:
| ما الذي تقارنه | أين تحصل عليه |
|---|---|
| إجمالي توكنات الإدخال | لوحة تحكم استخدام المزود، لكل مفتاح API |
| إجمالي توكنات الإخراج | لوحة تحكم استخدام المزود، لكل مفتاح API |
| عدد استدعاءات النموذج | عرض مسار الإطار الحركي / سجل جلسة OpenCode |
| وقت الساعة الحائطية | ساعة توقيت، من البداية إلى آخر كتابة ملف |
| نجاح أو فشل | كود خروج npm test |
الطريقة الأنظف هي إنشاء مفتاحي API منفصلين، أحدهما باسم harness-test والآخر باسم opencode-test، واستخدام كل منهما لتشغيل واحد بالضبط. ثم تعطيك صفحة استخدام المزود مقارنة جنبًا إلى جنب لا تقبل الجدل وبخطأ تقدير صفري. هذه الحيلة تستغرق دقيقتين وتزيل كل مصدر خلاف حول عداد من هو الصحيح.
استخدام التوكنات في DeepSeek Harness: ما يحرك الفاتورة فعليًا
بمجرد حصولك على أرقام حقيقية، هذه هي الروافع التي تستحق اللمس. تنطبق على كلا الإطارين، وهي أهم بكثير من أي إطار اخترته.
إعادة تشغيل المحادثة عادةً ما يكون أكبر بند. يعيد الوكلاء إرسال المحادثة المتنامية في كل خطوة. مهمة من 40 خطوة لا تكلف 40 مطالبة، بل تكلف شيئًا أقرب إلى مجموع 40 مطالبة متزايدة الطول. هذا هو سبب تباين الاختبار القياسي من 192,000 إلى 1,400,000 توكنة على عمل متطابق. الإطارات الحركية التي تلخص بقوة تهبط في أسفل هذا النطاق.
ضربات التخزين المؤقت (Cache hits) هي أرخص تحسين متاح. ضربات التخزين المؤقت لـ DeepSeek V4 Flash مسعرة بحوالي 0.0028 دولار لكل مليون توكنة مقابل 0.14 دولار لكل مليون عند الخطأ، أي أرخص بحوالي 98%. التخزين المؤقت يعمل فقط عندما يكون بادئة الطلب متطابقة بايتًا بايت، وهذا هو بالضبط سبب فرض DeepSeek Harness لاستيفاء صارم لـ {{variable}} مع دلالات الفشل العالي والاحتفاظ برأس طلب ثابت. الإطار الحركي الذي يخلط بين البرنامج النصي للنظام عبر الاستدعاءات يحول كل ضربة إلى خطأ بهدوء.
مخططات الأدوات تركب مع كل استدعاء. عشرون خادم MCP متصل يعني عشرين مجموعة من المخططات في المطالبة، إلى الأبد، سواء لمستها المهمة أم لا. افصل ما لا تحتاجه هذه المهمة قبل أن تبدأ الاختبار القياسي، وإلا فأنت تقيس تكوين MCP الخاص بك وليس إطارك الحركي.
نتائج الأدوات كبيرة الحجم تسمم السياق. أمر cat لملف بطول 3000 سطر، أو مشغل اختبار ثرثارة يطبع تتبعًا كاملاً للمكدس، يبقى في المحادثة لبقية التشغيل. الإطار الحركي لديه رفيق تقليم اختياري للنتائج يعيد كتابة نتائج الأدوات كبيرة الحجم قبل التلخيص. من الجيد تشغيله.
إعادة المحاولات غير مرئية حتى تعد الاستدعاءات. إطار حركي يعيد محاولة اختبار فاشل ثلاث مرات ينفق ثلاثة أضعاف. قارن عمود عدد الاستدعاءات، وليس فقط إجمالي التوكنات، أو ستشخص حلقة إعادة محاولة خطأ على أنها نموذج باهظ الثمن.
من حيث التكلفة، الحساب بسيط بمجرد الحصول على عدد التوكنات. بمعدل 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؟
لا توجد مقارنة مباشرة منشورة حتى الآن. الاختبار القياسي لـ 8 إطارات حركية على DeepSeek V4 Flash قاس OpenCode عند 692,000 توكنة في المتوسط لكل مهمة، لكنه تشغيل قبل يومين من إطلاق DeepSeek Harness، لذا لم يتم تضمين الإطار الحركي. أي شخص يقتبس رقمًا لـ Harness من ذلك الاختبار يقتبس شيئًا غير موجود. قم بتشغيل اختبار الخطوات 2 إلى 4 على مستودعك الخاص، لأن استخدام التوكنات يعتمد بشكل كبير على حجم قاعدة بياناتك البرمجية، وتكوين MCP الخاص بك، وشكل مهمتك.
هل يمكنني تشغيل DeepSeek Harness و OpenCode ضد نفس مفتاح API؟
نعم، وللاختبار العادي هذا جيد. للقياس النظيف، استخدم مفتاحين منفصلين، واحد لكل إطار حركي. عندها تنسب لوحة تحكم استخدام المزود الخاص بك كل توكنة إلى التشغيل الصحيح تلقائيًا ولا تضطر أبدًا إلى التوفيق بين مقدرين داخليين مختلفين مقابل فاتورة واحدة.
ما هو الفرق بين الوكيل والإطار الحركي؟
صياغة DeepSeek نفسها هي: الوكيل = النموذج + الإطار الحركي. النموذج يقوم بالاستدلال. الإطار الحركي هو كل ما يربطه بالواقع: قراءة وكتابة الملفات، تشغيل أوامر الوحدة الطرفية، استدعاء الأدوات، إدارة الجلسات، معالجة الموافقات، وقيادة الحلقة التي تقرر ما يحدث بعد ذلك. نفس النموذج مع إطار حركي مختلف يعطيك وكيلًا مختلفًا بشكل measurable، وهذا هو الهدف الكامل من هذه المقارنة.






