Aider کو ایک OpenAI-compatible API base پر point کریں۔

Updated 2026-07-29

Aider دو environment variables اور ایک model prefix کے ساتھ OpenAI-compatible endpoints سے جڑتا ہے۔ OPENAI_API_BASE کو https://api.apisrouter.com/v1 پر set کریں، aider --model openai/<model-id> چلائیں، اور pair programming sessions ایک ہی key کے ذریعے route ہوں گے جس میں catalog کا ہر model قابلِ رسائی ہو۔

فوری جواب: دو env vars اور ایک model prefix۔

Aider کا documented OpenAI-compatible راستہ بالکل یہی ہے: اپنے endpoint کے ساتھ OPENAI_API_BASE export کریں، اس کی key کے ساتھ OPENAI_API_KEY export کریں، اور model کے نام کے آگے openai/ prefix لگائیں تاکہ Aider اس base سے chat-completions protocol میں بات کرے۔ prefix کے بعد آنے والا string جوں کا توں endpoint کو pass ہو جاتا ہے، اس لیے gateway جو بھی id serve کرے وہ چل سکتی ہے، Claude اور DeepSeek ids سمیت۔ بس یہی پوری connection ہے۔ Mac اور Linux پر export استعمال کریں؛ Windows پر setx استعمال کریں اور نئی shell کھولیں، کیونکہ setx موجودہ session کو متاثر نہیں کرتا۔ اگر آپ shell state کی بجائے per-project configuration چاہیں تو یہی values Aider کی config file یا .env file میں بھی رکھی جا سکتی ہیں۔

export OPENAI_API_BASE=https://api.apisrouter.com/v1
export OPENAI_API_KEY=sk-APIsRouter-...

aider --model openai/claude-sonnet-4-6

Aider models اور providers کیسے resolve کرتا ہے۔

Aider (GitHub پر Aider-AI، تقریباً 47K stars) اصل terminal pair programmer ہے: یہ آپ کے git repo کا نقشہ بناتا ہے، chat میں change requests لیتا ہے، files براہ راست edit کرتا ہے، اور نتیجہ commit کرتا ہے۔ اندر سے یہ model calls کو litellm کے ذریعے route کرتا ہے، یہی وجہ ہے کہ openai/ prefix اہم ہے: litellm provider protocol چننے کے لیے prefix پڑھتا ہے، اور openai/ کا مطلب ہے "chat-completions against whatever OPENAI_API_BASE says"۔ prefix کے بغیر model name اس کی spelling سے provider-infer ہوتا ہے، جو Claude id کو آپ کے gateway کی بجائے Anthropic کے native API اور آپ کی ANTHROPIC_API_KEY کی طرف route کر دیتا ہے۔ پہلے session سے پہلے Aider کا ایک مخصوص رویہ جاننا ضروری ہے: یہ model capabilities کی اپنی registry رکھتا ہے، اور جو model یہ نہیں پہچانتا اس پر "Unknown context window size and costs, using sane defaults" warning آتی ہے، جس کے بعد Aider unlimited context window اور zero cost فرض کر لیتا ہے۔ session پھر بھی کام کرتا ہے، مگر دو مفید subsystems کمزور پڑ جاتے ہیں: token budgeting آپ کو حقیقی context limit سے پہلے warn نہیں کر سکتی، اور in-session cost display zero دکھاتا ہے۔ حل ایک چھوٹی metadata file ہے، جو نیچے بیان کی گئی ہے، اور یہ دو منٹ خرچ کرنے کے قابل ہے۔ Aider ایک session میں ایک سے زیادہ model بھی چلاتا ہے۔ main model coding کرتا ہے؛ weak model commit messages اور chat summarization سنبھالتا ہے؛ اور architect mode میں، ایک الگ editor model plan apply کرتا ہے۔ ہر ایک وہی openai/ prefix قبول کرتا ہے، تو تینوں ایک ہی key پر gateway کے ذریعے route ہو سکتے ہیں۔

مکمل سیٹ اپ: connection جمع model metadata۔

Connection وہی اوپر والے دو variables ہیں۔ نکھار metadata register کرنے میں ہے تاکہ Aider gateway کے models کو معلوم quantities کی طرح treat کرے۔ اپنی home directory، git repo root، یا working directory میں .aider.model.metadata.json بنائیں (یا --model-metadata-file pass کریں)، جس کی key openai/ prefix سمیت fully qualified نام ہو؛ litellm_provider field اسی prefix سے میچ ہونی چاہیے۔ max_input_tokens register کرنے سے Aider کی context budgeting model کی حقیقی window کے مطابق کام کرتی ہے بجائے اسے infinite فرض کرنے کے۔ ایک دوسری اختیاری file، .aider.model.settings.yml، ہر model کے حساب سے رویہ tune کرتی ہے: edit_format کنٹرول کرتا ہے کہ Aider code changes کیسے مانگے (diff variants ان models کے لیے جو انہیں سنبھال سکیں، whole-file ان کے لیے جو نہ سنبھال سکیں)، اور use_repo_map repo-context شامل کرنے کو کنٹرول کرتا ہے۔ Aider کسی نامعلوم model کے لیے بہترین edit format خود اندازہ نہیں لگا سکتا، تو اسے declare کرنا ہی وہ فرق ہے جو model کو average دکھانے اور اپنی اصل سطح پر کام کرنے کے درمیان بنتا ہے۔

{
  "openai/claude-sonnet-4-6": {
    "max_input_tokens": 200000,
    "max_output_tokens": 64000,
    "litellm_provider": "openai",
    "mode": "chat"
  },
  "openai/deepseek-v4-pro": {
    "max_input_tokens": 128000,
    "max_output_tokens": 16000,
    "litellm_provider": "openai",
    "mode": "chat"
  }
}

Main، weak، اور editor models چننا۔

Aider کے sessions لمبے اور iterative ہوتے ہیں، جو یہاں model comparison کو غیر معمولی طور پر ایماندار بناتا ہے: ایک ہی feature branch کو دو main models کے ساتھ مختلف دنوں پر چلائیں اور فرق اس میں نظر آتا ہے کہ آپ کتنی بار /undo ٹائپ کرتے ہیں۔ ایک endpoint ہر candidate کو ایک flag change بنا دیتا ہے، اور per-key usage ہر experiment کی قیمت بتاتی ہے۔

  • main model ہر edit اٹھاتا ہے۔ یہ repo map پڑھتا ہے، آپ کی files پر reason کرتا ہے، اور diffs بناتا ہے، تو یہاں claude-sonnet-4-6 یا gpt-5.5 موزوں ہیں؛ جو model diff syntax میں لڑکھڑائے وہ ہر change پر آپ کا review وقت کھاتا ہے۔
  • weak model (--weak-model) commit messages لکھتا ہے اور chat history summarize کرتا ہے۔ یہ مسلسل چلتا ہے اور کبھی code کو نہیں چھوتا، تو اسے کہیں اور default کرنے کی بجائے اسی gateway کے ذریعے ایک تیز، کم قیمت id پر route کریں۔
  • Architect mode planning کو editing سے الگ کرتا ہے: main model plan بناتا ہے، editor model (--editor-model) اسے apply کرتا ہے۔ ایک مضبوط reasoner کا planning کرنا اور kimi-k2.7-code جیسی coding-tuned id کا apply کرنا ایسی pairing ہے جو single-vendor keys ظاہر نہیں کر سکتیں۔
  • deepseek-v4-pro اور gpt-5.4 refactor-heavy کام پر daily-driver main models کے طور پر benchmark کرنے کے قابل ہیں، جہاں فی-session token volume قیمت کے فرق کو compound کرتا ہے۔

استعمال کے مطابق ادائیگی · سرکاری قیمت سے کم

Selected models are priced below official list prices. Exact input, output, cache, and per-request prices are shown for each model.

ماڈلسرکاری قیمتہماری قیمت
Claude Sonnet 4.6$3.00 / $15.00 per M$2.40 / $12.00 per M
GPT-5.5$5.00 / $30.00 per M$4.00 / $24.00 per M
GPT-5.4$2.50 / $15.00 per M$2.00 / $12.00 per M
DeepSeek V4 Pro$0.43 / $0.87 per M$0.40 / $0.90 per M
Kimi K2.7 Code$0.95 / $4.00 per M$1.00 / $4.00 per M

Aider سے مخصوص failure modes۔

"sane defaults" پر بھروسا کرنا۔ unknown-model fallback unlimited context اور zero cost فرض کرتا ہے۔ عملی طور پر، اس کا مطلب ہے کہ Aider کسی لمبے session کو model کی حقیقی window سے آگے بڑھنے دے گا جب تک gateway request رد نہ کرے یا model خاموشی سے early context نہ کھو دے، اور اس دوران cost tracker کچھ نہیں دکھاتا۔ metadata register کریں؛ دونوں مسائل ختم ہو جاتے ہیں۔ openai/ prefix چھوڑ دینا۔ اس کے بغیر، litellm model کے نام سے provider infer کرتا ہے۔ Claude ids Anthropic کے API کی طرف route ہو کر missing ANTHROPIC_API_KEY پر fail ہو جاتی ہیں، جو key کے مسئلے جیسا لگتا ہے جبکہ اصل میں prefix کا مسئلہ ہے۔ Metadata جو میچ نہ کرے۔ .aider.model.metadata.json کے entries fully qualified نام سے key ہوتے ہیں، prefix سمیت، اور litellm_provider اسی prefix سے متفق ہونی چاہیے۔ bare-id key یا mismatched provider field خاموشی سے apply ہونے میں ناکام رہتی ہے، اور آپ بغیر کسی error کے دوبارہ defaults پر آ جاتے ہیں۔ Windows shell state۔ setx variable صرف مستقبل کی shells کے لیے لکھتا ہے۔ اسی terminal میں aider چلانا جہاں ابھی setx چلایا تھا پرانا environment استعمال کرتا ہے، اور نتیجے میں آنے والا 401 shell-lifecycle کا مسئلہ ہے، credentials کا نہیں۔ غلط edit format۔ ایک unregistered model کو default edit format ملتا ہے جو شاید اس کے لیے بہترین نہ ہو۔ اگر ایک strong model مسلسل ایسی edits دیتا ہے جو Aider رد کرے، تو یہ نتیجہ اخذ کرنے سے پہلے کہ model code نہیں کر سکتا، .aider.model.settings.yml میں edit_format explicitly set کریں۔

Aider کو gateway کے ذریعے کون route کرتا ہے۔

  • روزمرہ Aider users جو Claude، GPT، اور DeepSeek کو --model کے ذریعے فی-session قابلِ سوئچ چاہتے ہیں، ہر model family کے لیے الگ vendor account رکھے بغیر۔
  • وہ developers جو commit messages کے لیے ایک frontier main model کو ایک تیز weak model کے ساتھ pair کرتے ہیں، دونوں ایک ہی key پر بل ہوتے ہیں، فی-session visibility کے ساتھ۔
  • Architect-mode users جو ایک ہی session میں مختلف vendors کے planning model اور editing model کو مکس کرتے ہیں۔
  • وہ teams جو engineers کو vendor-key checklist کی بجائے ایک ہی secret کے ساتھ onboard کرتی ہیں، جہاں per-key usage ہی spend کی رپورٹ ہو۔
  • وہ developers جن کے پاس کسی مخصوص vendor کی billing تک رسائی نہیں۔ Top-up پر مبنی رسائی بغیر کارڈ کی شرط کے فی-provider sign-up کا انحصار ختم کر دیتی ہے۔

Endpoint verify کریں اور پہلا session debug کریں۔

شروع کرنے سے پہلے gateway کے models کی فہرست دیکھیں؛ openai/ کے بعد آنے والی id کو served id سے بالکل میچ کرنا چاہیے، version suffixes سمیت۔ پہلے session کی failures جلدی سلجھ جاتی ہیں۔ 401 کا مطلب ہے OPENAI_API_KEY اس shell کو نظر نہیں آ رہی جس نے aider لانچ کیا (Windows پر setx کے بعد صرف نئی shells؛ اسی terminal میں echo چیک کریں)۔ gateway کی طرف سے model-not-found error id کی typo ہے۔ کسی دوسرے vendor کی key کا ذکر کرنے والا error یہ ظاہر کرتا ہے کہ prefix کے بغیر model name native طور پر route ہو گیا۔ اور startup پر unknown-model warning کوئی error نہیں، مگر یہ آپ کے لیے اشارہ ہے کہ metadata file لمبے session سے پہلے شامل کریں، حقیقی context limit سے ٹکرانے کے بعد نہیں۔ Session کے دوران، metadata register ہونے کے بعد Aider کا اپنا token اور cost readout درست ہو جاتا ہے، اور APIsRouter console وہی sessions endpoint کی طرف سے دکھاتا ہے: فی-request model، token counts، اور spend۔ ایک پورا دن چلنے والے pair programmer کے لیے، وہ per-key view اس بات کا ایماندار جواب ہے کہ Aider کے ایک ہفتے کی حقیقی لاگت کیا ہے۔

curl -s https://api.apisrouter.com/v1/models \
  -H "Authorization: Bearer $OPENAI_API_KEY" | head -50

عمومی سوالات

میں Aider کو OpenAI-compatible endpoint سے کیسے جوڑوں؟

endpoint URL کے ساتھ OPENAI_API_BASE اور اس کی key کے ساتھ OPENAI_API_KEY export کریں، پھر aider --model openai/<model-id> چلائیں۔ یہ Aider کا documented openai-compat راستہ ہے؛ openai/ prefix اس کی litellm layer کو بتاتا ہے کہ آپ کے base URL سے chat-completions میں بات کرے۔

کیا Aider اس سیٹ اپ سے Claude یا DeepSeek models چلا سکتا ہے؟

جی ہاں۔ openai/ کے بعد آنے والی id endpoint کو plain string کے طور پر pass ہوتی ہے، تو gateway جو بھی model serve کرے وہ چلتا ہے: aider --model openai/claude-sonnet-4-6 یا openai/deepseek-v4-pro۔ prefix رکھیں، ورنہ id provider-infer ہو کر آپ کے base سے دور route ہو جائے گی۔

"Unknown context window size and costs" warning کا کیا مطلب ہے؟

Aider اس model کو نہیں پہچانتا، تو یہ unlimited context window اور zero cost فرض کر لیتا ہے۔ Sessions کام کرتے ہیں، مگر context budgeting اور cost display غلط ہوتے ہیں۔ model کو اس کے fully qualified openai/ نام سے .aider.model.metadata.json میں register کریں، اور warning جمع دونوں مسائل ختم ہو جاتے ہیں۔

کیا weak model اور editor model بھی gateway کے ذریعے route ہوتے ہیں؟

جی ہاں، اگر آپ انہیں وہاں point کریں: commit messages اور summarization کے لیے --weak-model openai/<fast-id>، اور architect mode میں --editor-model openai/<id>۔ تینوں slots prefix قبول کرتے ہیں، تو ایک key ایک cross-vendor main/weak/editor mix کور کر سکتی ہے۔

Aider اب بھی Anthropic key کیوں مانگ رہا ہے؟

کوئی model name openai/ prefix کے بغیر داخل ہوا۔ litellm نے نام سے vendor infer کیا اور native Anthropic route آزمایا، جو ANTHROPIC_API_KEY مانگتا ہے۔ prefix شامل کریں اور request اس کی بجائے آپ کی gateway key کے ساتھ OPENAI_API_BASE پر جائے گی۔

کیا مجھے gateway models کے لیے edit_format set کرنا چاہیے؟

ان models کے لیے جنہیں Aider نہیں پہچانتا، جی ہاں۔ .aider.model.settings.yml میں edit_format کنٹرول کرتا ہے کہ Aider code changes کیسے مانگے، اور frontier models عموماً diff format کے ساتھ اپنا بہترین کام کرتے ہیں۔ کسی نامعلوم model کو defaults پر چھوڑنا ایک strong model کو اس سے کمزور دکھا سکتا ہے جتنا وہ اصل میں ہے۔