Aponte o Continue para um endpoint compatível com OpenAI personalizado.
Updated 2026-07-29
O Continue configura modelos declarativamente no config.yaml. Defina provider como openai, aponte apiBase para https://api.apisrouter.com/v1, e cada bloco de modelo que você adicionar se torna selecionável na extensão, com papéis de chat, edit e apply atribuíveis por modelo sob uma chave.
Resposta rápida: um bloco de modelo com provider openai e apiBase.
O provider openai do Continue aceita um override de apiBase, que é o caminho documentado para qualquer servidor compatível com OpenAI. Adicione um bloco de modelo ao config.yaml com provider definido como openai, apiBase definido como https://api.apisrouter.com/v1, o id exato do modelo, e sua chave. O modelo aparece no seletor de modelo do Continue, e cada requisição que ele faz vai para o gateway por /v1/chat/completions padrão. O mesmo mecanismo cobre quantos modelos você quiser: um bloco por id, todos compartilhando a mesma apiBase e chave. Como o Continue trata o campo model como uma string simples, ids de fornecedores diferentes, Claude ao lado de GPT ao lado de DeepSeek, ficam lado a lado em um único arquivo de configuração.
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
- applyComo o Continue atribui trabalho aos modelos: papéis (roles).
O Continue (continuedev no GitHub, cerca de 34 mil estrelas) é um agente de IDE para VS Code e JetBrains, e sua ideia central de configuração são os papéis (roles). Todo bloco de modelo carrega uma lista roles, e o Continue roteia cada tipo de trabalho para um modelo que carregue esse papel: chat para o painel de conversa e trabalho de agente, edit para transformações de código inline, apply para mesclar mudanças propostas em arquivos, além de autocomplete, embed e rerank para seus respectivos subsistemas. Essa é a alavanca que torna um endpoint multi-fornecedor interessante especificamente no Continue. chat quer o modelo mais forte que você conseguir justificar; edit e apply são chamadas mais curtas e mecânicas onde um id rápido de nível intermediário resolve. Com uma apiBase servindo todo fornecedor, essa divisão é YAML puro: um id Claude carregando chat, um id rápido carregando edit e apply, uma chave para todos eles. Um limite honesto: autocomplete é uma carga de trabalho fill-in-the-middle, e o papel autocomplete do Continue é construído em torno de modelos treinados para esse formato de conclusão em vez de chat. Um gateway de chat-completions é o lugar certo para o tráfego de chat, edit e apply; mantenha o autocomplete na configuração FIM que você já usa hoje em vez de atribuir esse papel a um modelo de chat e esperar boas sugestões.
Configuração completa: vários modelos, papéis divididos, contexto declarado.
O arquivo de configuração vive em ~/.continue/config.yaml. O name de cada bloco é o rótulo mostrado no seletor; model é o id exato que o gateway serve. defaultCompletionOptions.contextLength declara a janela de contexto do modelo, e o Continue a usa para decidir quanto contexto de conversa e arquivo empacotar em uma requisição, então deixá-la em um padrão conservador em um modelo de contexto longo trunca antes do que deveria. As capacidades geralmente são detectadas automaticamente, mas para ids que o Continue não reconhece você pode declará-las explicitamente: capabilities: [tool_use] diz ao modo agente que ele pode dirigir ferramentas com esse modelo. Sobre chaves: o YAML aceita uma apiKey literal, o que é tranquilo para um arquivo local que nunca sai da sua máquina. O Continue também suporta uma sintaxe de template de secrets no formato ${{ secrets.APISROUTER_API_KEY }} para configurações gerenciadas pelo hub dele, o que mantém o valor literal fora de arquivos compartilhados. Use a forma que combina com onde sua configuração vive.
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]Escolhendo modelos por papel.
A atribuição de papel também é o mecanismo de comparação. Mantenha edit e apply fixos, troque o bloco de chat entre dois ids candidatos por uma semana cada, e deixe a visão de uso por chave precificar a diferença na sua carga de trabalho real. Cada candidato são três linhas de YAML contra o mesmo endpoint.
- chat carrega o loop de agente e as conversas longas: ler arquivos, planejar edições, responder perguntas sobre contexto real. Um modelo de ponta (claude-sonnet-4-6, gpt-5.5) pertence aqui, e é para onde vai a maior parte dos seus tokens.
- edit lida com transformações de código destacado. As chamadas são mais curtas e mecânicas que chat, então um id rápido como claude-haiku-4-5-20251001 ou gpt-5.4-mini mantém o loop de edição ágil sem degradar os resultados.
- apply mescla as mudanças propostas nos arquivos. É o mais mecânico dos três papéis e o candidato mais claro para o modelo capaz mais barato, deepseek-v4-flash incluído.
- embed e rerank alimentam a recuperação no código e são subsistemas separados com seus próprios formatos de modelo; mover o tráfego de chat para um gateway não exige tocar neles.
Pague pelo uso · abaixo do preço oficial
Selected models are priced below official list prices. Exact input, output, cache, and per-request prices are shown for each model.
| Modelo | Preço oficial | Nosso preço |
|---|---|---|
| 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 |
Os modos de falha específicos do Continue.
apiBase sem /v1. O Continue anexa caminhos de rota como /chat/completions à base que você fornece, então https://api.apisrouter.com/v1 está correto e o host puro não. Um erro no formato 404 no primeiro uso quase sempre é isso. A indentação do YAML remodela silenciosamente a configuração. models é uma lista de blocos, e uma apiBase mal indentada se anexa à entrada errada ou a nenhuma. Quando um modelo funciona e seu vizinho não consegue autenticar, compare a indentação dos dois antes de suspeitar do gateway. O toggle legado de completions. O provider openai usa /chat/completions por padrão, que é o que o gateway serve. useLegacyCompletionsEndpoint: true redireciona um bloco para a rota legada /completions; se um bloco tiver isso definido, requisições no formato de chat param de funcionar para esse modelo. Expectativas da Responses API em ids da série GPT. Alguns caminhos do Continue podem tentar o protocolo responses mais novo da OpenAI para certos nomes de modelo OpenAI. Um gateway de chat-completions não serve esse protocolo; se um bloco da série GPT der erro no formato de rota, defina useResponsesApi: false nesse bloco para que ele permaneça em /chat/completions. contextLength desatualizado. O Continue empacota contexto de acordo com defaultCompletionOptions.contextLength, não de acordo com o que o modelo poderia aceitar. Declarar 32k em um modelo de 200k não quebra nada visivelmente; só descarta silenciosamente contexto pelo qual você pagou. Declare o que o modelo de fato suporta.
Quem roteia o Continue por um gateway.
- Desenvolvedores focados em IDE que querem Claude, GPT e DeepSeek selecionáveis dentro do VS Code ou JetBrains sem manter um conjunto de credenciais por fornecedor.
- Times dividindo papéis por perfil de custo: chat de ponta, edit e apply rápidos, cada papel com o id que se encaixa, tudo cobrado em uma única superfície.
- Engenheiros comparando modelos de chat em trabalho real. Cada candidato é um bloco YAML contra a mesma apiBase, não uma integração de provider nova.
- Líderes de time padronizando o onboarding: um template de config.yaml mais um APISROUTER_API_KEY substitui uma checklist de chaves por fornecedor, e o uso por chave mostra o que cada assento gasta.
- Desenvolvedores sem acesso ao faturamento de um determinado fornecedor. O acesso baseado em recarga sem exigência de cartão remove a dependência de cadastro por provedor.
Verifique o endpoint e depure a primeira requisição.
Liste o que o gateway serve antes de editar o YAML; os ids retornados por /v1/models são exatamente as strings que seus campos model precisam corresponder. As falhas da primeira requisição seguem um padrão. Um 401 significa que a chave naquele bloco específico está errada, ou uma referência a secrets não resolveu; verifique o bloco que falhou em vez do arquivo em geral, porque chaves por bloco significam falhas por bloco. Um erro de modelo não encontrado é um erro de digitação no id, sufixo de versão incluído. Um erro no formato de rota em um id da série GPT aponta para o toggle da responses API coberto acima. E se a extensão não mostrar nenhum modelo personalizado, o YAML não foi interpretado; valide a estrutura do arquivo primeiro. Assim que as requisições fluem, o console da APIsRouter mostra modelo, contagens de token e gasto por requisição. Como o Continue divide o trabalho entre papéis, a visão de uso também é o primeiro lugar onde você vê a proporção de tráfego chat-para-edit na sua carga real de trabalho, que é o número que diz onde a escolha de modelo realmente importa.
curl -s https://api.apisrouter.com/v1/models \
-H "Authorization: Bearer $APISROUTER_API_KEY" | head -50Perguntas frequentes
O Continue pode usar modelos Claude e DeepSeek pelo provider openai?
Sim. O provider openai com apiBase definido é o caminho documentado para qualquer servidor compatível com OpenAI, e o Continue encaminha o campo model como uma string simples. Qualquer id que o endpoint sirva funciona, ids Claude e DeepSeek incluídos, um bloco de modelo por id.
Todos os meus blocos de modelo compartilham uma apiBase e chave?
Cada bloco declara sua própria apiBase e apiKey, então eles podem compartilhar valores ou não. Apontar vários blocos para o mesmo endpoint com a mesma chave é normal, e anchors YAML permitem declarar o par uma vez e referenciá-lo por bloco.
Quais papéis devem rotear pelo gateway?
chat, edit e apply, que falam /v1/chat/completions. Autocomplete é uma carga de trabalho fill-in-the-middle construída em torno de modelos no formato de conclusão, então mantenha esse papel na sua configuração FIM existente. embed e rerank são subsistemas separados e não precisam de mudanças.
Por que um bloco de modelo funciona enquanto outro retorna 401?
As chaves são por bloco no Continue, então um vizinho funcionando não prova nada sobre o bloco que falha. Verifique o valor de apiKey do bloco que falha ou sua referência a secrets, e verifique sua indentação: uma chave mal indentada se anexa à entrada errada da lista.
O que useLegacyCompletionsEndpoint faz e eu preciso dele?
Ele redireciona um bloco de modelo de /chat/completions para a rota legada /completions. Para um gateway de chat-completions você não quer isso; deixe-o sem definir. Ele existe para servidores mais antigos só de completions.
O contextLength realmente muda o comportamento?
Sim. O Continue empacota contexto de conversa e arquivo de acordo com defaultCompletionOptions.contextLength. Subestimá-lo em um modelo de contexto longo descarta contexto silenciosamente; defina-o para o que o modelo genuinamente suporta.