Continue-কে একটা কাস্টম OpenAI-compatible endpoint-এ point করুন।
Updated 2026-07-29
Continue config.yaml-এ declaratively model configure করে। provider-কে openai সেট করুন, apiBase-কে https://api.apisrouter.com/v1-এ point করুন, এবং আপনি যে প্রতিটা model block যোগ করেন তা extension-এ selectable হয়ে যায়, এক key-এর নিচে chat, edit, এবং apply role প্রতি model assignable সহ।
দ্রুত উত্তর: provider openai এবং apiBase সহ একটা model block।
Continue-এর openai provider একটা apiBase override accept করে, যা যেকোনো OpenAI-compatible server-এর জন্য documented path। config.yaml-এ একটা model block যোগ করুন provider-কে openai সেট করে, apiBase-কে https://api.apisrouter.com/v1 সেট করে, exact model id, এবং আপনার key সহ। model Continue-এর model selector-এ দেখা যায়, এবং এটা যে প্রতিটা request করে তা standard /v1/chat/completions দিয়ে gateway-তে যায়। একই mechanism আপনি যত মডেল চান তত cover করে: প্রতি id একটা block, সবাই একই apiBase এবং key শেয়ার করে। Continue যেহেতু model field-কে একটা plain string হিসেবে treat করে, ভিন্ন vendor-এর id — Claude পাশে GPT পাশে DeepSeek — এক config file-এ পাশাপাশি বসে থাকে।
models:
- name: Claude Sonnet 4.6
provider: openai
model: claude-sonnet-4-6
apiBase: https://api.apisrouter.com/v1
apiKey: sk-APIsRouter-...
roles:
- chat
- edit
- applyContinue কীভাবে model-কে কাজ assign করে: role।
Continue (GitHub-এ continuedev, প্রায় 34K star) হলো VS Code এবং JetBrains-এর জন্য একটা IDE agent, এবং এর defining config idea হলো role। প্রতিটা model block একটা roles list বহন করে, এবং Continue প্রতিটা ধরনের কাজ সেই role ধরে রাখা একটা model-এ route করে: conversation panel এবং agent কাজের জন্য chat, inline code transformation-এর জন্য edit, file-এ proposed change merge করার জন্য apply, প্লাস তাদের নিজ নিজ subsystem-এর জন্য autocomplete, embed, এবং rerank। এটাই সেই lever যা একটা multi-vendor endpoint-কে বিশেষভাবে Continue-এ আকর্ষণীয় করে তোলে। Chat আপনি justify করতে পারেন এমন সবচেয়ে strong model চায়; edit এবং apply ছোট, বেশি mechanical call যেখানে একটা fast mid-tier id কাজটা করে দেয়। এক apiBase প্রতিটা vendor serve করলে, সেই split pure YAML: chat ধরে থাকা একটা Claude id, edit এবং apply ধরে থাকা একটা fast id, সবার জুড়ে এক key। একটা honest boundary: autocomplete একটা fill-in-the-middle workload, এবং Continue-এর autocomplete role chat-এর বদলে সেই completion format-এর জন্য trained model-কে ঘিরে তৈরি। chat, edit, এবং apply traffic-এর জন্য সঠিক ঘর একটা chat-completions gateway; সেই role-টাকে একটা chat model-এ assign করে ভালো suggestion আশা করার বদলে autocomplete-কে আজ আপনি যে FIM-capable setup ব্যবহার করছেন তাতেই রাখুন।
সম্পূর্ণ সেটআপ: একাধিক model, split role, declared context।
Config file ~/.continue/config.yaml-এ থাকে। প্রতিটা block-এর name হলো selector-এ দেখানো label; model হলো gateway যে exact id serve করে। defaultCompletionOptions.contextLength model-এর context window declare করে, এবং Continue এটা ব্যবহার করে ঠিক করে একটা request-এ কতটা conversation এবং file context pack করতে হবে, তাই একটা long-context model-এ এটাকে একটা conservative default-এ রেখে দিলে যা হওয়া উচিত তার চেয়ে আগে truncate হয়। Capability সাধারণত auto-detected, কিন্তু Continue যে id চেনে না তার জন্য আপনি সেগুলো explicitly বলতে পারেন: capabilities: [tool_use] agent mode-কে বলে এটা সেই model দিয়ে tool চালাতে পারে। Key নিয়ে: YAML একটা literal apiKey accept করে, যা এমন একটা local file-এর জন্য ঠিক আছে যা কখনো আপনার machine ছেড়ে যায় না। Continue এর hub দিয়ে managed config-এর জন্য ${{ secrets.APISROUTER_API_KEY }} ফর্মের একটা secrets template syntax-ও সাপোর্ট করে, যা literal value-কে shared file-এর বাইরে রাখে। আপনার config যেখানে থাকে তার সাথে মেলে এমন form ব্যবহার করুন।
models:
- name: Claude Sonnet 4.6
provider: openai
model: claude-sonnet-4-6
apiBase: https://api.apisrouter.com/v1
apiKey: ${{ secrets.APISROUTER_API_KEY }}
roles: [chat, edit]
capabilities: [tool_use]
defaultCompletionOptions:
contextLength: 200000
- name: Claude Haiku 4.5
provider: openai
model: claude-haiku-4-5-20251001
apiBase: https://api.apisrouter.com/v1
apiKey: ${{ secrets.APISROUTER_API_KEY }}
roles: [edit, apply]
- name: GPT-5.5
provider: openai
model: gpt-5.5
apiBase: https://api.apisrouter.com/v1
apiKey: ${{ secrets.APISROUTER_API_KEY }}
roles: [chat]প্রতি role-এর জন্য model বেছে নেওয়া।
Role assignment একটা comparison mechanism-ও। edit এবং apply fixed রাখুন, প্রতি সপ্তাহে দুটো candidate id-এর মধ্যে chat block swap করুন, এবং per-key usage view আপনার real workload-এ পার্থক্যটা price করুক। প্রতিটা candidate একই endpoint-এর বিরুদ্ধে তিন লাইন YAML।
- chat agent loop এবং লম্বা conversation বহন করে: file পড়া, edit plan করা, real context-এর উপর প্রশ্নের উত্তর দেওয়া। একটা frontier model (claude-sonnet-4-6, gpt-5.5)-এর জায়গা এখানে, এবং এখানেই আপনার বেশিরভাগ token যায়।
- edit highlighted-code transformation handle করে। Call chat-এর চেয়ে ছোট এবং বেশি mechanical, তাই claude-haiku-4-5-20251001 বা gpt-5.4-mini-এর মতো একটা fast id result degrade না করে edit loop-কে tight রাখে।
- apply file-এ proposed change merge করে। এটা তিনটার মধ্যে সবচেয়ে mechanical role এবং deepseek-v4-flash সহ সবচেয়ে সস্তা capable model-এর সবচেয়ে স্পষ্ট candidate।
- embed এবং rerank codebase retrieval চালায় এবং নিজেদের model shape-সহ আলাদা subsystem; chat traffic gateway-তে move করলে এগুলো touch করার দরকার নেই।
ব্যবহার অনুযায়ী পেমেন্ট · অফিশিয়াল মূল্যের নিচে
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 |
| Claude Haiku 4.5 20251001 | $1.00 / $5.00 per M | $0.80 / $4.00 per M |
| GPT-5.5 | $5.00 / $30.00 per M | $4.00 / $24.00 per M |
| GPT-5.4 mini | $0.75 / $4.50 per M | $0.60 / $3.60 per M |
| DeepSeek V4 Flash | $0.14 / $0.28 per M | $0.10 / $0.30 per M |
Continue-specific failure mode।
/v1 ছাড়া apiBase। Continue আপনার দেওয়া base-এ /chat/completions-এর মতো route path append করে, তাই https://api.apisrouter.com/v1 সঠিক এবং bare host নয়। প্রথম ব্যবহারে একটা 404-shaped error প্রায় সবসময়ই এটাই। YAML indentation নীরবে config reshape করে। models একটা block-এর list, এবং একটা mis-indented apiBase ভুল entry-তে বা কোথাও attach হয় না। একটা model কাজ করলে এবং এর পাশেরটা authenticate করতে না পারলে, gateway-কে সন্দেহ করার আগে তাদের indentation diff করুন। Legacy completions toggle। openai provider default /chat/completions-এ, যা gateway serve করে। useLegacyCompletionsEndpoint: true একটা block-কে legacy /completions route-এ redirect করে; একটা block-এ এটা সেট থাকলে, সেই model-এর জন্য chat-shaped request কাজ করা বন্ধ হয়ে যায়। GPT-series id-তে Responses-API expectation। কিছু Continue path নির্দিষ্ট OpenAI model name-এর জন্য OpenAI-এর নতুন responses protocol try করতে পারে। একটা chat-completions gateway সেই protocol serve করে না; একটা GPT-series block যদি একটা route-shaped উপায়ে error করে, সেই block-এ useResponsesApi: false সেট করুন যাতে এটা /chat/completions-এ থাকে। Stale contextLength। Continue defaultCompletionOptions.contextLength অনুযায়ী context pack করে, model যা accept করতে পারত সেই অনুযায়ী নয়। একটা 200k model-এ 32k declare করলে দৃশ্যমানভাবে কিছুই ভাঙে না; এটা শুধু নীরবে আপনি যে context-এর জন্য পেমেন্ট করেছেন তা discard করে দেয়। model আসলে যা সাপোর্ট করে তা declare করুন।
কারা একটা gateway দিয়ে Continue route করে।
- IDE-first developer যারা প্রতি vendor-এ একটা credential set maintain না করে VS Code বা JetBrains-এর ভেতরে Claude, GPT, এবং DeepSeek selectable চান।
- Team যারা cost profile দিয়ে role split করে: frontier chat, fast edit এবং apply, প্রতিটা role তার সাথে fit করা id ধরে রাখে, সবই এক surface-এ বিল হয়।
- Engineer যারা real কাজে chat model তুলনা করেন। প্রতিটা candidate একই apiBase-এর বিরুদ্ধে একটা YAML block, কোনো নতুন provider integration নয়।
- Team lead যারা onboarding standardize করে: এক config.yaml template প্লাস এক APISROUTER_API_KEY একটা per-vendor key checklist-এর জায়গা নেয়, এবং per-key usage দেখায় প্রতিটা seat কী খরচ করছে।
- Developer যাদের কোনো নির্দিষ্ট vendor-এর billing-এ access নেই। কোনো card requirement ছাড়া Top-up based access প্রতি provider sign-up dependency সরিয়ে দেয়।
Endpoint verify করুন এবং প্রথম request debug করুন।
YAML edit করার আগে gateway যা serve করে তা list করুন; /v1/models দ্বারা ফেরত আসা id গুলো ঠিক সেই string যাতে আপনার model field মিলতে হবে। First-request failure একটা pattern মেনে চলে। একটা 401 মানে সেই নির্দিষ্ট block-এর key ভুল, অথবা একটা secrets reference resolve হয়নি; পুরো file-এর বদলে যে block fail করেছে সেটা check করুন, কারণ per-block key মানে per-block failure। একটা model-not-found error একটা id typo, version suffix সহ। একটা GPT-series id-তে একটা route-shaped error উপরে cover করা responses-API toggle-এর দিকে নির্দেশ করে। এবং extension একদমই কোনো কাস্টম model না দেখালে, YAML parse হয়নি; প্রথমে file structure validate করুন। Request চলতে শুরু করলে, APIsRouter console per-request model, token count, এবং spend দেখায়। Continue যেহেতু role জুড়ে কাজ split করে, usage view-ই প্রথম জায়গা যেখানে আপনি আপনার real workload-এ chat-to-edit traffic ratio দেখেন, যা সেই সংখ্যা যা বলে দেয় model choice আসলে কোথায় গুরুত্বপূর্ণ।
curl -s https://api.apisrouter.com/v1/models \
-H "Authorization: Bearer $APISROUTER_API_KEY" | head -50সাধারণ প্রশ্ন
openai provider দিয়ে Continue কি Claude এবং DeepSeek মডেল ব্যবহার করতে পারে?
হ্যাঁ। apiBase সেট করা openai provider যেকোনো OpenAI-compatible server-এর documented path, এবং Continue model field একটা plain string হিসেবে forward করে। endpoint যে id serve করে তা কাজ করে, Claude এবং DeepSeek id সহ, প্রতি id একটা model block।
আমার সব model block কি এক apiBase এবং key শেয়ার করে?
প্রতিটা block নিজের apiBase এবং apiKey declare করে, তাই তারা value শেয়ার করতেও পারে, নাও করতে পারে। একই key দিয়ে একই endpoint-এ একাধিক block point করা normal, এবং YAML anchor আপনাকে pair-টা একবার declare করে প্রতি block-এ reference করতে দেয়।
কোন role gateway দিয়ে route করা উচিত?
chat, edit, এবং apply, যা সবাই /v1/chat/completions বলে। Autocomplete একটা fill-in-the-middle workload যা completion-format model-কে ঘিরে তৈরি, তাই সেই role-টা আপনার বিদ্যমান FIM setup-এ রাখুন। embed এবং rerank আলাদা subsystem এবং কোনো change দরকার নেই।
একটা model block কাজ করে অথচ আরেকটা 401 ফেরত দেয় কেন?
Continue-এ key প্রতি block, তাই একটা কাজ করা প্রতিবেশী fail করা block সম্পর্কে কিছুই প্রমাণ করে না। fail করা block-এর apiKey value বা secrets reference check করুন, এবং এর indentation check করুন: একটা mis-indented key ভুল list entry-তে attach হয়।
useLegacyCompletionsEndpoint কী করে এবং আমার কি এটা দরকার?
এটা একটা model block-কে /chat/completions থেকে legacy /completions route-এ redirect করে। একটা chat-completions gateway-র জন্য আপনার এটা চান না; unset রেখে দিন। এটা পুরনো completion-only server-এর জন্য বিদ্যমান।
contextLength কি আসলে behavior বদলায়?
হ্যাঁ। Continue defaultCompletionOptions.contextLength অনুযায়ী conversation এবং file context pack করে। একটা long-context model-এ এটা কম বললে নীরবে context discard হয়ে যায়; model genuinely যা সাপোর্ট করে তাতে এটা সেট করুন।