Aider-কে একটা OpenAI-compatible API base-এ point করুন।

Updated 2026-07-29

Aider দুটো environment variable এবং একটা model prefix দিয়ে OpenAI-compatible endpoint-এর সাথে connect করে। OPENAI_API_BASE-কে https://api.apisrouter.com/v1-এ সেট করুন, aider --model openai/<model-id> চালান, এবং pair programming session এক key দিয়ে route হয় যেখানে catalog-এর প্রতিটা মডেল addressable।

দ্রুত উত্তর: দুটো env var এবং একটা model prefix।

Aider-এর documented OpenAI-compatible path ঠিক এই: আপনার endpoint দিয়ে OPENAI_API_BASE export করুন, এর key দিয়ে OPENAI_API_KEY export করুন, এবং model name-এর সামনে openai/ prefix দিন যাতে Aider সেই base-এর সাথে chat-completions protocol বলে। prefix-এর পরের string endpoint-এ pass through হয়, তাই gateway যে id-ই serve করুক না কেন তা fair game, Claude এবং DeepSeek id সহ। এটাই পুরো connection। Mac এবং Linux-এ export ব্যবহার করুন; Windows-এ setx ব্যবহার করুন এবং একটা নতুন shell খুলুন, যেহেতু setx বর্তমান session-কে affect করে না। shell state-এর বদলে per-project configuration পছন্দ করলে একই value 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 কীভাবে model এবং provider resolve করে।

Aider (GitHub-এ Aider-AI, প্রায় 47K star) হলো original terminal pair programmer: এটা আপনার git repo map করে, chat-এ change request নেয়, সরাসরি file edit করে, এবং result commit করে। ভেতরে এটা litellm দিয়ে model call route করে, যে কারণে openai/ prefix গুরুত্বপূর্ণ: litellm একটা provider protocol বেছে নিতে prefix পড়ে, এবং openai/ মানে "OPENAI_API_BASE যা বলে তার বিরুদ্ধে chat-completions"। prefix ছাড়া একটা model name বরং এর spelling থেকে provider-inferred হয়, যা একটা Claude id-কে আপনার gateway-এর বদলে Anthropic-এর native API এবং আপনার ANTHROPIC_API_KEY-এর দিকে route করে। আপনার প্রথম session-এর আগে জানার যোগ্য Aider-specific একটা behavior আছে: এটা model capability-র নিজের registry রাখে, এবং এটা চেনে না এমন একটা model "Unknown context window size and costs, using sane defaults" warning trigger করে, যার পরে Aider একটা unlimited context window এবং zero cost ধরে নেয়। Session তখনও কাজ করে, কিন্তু দুটো দরকারি subsystem degrade করে: token budgeting real context limit ছাড়িয়ে যাওয়ার আগে আপনাকে warn করতে পারে না, এবং in-session cost display শূন্য দেখায়। Fix হলো একটা ছোট metadata file, নিচে cover করা, এবং এটা সেই দুই মিনিটের যোগ্য। Aider প্রতি session-এ একাধিক model-ও চালায়। main model কোডিং করে; একটা weak model commit message এবং chat summarization handle করে; এবং architect mode-এ, একটা আলাদা editor model plan apply করে। প্রতিটা একই openai/ prefix accept করে, তাই তিনটাই এক key-এ gateway দিয়ে route করতে পারে।

সম্পূর্ণ সেটআপ: connection প্লাস model metadata।

Connection হলো উপরের দুটো variable। Polish হলো metadata register করা যাতে Aider gateway model-কে known quantity হিসেবে treat করে। আপনার home directory, git repo root, বা working directory-তে .aider.model.metadata.json তৈরি করুন (অথবা --model-metadata-file pass করুন), openai/ prefix সহ fully qualified name দিয়ে keyed; litellm_provider field সেই prefix-এর সাথে মিলতে হবে। max_input_tokens register করা থাকলে, Aider-এর context budgeting infinite ধরে না নিয়ে model-এর real window-এর বিরুদ্ধে কাজ করে। দ্বিতীয় একটা optional file, .aider.model.settings.yml, প্রতি model behavior tune করে: edit_format নিয়ন্ত্রণ করে Aider কীভাবে code change জিজ্ঞাসা করে (যে মডেল handle করতে পারে তাদের জন্য diff variant, যারা পারে না তাদের জন্য whole-file), এবং use_repo_map repo-context অন্তর্ভুক্তি নিয়ন্ত্রণ করে। Aider এমন একটা model-এর জন্য সেরা edit format infer করতে পারে না যা এটা চেনে না, তাই এটা declare করা একটা model mediocre দেখানো আর নিজের level-এ perform করার মধ্যে পার্থক্য গড়ে দেয়।

{
  "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 model বেছে নেওয়া।

Aider session লম্বা এবং iterative, যা এখানে model comparison-কে অস্বাভাবিকভাবে honest করে তোলে: ভিন্ন দিনে দুটো main model দিয়ে একই feature branch চালান এবং পার্থক্যটা দেখা যায় আপনি কতবার /undo টাইপ করেন তাতে। এক endpoint প্রতিটা candidate-কে একটা flag change করে দেয়, এবং per-key usage প্রতিটা experiment price করে।

  • main model প্রতিটা edit বহন করে। এটা repo map পড়ে, আপনার file-এর উপর reason করে, এবং diff produce করে, তাই এখানেই claude-sonnet-4-6 বা gpt-5.5-এর জায়গা; diff syntax-এ হোঁচট খাওয়া একটা model প্রতিটা change-এ আপনার review time খরচ করে।
  • weak model (--weak-model) commit message লেখে এবং chat history summarize করে। এটা ক্রমাগত fire হয় এবং কখনো code touch করে না, তাই এটাকে অন্য কোথাও default হতে না দিয়ে একই gateway দিয়ে একটা fast, low-priced id-তে route করুন।
  • Architect mode planning-কে editing থেকে আলাদা করে: main model plan করে, editor model (--editor-model) apply করে। kimi-k2.7-code-এর মতো একটা coding-tuned id apply করা সহ একটা strong reasoner planning করা এমন একটা pairing যা single-vendor key প্রকাশ করতে পারে না।
  • refactor-heavy কাজে daily-driver main model হিসেবে deepseek-v4-pro এবং gpt-5.4 benchmark করার যোগ্য, যেখানে per-session token volume price difference-কে 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-specific failure mode।

"sane default"-এ বিশ্বাস করা। unknown-model fallback unlimited context এবং zero cost ধরে নেয়। বাস্তবে, এর মানে Aider খুশি মনেই একটা লম্বা session-কে model-এর real window ছাড়িয়ে বাড়তে দেবে যতক্ষণ না gateway request প্রত্যাখ্যান করে বা model নীরবে early context হারায়, এবং পুরোটা সময় cost tracker কিছুই দেখায় না। Metadata register করুন; দুটো সমস্যাই মিলিয়ে যায়। openai/ prefix drop করা। এটা ছাড়া, litellm model name থেকে provider infer করে। Claude id Anthropic-এর API-এর দিকে route করে এবং একটা missing ANTHROPIC_API_KEY-এ fail করে, যা key problem-এর মতো পড়ে যদিও এটা একটা prefix problem। মিলছে না এমন metadata। .aider.model.metadata.json-এর entry fully qualified name দিয়ে keyed, prefix সহ, এবং litellm_provider সেই prefix-এর সাথে একমত হতে হবে। একটা bare-id key বা একটা mismatched provider field নীরবে apply হতে ব্যর্থ হয়, এবং কোনো error না বলেই আপনি default-এ ফিরে যান। Windows shell state। setx শুধু future shell-এর জন্য variable লেখে। আপনি এইমাত্র যে terminal-এ setx চালিয়েছেন সেখানেই aider চালালে পুরনো environment ব্যবহার হয়, এবং resulting 401 একটা shell-lifecycle সমস্যা, credential সমস্যা নয়। ভুল edit format। একটা unregistered model একটা default edit format পায় যা হয়তো এটা যা সবচেয়ে ভালো handle করে তা নয়। একটা strong model যদি ক্রমাগত এমন edit produce করে যা Aider reject করে, model code করতে পারে না এই সিদ্ধান্তে আসার আগে .aider.model.settings.yml-এ explicitly edit_format সেট করুন।

কারা একটা gateway দিয়ে Aider route করে।

  • দৈনিক Aider ব্যবহারকারী যারা প্রতি model family-তে একটা vendor account maintain না করে --model দিয়ে প্রতি session-এ Claude, GPT, এবং DeepSeek switchable চান।
  • Developer যারা commit message-এর জন্য একটা frontier main model-এর সাথে একটা fast weak model pair করেন, per-session visibility সহ দুটোই এক key-তে বিল হয়।
  • Architect-mode ব্যবহারকারী যারা একই session-এ ভিন্ন vendor-এর একটা planning model এবং একটা editing model মেশান।
  • Team যারা একটা vendor-key checklist-এর বদলে এক secret দিয়ে engineer onboard করেন, spend report হিসেবে per-key usage সহ।
  • Developer যাদের কোনো নির্দিষ্ট vendor-এর billing-এ access নেই। কোনো card requirement ছাড়া Top-up based access per-provider sign-up dependency সরিয়ে দেয়।

Endpoint verify করুন এবং প্রথম session debug করুন।

শুরু করার আগে gateway-র model listing দেখুন; openai/-এর পরের id একটা served id-এর সাথে exactly মিলতে হবে, version suffix সহ। First-session failure দ্রুত sort হয়। একটা 401 মানে aider launch করা shell-এ OPENAI_API_KEY visible নয় (Windows-এ setx-এর পরে শুধু নতুন shell; একই terminal-এ echo check করুন)। gateway থেকে একটা model-not-found error মানে একটা id typo। ভিন্ন vendor-এর key উল্লেখ করা একটা error মানে prefix ছাড়া একটা model name natively route হয়েছে। এবং startup-এ unknown-model warning কোনো error নয়, কিন্তু এটা আপনার cue যে একটা লম্বা session-এর আগে metadata file যোগ করুন, real context limit-এ পৌঁছানোর পরে নয়। Session-এ, metadata register হয়ে গেলে Aider-এর নিজের token এবং cost readout accurate হয়ে যায়, এবং APIsRouter console endpoint side থেকে একই session দেখায়: per-request model, token count, এবং spend। একজন all-day pair programmer-এর জন্য, সেই per-key view-ই এক সপ্তাহের Aider আসলে কত খরচ করে তার honest উত্তর।

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

সাধারণ প্রশ্ন

আমি কীভাবে Aider-কে একটা OpenAI-compatible endpoint-এর সাথে connect করব?

endpoint URL দিয়ে OPENAI_API_BASE এবং এর key দিয়ে OPENAI_API_KEY export করুন, তারপর aider --model openai/<model-id> চালান। এটা Aider-এর documented openai-compat path; openai/ prefix এর litellm layer-কে বলে আপনার base URL-এ chat-completions বলতে।

এই setup দিয়ে Aider কি Claude বা DeepSeek মডেল চালাতে পারে?

হ্যাঁ। openai/-এর পরের id একটা plain string হিসেবে endpoint-এ pass through হয়, তাই gateway যে model serve করে তা কাজ করে: aider --model openai/claude-sonnet-4-6 বা openai/deepseek-v4-pro। prefix রাখুন, নাহলে id provider-inferred হয়ে আপনার base থেকে দূরে route হয়ে যায়।

"Unknown context window size and costs" warning-এর মানে কী?

Aider model-টা চেনে না, তাই এটা একটা unlimited context window এবং zero cost ধরে নেয়। Session কাজ করে, কিন্তু context budgeting এবং cost display ভুল। .aider.model.metadata.json-এ model register করুন, এর fully qualified openai/ name দিয়ে keyed, এবং warning ও দুটো সমস্যাই চলে যায়।

weak model এবং editor model-ও কি gateway দিয়ে route করে?

হ্যাঁ, যদি আপনি সেখানে point করেন: commit message এবং summarization-এর জন্য --weak-model openai/<fast-id>, এবং architect mode-এ --editor-model openai/<id>। তিনটা slot-ই prefix accept করে, তাই এক key একটা cross-vendor main/weak/editor mix cover করতে পারে।

Aider কেন এখনো একটা Anthropic key চাইছে?

একটা model name openai/ prefix ছাড়াই গিয়েছে। litellm নাম থেকে vendor infer করেছে এবং native Anthropic route try করেছে, যা ANTHROPIC_API_KEY চায়। prefix যোগ করুন এবং request আপনার gateway key সহ বরং OPENAI_API_BASE-এ যাবে।

gateway model-এর জন্য কি আমার edit_format সেট করা উচিত?

Aider যে model চেনে না তার জন্য, হ্যাঁ। .aider.model.settings.yml-এ edit_format নিয়ন্ত্রণ করে Aider কীভাবে code change request করে, এবং frontier model সাধারণত একটা diff format-এ সেরা কাজ করে। একটা unknown model-কে default-এ রেখে দিলে একটা strong model আসলের চেয়ে খারাপ দেখাতে পারে।