عاملهای برنامهنویسی
راهاندازی OpenCode
OpenCode هر API سازگار با OpenAI را بهعنوان ارائهدهندهٔ سفارشی میپذیرد. nokeep را در opencode.json اضافه کن، با کلید رایگان آزمایش کن، و بعد عاملت را روی مدلی با زمینهٔ یک میلیون توکنی و ورودی کششدهٔ ارزان اجرا کن.
بررسیشده در ۷ آبان ۱۴۰۵
مقادیر
- آدرس پایه
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، زیر options این خط را اضافه کن: "apiKey": "{env:NOKEEP_API_KEY}".
تنظیمهایی که ارزش دانستن دارند
limit.contextبه OpenCode میگوید چقدر جا مانده، تا قبل از پر شدن، گفتگو را فشرده کند. یک مدل سفارشی تا وقتی خودت حدی تنظیم نکنی، حد ندارد.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 در هر درخواست | نه، فقط متن |
| تفکر | خاموش، مگر درخواست شود | همیشه، بهطور کوتاه |
| به ازای هر 1M توکن | $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 اضافه کن که effort بفرستد، و وقتی کاری به فکر کردن نیاز دارد، با کلید 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 دلار در کنسول شارژ کن، و Auto top-up را آنجا روشن کن تا یک کار طولانی وسط راه متوقف نشود: وقتی موجودی زیر مبلغی که انتخاب کردهای برود، با کارت ذخیرهشدهات اعتبار اضافه میکند. |
| 429 | بیش از 120 درخواست در دقیقه روی یک کلید، یا بیش از سقف روزانهای که روی آن گذاشتهای. عاملهایی که چند زیرعامل را همزمان اجرا میکنند اول به این میخورند. ثانیههای Retry-After را صبر کن، سقف را در کنسول بالا ببر، یا به هر عامل کلید جدا بده. |
400 invalid_reasoning_effort | عامل effortی فرستاده که مدل نمیپذیرد. DeepSeek یکی از none، low، high، max را میپذیرد؛ GLM فقط low یا high. |
| 404 | URL اشتباه است یا مسیر دوبار آمده. از https://nokeep.ai/v1 استفاده کن، بدون /chat/completions، و شناسهٔ مدل را با /v1/models بررسی کن. |
| 503 | مدل مشغول است. چند ثانیه بعد دوباره امتحان کن؛ چیزی صورتحساب نشده است. |
| خط آزمایشی ثابت | تنظیمات درست است. برای پاسخهای واقعی، کلید خودت را جایگزین کن. |
هر خطا با راهحلش در خطاها آمده است.
پرسشها
آیا کدم ذخیره میشود؟
نه. برای هر تماس فقط یک ردیف شمارش نگه میداریم: زمان، کلید، مدل، توکنها، اعتبار و وضعیت. هرگز پرامپت، فایلها یا پاسخ را نگه نمیداریم. آنچه نگه میداریم.
چرا تماس دوم کمتر از تماس اول هزینه دارد؟
تماس دوم با همان آغازی شروع میشود که اولی شروع شد، پس آن آغاز با 0.011 دلار در هر میلیون توکن از کش خوانده میشود، نه 0.45 دلار. بیشتر ورودی یک عامل بعد از تماس اولش کش میشود.
میتوانم ارائهدهندههای دیگرم را نگه دارم؟
بله. nokeep یک ورودی دیگر زیر provider است، و /models آن را کنار بقیه فهرست میکند.