وكلاء البرمجة
إعداد OpenCode
يقبل OpenCode أي واجهة متوافقة مع OpenAI كمزوّد مخصص. أضف nokeep في opencode.json، وجرّب بالمفتاح المجاني، ثم شغّل وكيلك على نموذج بسياق بحجم مليون توكن ومدخلات مخبّأة رخيصة.
تم التحقق في 29 أكتوبر 2026
القيم
- الرابط الأساسي
https://nokeep.ai/v1- مفتاح API
sk-nokeep-test to test, then your own sk-nokeep-… key- النموذج
deepseek-v4.1-flash-uncensored- نافذة السياق
1000000- أقصى عدد توكنات للإخراج
32768
ابدأ بالمفتاح المجاني للاختبار: يرد على كل طلب برسالة ثابتة واحدة دون استدعاءات أدوات، وهذا يثبت صحة الرابط والمفتاح دون إنفاق أي شيء. ثم الصق مفتاحك من لوحة التحكم. رصيد من $5، دون اشتراك.
الاتصال
- في OpenCode، شغّل
/connect، ومرّر إلى Other واختره. - أدخل
nokeepكمعرّف للمزوّد. - الصق
sk-nokeep-testكمفتاح API. يحفظه OpenCode لهذا المعرّف. - أضف المزوّد أدناه إلى
opencode.jsonفي مشروعك، أو إلى~/.config/opencode/opencode.jsonلكل المشاريع. - شغّل
/modelsواختر DeepSeek V4.1 Flash Uncensored. - أرسل أي رسالة. إذا بدأ الرد بـ“Connected to” فالإعداد يعمل.
- شغّل
/connectمرة أخرى بالمعرّف نفسه، والصق مفتاحك من لوحة التحكم.
{
"$schema": "https://opencode.ai/config.json",
"model": "nokeep/deepseek-v4.1-flash-uncensored",
"provider": {
"nokeep": {
"npm": "@ai-sdk/openai-compatible",
"name": "nokeep",
"options": {
"baseURL": "https://nokeep.ai/v1"
},
"models": {
"deepseek-v4.1-flash-uncensored": {
"name": "DeepSeek V4.1 Flash Uncensored",
"limit": {
"context": 1000000,
"output": 32768
}
},
"glm-5.3-flash-uncensored": {
"name": "GLM 5.3 Flash Uncensored",
"limit": {
"context": 128000,
"output": 32768
}
}
}
}
}
}يجب أن يتطابق معرّف المزوّد في /connect مع المفتاح تحت provider: nokeep في الاثنين.
لقراءة المفتاح من البيئة بدلًا من /connect، أضف "apiKey": "{env:NOKEEP_API_KEY}" تحت options.
إعدادات تستحق المعرفة
- يخبر
limit.contextOpenCode بالمساحة المتبقية، ليتمكن من ضغط المحادثة قبل أن تفيض. النموذج المخصص لا حد له ما لم تضبطه. - يُرسل
limit.outputسقفًا للتوكنات في كل رد. تكفي 32,768 للتعديلات الطويلة، ويسمح DeepSeek بما يصل إلى 131,072. - المفتاح
modelعلى المستوى الأعلى يجعل DeepSeek الافتراضي، بصيغةprovider/model. - تعمل استدعاءات الأدوات كما هي: يرسل OpenCode أدواته بصيغة OpenAI، ويرد DeepSeek بالاستدعاءات.
أي نموذج
deepseek-v4.1-flash-uncensored | glm-5.3-flash-uncensored | |
|---|---|---|
| السياق | 1,000,000 توكن | 128,000 توكن |
| أطول رد | 131,072 توكنًا | 32,768 توكنًا |
| استدعاءات الأدوات | نعم، كل tool_choice | نعم، tool_choice بقيمة auto أو none |
| يقرأ لقطات الشاشة | نعم، حتى 10 لكل طلب | لا، نص فقط |
| التفكير | مغلق إلا إذا طُلب | دائمًا، بإيجاز |
| لكل مليون توكن | $0.45 داخل · $0.011 مخبّأ · $1.75 خارج | $0.20 داخل · $0.04 مخبّأ · $0.65 خارج |
استخدم DeepSeek لأعمال الوكيل. يتسع مستودع كامل في سياقه، ويستدعي الأدوات بكل صيغها، ويُفوتر السجل الذي يعيد الوكيل إرساله في كل استدعاء بسعر المخبّأ $0.011 لكل مليون. استخدم GLM للمهام القصيرة المنفردة التي لا تعيد إرسال سجل طويل، حيث تفوز أسعاره الأقل للإدخال الجديد والإخراج.
تمت إزالة الرفض من أوزان النموذجين، لذا فالعمل قرب موضوع حساس، مثل اختبار الأمان على أنظمتك أو أدوات الإشراف، يحصل على كود بدلًا من الرفض. قارن النماذج.
التفكير
يرد DeepSeek فورًا ما لم يذكر الطلب reasoning_effort، وهذا يناسب حلقة التعديل والتشغيل السريعة للوكيل. للتخطيط أو لخطأ صعب، اطلب منه التفكير: يقبل none وlow وhigh وmax. تُشغَّل القيم minimal وmedium وxhigh في التطبيقات الأخرى على أقرب هذه القيم؛ وأي قيمة أخرى تُرفض بـ400 invalid_reasoning_effort. يُفوتر التفكير كإخراج.
في OpenCode، أضف متغيرًا يرسل مستوى جهد، ثم انتقل إليه باختصار لوحة المفاتيح variant_cycle حين تحتاج المهمة إلى تفكير. ادمج هذا في المزوّد أعلاه.
{
"provider": {
"nokeep": {
"models": {
"deepseek-v4.1-flash-uncensored": {
"variants": {
"think": {
"reasoningEffort": "high"
}
}
}
}
}
}
}تكلفة الجلسة
يرسل الوكيل المحادثة كاملة في كل استدعاء: التعليمات والملفات التي قرأها وكل خطوة سبقت. لنفترض أن الاستدعاء يرسل 60,000 توكن، منها 55,000 هي البداية نفسها من الاستدعاء السابق، ويكتب 1,000. على DeepSeek يكلّف هذا الاستدعاء نحو $0.0046، فتكون 200 استدعاء نحو $0.92. دون مخبّأ يكون الاستدعاء نفسه $0.0288.
- التخزين المؤقت تلقائي: لا شيء لتفعيله. البداية التي تبلغ نحو 1,000 توكن أو أكثر، والمتكررة خلال دقائق قليلة، تُفوتر بسعر المخبّأ.
- يحجز كل استدعاء تكلفته المحتملة، أي مطالبته وأقصى إخراج له، ثم يُسوّى على ما استخدمه فعلًا. عند أقصى إخراج 32,768 توكنًا يكون جزء الإخراج من الحجز نحو $0.0573.
- تُظهر لوحة التحكم التوكنات الحقيقية لكل استدعاء، والتوكنات المخبّأة، والرصيد. قد لا يعرف عداد التكلفة في الوكيل سعر المخبّأ، فيقرأ مرتفعًا.
إذا لم يعمل
| ما يعرضه الوكيل | الحل |
|---|---|
| 401 | المفتاح خاطئ أو ملغى. الصقه من جديد دون مسافات أو علامات تنصيص. |
| 402 | نفد الرصيد المدفوع في الحساب. اشحن من $5 في لوحة التحكم، وفعّل التعبئة التلقائية هناك حتى لا تتوقف مهمة طويلة في منتصفها: عندما ينخفض الرصيد عن المبلغ الذي تختاره، يضيف رصيدًا ببطاقتك المحفوظة. |
| 429 | تجاوزت 120 طلبًا في الدقيقة على مفتاح واحد، أو تجاوزت سقفًا يوميًا وضعته عليه. الوكلاء الذين يشغّلون عدة وكلاء فرعيين معًا يصطدمون بهذا أولًا. انتظر الثواني المذكورة في Retry-After، أو ارفع السقف من لوحة التحكم، أو امنح كل وكيل مفتاحه الخاص. |
400 invalid_reasoning_effort | أرسل الوكيل جهدًا لا يقبله النموذج. يقبل DeepSeek القيم none وlow وhigh وmax، ويقبل GLM القيمتين low أو high. |
| 404 | الرابط خاطئ أو فيه المسار مرتين. استخدم https://nokeep.ai/v1 دون /chat/completions، وتحقق من معرّف النموذج في /v1/models. |
| 503 | النموذج مشغول. أعد المحاولة بعد ثوانٍ؛ لم يُخصم شيء. |
| رسالة الاختبار الثابتة | الإعداد يعمل. استبدل مفتاحك لتحصل على ردود حقيقية. |
كل خطأ مدرج مع حله في الأخطاء.
أسئلة
هل يُحفظ كودي؟
لا. نحتفظ بسطر واحد من الأعداد لكل استدعاء: الوقت والمفتاح والنموذج والتوكنات والرصيد والحالة. لا نحتفظ أبدًا بالمطالبة أو الملفات أو الرد. ما نحتفظ به.
لماذا يكلّف الاستدعاء الثاني أقل من الأول؟
يبدأ الاستدعاء الثاني بالطريقة نفسها التي بدأ بها الأول، فتُقرأ تلك البداية من المخبّأ بسعر $0.011 لكل مليون توكن بدلًا من $0.45. معظم إدخال الوكيل يُخبَّأ بعد استدعائه الأول.
هل يمكنني الاحتفاظ بمزوّديّ الآخرين؟
نعم. nokeep مجرد مدخل إضافي تحت provider، و/models يسرده إلى جانب البقية.