Ituro ang Continue sa isang custom OpenAI-compatible endpoint.
Updated 2026-07-29
Nagko-configure ang Continue ng mga model nang declarative sa config.yaml. Itakda ang provider sa openai, ituro ang apiBase sa https://api.apisrouter.com/v1, at ang bawat model block na idagdag mo ay magiging mapipili sa extension, na may mga role na chat, edit, at apply na maitatakda bawat model sa ilalim ng isang key.
Mabilisang sagot: isang model block na may provider openai at apiBase.
Tumatanggap ang openai na provider ng Continue ng apiBase override, na siyang naka-document na path para sa anumang OpenAI-compatible na server. Magdagdag ng model block sa config.yaml na may provider na naka-set sa openai, apiBase na naka-set sa https://api.apisrouter.com/v1, ang eksaktong model id, at ang iyong key. Lilitaw ang model sa model selector ng Continue, at ang bawat request na gagawin nito ay pupunta sa gateway sa pamamagitan ng standard na /v1/chat/completions. Sinasakop ng parehong mekanismo ang kahit ilang model ang gusto mo: isang block bawat id, lahat ay gumagamit ng parehong apiBase at key. Dahil itinuturing ng Continue ang model field bilang plain string, ang mga id mula sa magkaibang vendor, Claude katabi ng GPT katabi ng DeepSeek, ay umuupo magkatabi sa isang 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
- applyPaano nagtatalaga ng trabaho ang Continue sa mga model: mga role.
Ang Continue (continuedev sa GitHub, humigit-kumulang 34K stars) ay isang IDE agent para sa VS Code at JetBrains, at ang tumutukoy na ideya ng config nito ay ang mga role. Ang bawat model block ay may dalang listahan ng roles, at iniruruta ng Continue ang bawat klase ng trabaho sa isang model na may hawak na role na iyon: ang chat para sa conversation panel at agent work, ang edit para sa inline na pagbabago ng code, ang apply para sa pagsasanib ng mga iminumungkahing pagbabago sa mga file, kasama ang autocomplete, embed, at rerank para sa kani-kanilang subsystem. Ito ang lever na ginagawang kawili-wili ang isang multi-vendor na endpoint sa Continue partikular. Gusto ng chat ang pinakamalakas na model na maaari mong bigyang-katwiran; ang edit at apply ay mas maiikli, mas mekanikal na tawag kung saan sapat na ang isang mabilis na mid-tier na id. Sa isang apiBase na nagse-serve ng bawat vendor, ang paghahati na iyon ay purong YAML: isang Claude id na may hawak na chat, isang mabilis na id na may hawak na edit at apply, isang key para sa lahat ng ito. Isang tapat na hangganan: ang autocomplete ay isang fill-in-the-middle na workload, at itinatayo ang autocomplete role ng Continue sa paligid ng mga model na sinanay para sa completion format na iyon sa halip na chat. Ang isang chat-completions na gateway ang tamang tahanan para sa chat, edit, at apply na traffic; panatilihin ang autocomplete sa anumang FIM-capable na setup na ginagamit mo ngayon sa halip na itakda ang role na iyon sa isang chat model at umasa ng magandang mungkahi.
Buong setup: ilang model, hating role, idinedeklarang context.
Nasa ~/.continue/config.yaml ang config file. Ang name ng bawat block ay ang label na ipinapakita sa selector; ang model ay ang eksaktong id na si-serve ng gateway. Idinideklara ng defaultCompletionOptions.contextLength ang context window ng model, at ginagamit ito ng Continue para magpasya kung gaano karaming conversation at file context ang ipapatong sa isang request, kaya ang pag-iwan nito sa isang konserbatibong default sa isang long-context na model ay nagpuputol nang mas maaga kaysa dapat. Karaniwang auto-detected ang mga capability, pero para sa mga id na hindi kilala ng Continue, maaari mong tahasang isaad ang mga ito: sinasabi ng capabilities: [tool_use] sa agent mode na maaari nitong patakbuhin ang mga tool gamit ang model na iyon. Tungkol sa mga key: tumatanggap ang YAML ng literal na apiKey, na okay para sa isang lokal na file na hindi kailanman umaalis sa makina mo. Sinusuportahan din ng Continue ang secrets template syntax na may hugis ${{ secrets.APISROUTER_API_KEY }} para sa mga config na pinamamahalaan sa pamamagitan ng hub nito, na pinapanatili ang literal na value sa labas ng mga shared na file. Gamitin ang anyong tumutugma kung saan nakatira ang config mo.
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]Pagpili ng mga model bawat role.
Ang pagtatakda ng role ay ang mekanismo rin ng paghahambing. Panatilihin ang edit at apply nang naayos, ipagpalit ang chat block sa pagitan ng dalawang kandidatong id sa loob ng isang linggo bawat isa, at hayaang pagpasyahan ng per-key na usage view ang pagkakaiba sa tunay mong workload. Ang bawat kandidato ay tatlong linya ng YAML laban sa parehong endpoint.
- Dinadala ng chat ang agent loop at ang mahahabang usapan: pagbabasa ng mga file, pagpaplano ng mga edit, pagsagot ng mga tanong laban sa tunay na context. Rito nabibilang ang isang frontier na model (claude-sonnet-4-6, gpt-5.5), at dito napupunta ang karamihan ng tokens mo.
- Hinahawakan ng edit ang mga pagbabagong naka-highlight sa code. Mas maikli at mas mekanikal ang mga tawag kaysa sa chat, kaya isang mabilis na id tulad ng claude-haiku-4-5-20251001 o gpt-5.4-mini ang nagpapanatiling masikip ang edit loop nang hindi bumababa ang kalidad.
- Sinasanib ng apply ang mga iminumungkahing pagbabago sa mga file. Ito ang pinaka-mekanikal na role sa tatlo at ang pinaka-malinaw na kandidato para sa pinakamurang kayang model, kasama ang deepseek-v4-flash.
- Ang embed at rerank ay nagpapatakbo ng codebase retrieval at hiwalay na subsystem na may sariling hugis ng model; ang paglipat ng chat traffic sa gateway ay hindi nangangailangan ng paghipo sa mga ito.
Pay-as-you-go · mas mababa sa opisyal na presyo
Selected models are priced below official list prices. Exact input, output, cache, and per-request prices are shown for each model.
| Model | Opisyal na Presyo | Aming Presyo |
|---|---|---|
| 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 |
Ang mga failure mode na specific sa Continue.
Ang apiBase nang walang /v1. Idinaragdag ng Continue ang mga route path tulad ng /chat/completions sa base na ibinigay mo, kaya tama ang https://api.apisrouter.com/v1 at hindi ang bare host. Ang isang 404-shaped na error sa unang paggamit ay halos palaging ito. Tahimik na binabago ng YAML indentation ang config. Ang models ay isang listahan ng blocks, at ang isang mali-lagay na indent na apiBase ay kumakabit sa maling entry o wala. Kapag gumana ang isang model at hindi makapag-authenticate ang katabi nito, i-diff ang indentation ng mga ito bago hinalain ang gateway. Ang legacy completions toggle. Nag-defa-default ang openai na provider sa /chat/completions, na siyang si-serve ng gateway. Nire-redirect ng useLegacyCompletionsEndpoint: true ang isang block patungo sa legacy na /completions na ruta; kung naka-set ito sa isang block, tumitigil ang mga chat-shaped na request para sa model na iyon. Mga inaasahan sa Responses-API sa mga id ng serye ng GPT. May ilang path ang Continue na maaaring subukan ang mas bagong responses na protocol ng OpenAI para sa ilang pangalan ng model ng OpenAI. Hindi si-serve ng isang chat-completions na gateway ang protocol na iyon; kung nagkakamali nang route-shaped ang isang block ng serye ng GPT, itakda ang useResponsesApi: false sa block na iyon para manatili ito sa /chat/completions. Lumang contextLength. Pinapatong ng Continue ang context ayon sa defaultCompletionOptions.contextLength, hindi ayon sa kayang tanggapin ng model. Ang pagdedeklara ng 32k sa isang model na 200k ay hindi masisira kahit ano nang halata; tahimik lamang nitong itinatapon ang context na binayaran mo. Ideklara kung ano talaga ang suportado ng model.
Sino ang nagru-route ng Continue sa pamamagitan ng isang gateway.
- Mga IDE-first na developer na gustong mapili ang Claude, GPT, at DeepSeek sa loob ng VS Code o JetBrains nang hindi nagpapanatili ng isang set ng credential bawat vendor.
- Mga team na naghahati ng roles ayon sa cost profile: frontier na chat, mabilis na edit at apply, ang bawat role ay may hawak na id na bagay dito, lahat binibill sa isang surface.
- Mga engineer na nagkukumpara ng chat models sa tunay na trabaho. Bawat kandidato ay isang YAML block laban sa parehong apiBase, hindi bagong provider integration.
- Mga team lead na nagsa-standardize ng onboarding: isang config.yaml template kasama ang isang APISROUTER_API_KEY ang pumapalit sa checklist ng vendor key bawat isa, at ipinapakita ng per-key usage kung ano ang ginagastos ng bawat seat.
- Mga developer na walang access sa billing ng isang partikular na vendor. Inaalis ng top-up based na access na walang kailangang card ang sign-up dependency bawat provider.
I-verify ang endpoint at i-debug ang unang request.
Ilista kung ano ang si-serve ng gateway bago mag-edit ng YAML; ang mga id na ibinabalik ng /v1/models ay eksaktong mga string na dapat tumugma sa mga model field mo. Sumusunod sa isang pattern ang mga pagkabigo sa unang request. Ang 401 ay nangangahulugang mali ang key sa tiyak na block na iyon, o hindi nalutas ang isang secrets reference; suriin ang blockna nabigo sa halip na ang buong file, dahil ang per-block na key ay nangangahulugang per-block na pagkabigo. Ang model-not-found na error ay typo sa id, kasama ang version suffix. Ang isang route-shaped na error sa isang id ng serye ng GPT ay tumuturo sa toggle ng responses-API na sinakop sa itaas. At kung walang lumitaw na custom na model sa extension, hindi na-parse ang YAML; i-validate muna ang structure ng file. Kapag dumadaloy na ang mga request, ipinapakita ng APIsRouter console ang per-request na model, token counts, at gastos. Dahil hinahati ng Continue ang trabaho sa mga role, ang usage view ang unang lugar kung saan makikita mo ang ratio ng chat-to-edit na traffic sa tunay mong workload, na siyang bilang na nagsasabi kung saan talaga mahalaga ang pagpili ng model.
curl -s https://api.apisrouter.com/v1/models \
-H "Authorization: Bearer $APISROUTER_API_KEY" | head -50Mga madalas itanong
Maaari bang gamitin ng Continue ang mga model ng Claude at DeepSeek sa pamamagitan ng openai na provider?
Oo. Ang openai na provider na may naka-set na apiBase ang naka-document na path para sa anumang OpenAI-compatible na server, at ipinapasa ng Continue ang model field bilang plain string. Gumagana ang anumang id na si-serve ng endpoint, kasama ang mga id ng Claude at DeepSeek, isang model block bawat id.
Nagbabahagi ba ang lahat ng aking model block ng isang apiBase at key?
Idinideklara ng bawat block ang sarili nitong apiBase at apiKey, kaya maaari nilang ibahagi ang mga value o hindi. Normal ang pagtuturo ng ilang block sa parehong endpoint gamit ang parehong key, at pinahihintulutan ng YAML anchors na ideklara mo nang isang beses ang pares at i-reference bawat block.
Aling mga role ang dapat dumaan sa gateway?
Ang chat, edit, at apply, na lahat ay nagsasalita ng /v1/chat/completions. Ang autocomplete ay isang fill-in-the-middle na workload na itinayo sa paligid ng mga model na completion-format, kaya panatilihin ang role na iyon sa umiiral mo nang FIM setup. Hiwalay na subsystem ang embed at rerank at hindi kailangan ng pagbabago.
Bakit gumagana ang isang model block habang ang isa ay nagbabalik ng 401?
Per block ang mga key sa Continue, kaya walang napapatunayan ang isang gumaganang katabi tungkol sa nabigong block. Suriin ang value ng apiKey ng nabigong block o ang secrets reference nito, at suriin ang indentation nito: ang isang mali-lagay na indent na key ay kumakabit sa maling entry ng listahan.
Ano ang ginagawa ng useLegacyCompletionsEndpoint at kailangan ko ba ito?
Nire-redirect nito ang isang model block mula sa /chat/completions patungo sa legacy na /completions na ruta. Para sa isang chat-completions na gateway, hindi mo ito gusto; iwanan itong hindi naka-set. Umiiral ito para sa mas lumang mga server na completion-only.
Talaga bang nagbabago ng behavior ang contextLength?
Oo. Pinapatong ng Continue ang conversation at file context ayon sa defaultCompletionOptions.contextLength. Ang pagkulang dito sa isang long-context na model ay tahimik na nagtatapon ng context; itakda ito sa talagang suportado ng model.