پرش به محتوا
همه مستندات

عامل‌های برنامه‌نویسی

راه‌اندازی Aider

Aider با دو متغیر محیطی و یک نام مدل با پیشوند openai/ به هر API سازگار با OpenAI وصل می‌شود. بعد از آن دو فایل کوچک، محدودیت‌ها و قیمت واقعی مدل را به آن می‌دهند.

بررسی‌شده در ۷ آبان ۱۴۰۵

مقدارها

OPENAI_API_BASE
https://nokeep.ai/v1
کلید API
sk-nokeep-test to test, then your own sk-nokeep-… key
مدل
deepseek-v4.1-flash-uncensored
پنجرهٔ متن
1000000
حداکثر توکن خروجی
32768

با کلید آزمایشی رایگان شروع کن: هر درخواست را با یک خط ثابت و بدون فراخوانی ابزار پاسخ می‌دهد، و همین ثابت می‌کند نشانی و کلید درست‌اند، بدون هیچ هزینه‌ای. بعد کلید خودت را از کنسول بچسبان. اعتبار از ۵ دلار است و اشتراک ندارد.

اتصال

  1. نشانی پایه و کلید را در شل خود تنظیم کن.
  2. Aider را در پروژهٔ خود با نام مدلی که پیشوند openai/ دارد اجرا کن: openai/deepseek-v4.1-flash-uncensored.
  3. هر چیزی بپرس. پاسخی که با «Connected to» شروع شود یعنی تنظیمات درست است.
  4. OPENAI_API_KEY را روی کلید خودت از کنسول بگذار و Aider را دوباره اجرا کن.
export OPENAI_API_BASE=https://nokeep.ai/v1
export OPENAI_API_KEY=sk-nokeep-test

cd /path/to/your/project
aider --model openai/deepseek-v4.1-flash-uncensored

پیشوند openai/ را نگه دار: همان است که تماس را به OPENAI_API_BASE می‌فرستد. بدون آن Aider نام مدل را نمی‌شناسد و تماس خطا می‌دهد.

اگر متغیرهای OpenAI خودت را برای OpenAI نگه می‌داری، این دو مقدار را به‌جایش با پرچم‌های --openai-api-base و --openai-api-key بده.

محدودیت‌ها، قیمت‌ها و ویرایش‌ها

Aider هشدار می‌دهد که پنجرهٔ متن یا قیمت این مدل را نمی‌شناسد. بدون آن هم کار می‌کند، اما دو فایل در پوشهٔ خانگی یا ریشهٔ مخزن، هشدار، گزارش هزینه و قالب ویرایش را درست می‌کنند.

.aider.model.metadata.json
{
  "openai/deepseek-v4.1-flash-uncensored": {
    "max_tokens": 131072,
    "max_input_tokens": 1000000,
    "max_output_tokens": 131072,
    "input_cost_per_token": 4.5000000000000003e-7,
    "output_cost_per_token": 0.00000175,
    "litellm_provider": "openai",
    "mode": "chat"
  }
}
.aider.model.settings.yml
- name: openai/deepseek-v4.1-flash-uncensored
  edit_format: diff
  use_repo_map: true
  accepts_settings:
    - reasoning_effort
  extra_params:
    max_tokens: 32768
  • edit_format: diff فقط خطوط تغییرکرده را برمی‌گرداند، که از فرستادن کل فایل‌ها سریع‌تر و ارزان‌تر است.
  • use_repo_map به مدل نقشه‌ای از مخزن می‌دهد؛ پنجرهٔ یک‌میلیون توکنی جای زیادی برای آن دارد.
  • max_tokens سقف هر پاسخ است. بدون آن، پاسخ در ۸,۱۹۲ توکن، پیش‌فرض ما، متوقف می‌شود.
  • برای GLM، هر دو مدخل را با openai/glm-5.3-flash-uncensored و عددهای خاص خودش از مدل‌ها کپی کن.

کدام مدل

deepseek-v4.1-flash-uncensoredglm-5.3-flash-uncensored
زمینه1,000,000 توکن128,000 توکن
طولانی‌ترین پاسخ131,072 توکن32,768 توکن
فراخوانی ابزاربله، برای هر tool_choiceبله، tool_choice از نوع auto یا none
خواندن تصویربله، تا ۱۰ در هر درخواستخیر، فقط متن
تفکرخاموش، مگر درخواست شودهمیشه، به‌طور مختصر
به ازای ۱ میلیون توکن$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 رد می‌شود. تفکر به‌عنوان خروجی حساب می‌شود.

در Aider با --reasoning-effort high شروع کن، یا در یک جلسه /reasoning-effort high را تایپ کن. فایل تنظیمات بالا reasoning_effort را جزو تنظیماتی که مدل می‌پذیرد فهرست کرده، پس Aider آن را بدون هشدار می‌فرستد.

یک جلسه چقدر هزینه دارد

عامل در هر تماس کل گفت‌وگو را می‌فرستد: دستورالعمل‌ها، فایل‌هایی که خوانده و هر گام تا اینجا. فرض کن یک تماس 60,000 توکن می‌فرستد که 55,000 تایش همان شروع تماس قبلی است و 1,000 تای جدید نوشته می‌شود. روی DeepSeek این تماس حدود $0.0046 هزینه دارد، پس 200 تماس حدود $0.92 است. بدون کَش، همان تماس $0.0288 می‌شد.

  • کَش خودکار است و چیزی برای روشن کردن ندارد. شروعی به اندازهٔ حدود 1,000 توکن یا بیشتر که در چند دقیقه تکرار شود، با قیمت کَش‌شده حساب می‌شود.
  • هر تماس بیشترین هزینهٔ ممکنش را رزرو می‌کند، یعنی ورودی و حداکثر خروجی‌اش را، و بعد با مصرف واقعی تسویه می‌شود. با حداکثر خروجی 32,768 توکن، بخش خروجیِ این رزرو حدود $0.0573 است.
  • کنسول توکن واقعی، توکن کَش‌شده و اعتبار هر تماس را نشان می‌دهد. شمارندهٔ هزینهٔ خود عامل ممکن است قیمت کَش‌شده را نداند و آنگاه عدد را بالاتر نشان دهد.

نحوهٔ محاسبهٔ هزینه.

اگر کار نکرد

آنچه عامل نشان می‌دهدراه‌حل
401کلید اشتباه است یا باطل شده. آن را دوباره بچسبان، بدون فاصله یا گیومه.
402اعتبار خریداری‌شدهٔ حساب تمام شده است. در کنسول از ۵ دلار شارژ کن و شارژ خودکار را آنجا روشن کن، تا یک کار طولانی وسط راه قطع نشود: وقتی موجودی زیر مبلغی که انتخاب می‌کنی بیفتد، با کارت ذخیره‌شدهٔ تو اعتبار اضافه می‌کند.
429بیش از ۱۲۰ درخواست در دقیقه روی یک کلید، یا فراتر از سقف روزانه‌ای که روی آن گذاشته‌ای. عامل‌هایی که چند زیرعامل را هم‌زمان اجرا می‌کنند اول به این می‌خورند. به‌اندازهٔ ثانیه‌های Retry-After صبر کن، سقف را در کنسول بالا ببر، یا به هر عامل کلید جدا بده.
400 invalid_reasoning_effortعامل مقداری برای effort فرستاده که مدل نمی‌پذیرد. DeepSeek فقط none، low، high، max را می‌پذیرد؛ GLM فقط low یا high.
404نشانی اشتباه است یا مسیر دوبار آمده. از https://nokeep.ai/v1 بدون /chat/completions استفاده کن و شناسهٔ مدل را با /v1/models بررسی کن.
503مدل شلوغ است. چند ثانیه بعد دوباره امتحان کن؛ چیزی کسر نشده است.
خط آزمایشی ثابتتنظیمات درست است. برای پاسخ واقعی، کلید خودت را بگذار.

هر خطا با راه‌حلش در خطاها آمده است.

پرسش‌ها

آیا کد من نگه داشته می‌شود؟

نه. برای هر تماس یک ردیف شمارش نگه می‌داریم: زمان، کلید، مدل، توکن‌ها، اعتبار و وضعیت. هرگز درخواست، فایل‌ها یا پاسخ را نگه نمی‌داریم. آنچه نگه می‌داریم.

چرا تماس دوم کمتر از تماس اول هزینه دارد؟

تماس دوم با همان شروعی آغاز می‌شود که تماس اول داشت، پس آن شروع از کَش با $0.011 در یک‌میلیون توکن خوانده می‌شود، نه $0.45. بیشتر ورودی یک عامل بعد از تماس اول کَش می‌شود.

آیا گزارش هزینهٔ Aider با صورتحساب می‌خواند؟

تقریباً، با فایل متادیتای بالا، اما قیمت کَش‌شده را نمی‌داند و وقتی کَش فعال می‌شود عدد را بالاتر نشان می‌دهد. کنسول هزینهٔ واقعی هر تماس را نشان می‌دهد.