Aponte o NextChat para um endpoint personalizado compatível com OpenAI.
Updated 2026-07-29
O NextChat sobrescreve seu host de API com uma variável de ambiente BASE_URL em deploys de servidor, ou um endpoint personalizado no app em Settings nos clientes. Adicione ids do catálogo por CUSTOM_MODELS com o sufixo @OpenAI e Claude, Gemini, e DeepSeek aparecem no mesmo seletor de modelo sob uma chave.
Resposta rápida: BASE_URL, uma chave, e uma lista de modelos.
Em um deploy de servidor (Vercel, Docker, ou Node puro), três variáveis de ambiente fazem todo o trabalho. BASE_URL sobrescreve para onde as requisições de API vão; o README a descreve como "sobrescreve a base url de requisição da api openai" com um padrão de https://api.openai.com, e o valor é digitado sem /v1 porque o NextChat anexa o caminho da requisição sozinho. OPENAI_API_KEY carrega a chave do gateway. CUSTOM_MODELS controla o seletor de modelo: mais adiciona um modelo, menos esconde um, -all limpa a lista padrão, e name=displayName renomeia uma entrada. O detalhe que faz ids multi-fornecedor funcionarem é o sufixo de provedor. O NextChat vem com caminhos de código de cliente separados para vários fornecedores, então um id claude nu adicionado a CUSTOM_MODELS pode aparecer sob o caminho Anthropic, que espera uma chave e formato de requisição diferentes. Anexar @OpenAI ao id, como em +claude-sonnet-4-6@OpenAI, fixa o modelo ao caminho compatível com OpenAI, então a requisição vai para sua BASE_URL em formato de chat-completions padrão independentemente de qual fornecedor treinou o modelo.
BASE_URL=https://api.apisrouter.com # no /v1
OPENAI_API_KEY=sk-APIsRouter-...
CUSTOM_MODELS=-all,+claude-sonnet-4-6@OpenAI,+gpt-5.5@OpenAI,+deepseek-v4-pro@OpenAI
DEFAULT_MODEL=claude-sonnet-4-6Como o NextChat resolve seu endpoint.
O NextChat (ChatGPTNextWeb no GitHub, cerca de 88 mil estrelas) é um dos frontends de chat mais implantados que existem: um app web leve com deploy no Vercel em um clique mais clientes empacotados para iOS, macOS, Android, Windows, e Linux. Sua popularidade vem exatamente do mecanismo que esta página usa, tudo é uma superfície de configuração, e o endpoint é só mais uma configuração. Existem duas dessas superfícies. Deploys de servidor leem variáveis de ambiente no build e na inicialização: BASE_URL decide o host, OPENAI_API_KEY autentica, e CUSTOM_MODELS molda o seletor para todo usuário daquele deployment. Os clientes e a UI web também expõem um caminho no app: Settings, Model Provider, escolha OpenAI, depois preencha os campos de endpoint e chave e liste ids extras no campo de nomes de modelo personalizados. O caminho no app armazena valores localmente por dispositivo, o que o torna a superfície certa para um cliente pessoal, enquanto variáveis de ambiente são a superfície certa para um deployment que outras pessoas usam. De qualquer forma, a requisição que sai do NextChat é uma chat completion padrão contra seu endpoint com o id do modelo como uma string simples. Com um gateway multi-fornecedor atrás de BASE_URL, o mesmo deployment serve Claude para respostas longas, um id Gemini rápido para perguntas rápidas, e DeepSeek ou GLM para tráfego bilíngue, tudo através de uma chave.
Configuração completa: deploy de servidor ou configurações no app.
Para um deploy no Vercel, defina as variáveis nas configurações de ambiente do projeto e faça o redeploy; o Vercel embute os valores de ambiente no build, então editar uma variável sem fazer redeploy não muda nada. Para Docker, passe as mesmas variáveis com flags -e ou um arquivo de env. A variável CODE vale a pena ser definida em qualquer deployment público, ela protege o acesso com uma senha para que estranhos não gastem sua chave. O caminho no app não precisa de nenhum deploy. Em Settings, escolha o provedor OpenAI, substitua o endpoint por https://api.apisrouter.com, cole a chave, e adicione ids no campo de nomes de modelo personalizados usando a mesma sintaxe da variável de ambiente. É assim que os clientes de desktop e mobile funcionam com um gateway, e é também a forma mais rápida de testar valores antes de aplicá-los a um deploy de servidor. DEFAULT_MODEL escolhe em que novos chats começam, o que importa mais do que parece em um deployment compartilhado: a maioria dos usuários nunca troca o modelo, então o id padrão é onde a maior parte do gasto vai parar. Defina-o deliberadamente para o modelo que você quer carregando o tráfego casual.
docker run -d -p 3000:3000 \
-e BASE_URL=https://api.apisrouter.com \
-e OPENAI_API_KEY=$APISROUTER_API_KEY \
-e CUSTOM_MODELS="-all,+claude-sonnet-4-6@OpenAI,+claude-haiku-4-5-20251001@OpenAI,+gemini-3.5-flash@OpenAI" \
-e DEFAULT_MODEL=claude-haiku-4-5-20251001 \
-e CODE=your-access-password \
yidadaa/chatgpt-next-webEscolhendo modelos para o seletor.
Como todo o seletor fatura por uma chave, o ciclo de ajuste é observacional: rode uma semana, leia o uso por modelo no console, e remodele CUSTOM_MODELS em torno do que as pessoas realmente clicaram em vez do que você previu.
- Comece a lista com -all. O seletor de fábrica é um menu longo só de OpenAI; limpá-lo e adicionar quatro ou cinco ids deliberados dá aos usuários um seletor onde toda escolha é uma que você precificou.
- O modelo padrão carrega o deployment. claude-haiku-4-5-20251001 ou gemini-3.5-flash como DEFAULT_MODEL mantém a maioria casual das viradas rápida e barata, com ids mais fortes a um clique de distância.
- Trabalho de forma longa merece um slot de ponta. claude-sonnet-4-6 e gpt-5.5 são as escolhas que os usuários buscam quando um rascunho ou uma análise importa.
- Deployments bilíngues devem incluir deepseek-v4-pro ou glm-5.2; o NextChat tem uma base de instalação enorme de língua chinesa e esses ids se encaixam nativamente nesse tráfego.
- Renomear é documentação de graça: entradas como claude-sonnet-4-6=Sonnet (escrita) tornam o seletor autoexplicativo para usuários não técnicos.
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 |
| Gemini 3.5 Flash | $1.50 / $9.00 per M | $1.20 / $7.20 per M |
| GLM-5.2 | $1.14 / $4.00 per M | $1.10 / $4.00 per M |
Modos de falha específicos do NextChat.
O erro do /v1 corre na direção oposta da maioria das ferramentas. O NextChat anexa o caminho da requisição à BASE_URL sozinho, então o valor pertence sem /v1; colar https://api.apisrouter.com/v1 produz caminhos duplicados que dão 404. Ferramentas como o LibreChat esperam o /v1 incluído, o que é exatamente por que as pessoas carregam o hábito errado nas duas direções. Um id Claude que erra sobre chaves ou headers é o sufixo @OpenAI faltando. Sem ele, o NextChat pode rotear o id pelo seu caminho nativo Anthropic, que nunca consulta BASE_URL para seu gateway e espera autenticação no formato do fornecedor. Fixe todo id do gateway com @OpenAI e as requisições todas seguem o caminho compatível. Edições de ambiente que não mudam nada são um problema de redeploy. No Vercel as variáveis são lidas no build; no Docker o container precisa ser recriado. As configurações no app, por outro lado, se aplicam imediatamente mas só naquele dispositivo, o que é a outra metade da mesma confusão. CODE e OPENAI_API_KEY são trocados surpreendentemente com frequência. CODE é a senha de acesso que os usuários digitam na UI; a chave é o que o servidor gasta. Se usuários reportam uma página não autorizada antes de qualquer chat acontecer, isso é o CODE; se chats falham contra o endpoint, isso é a chave.
Quem roteia o NextChat por um gateway.
- Pessoas rodando um deployment pessoal no Vercel que querem uma chave medida atrás dele em vez de uma assinatura por fornecedor.
- Times pequenos compartilhando uma instância do NextChat, usando CODE para controle de acesso e uma chave de gateway para que o log de uso dobre como relatório de custo.
- Usuários de clientes de desktop e mobile apontando o endpoint no app para um gateway para alcançar Claude, Gemini, e DeepSeek de um seletor em todo dispositivo.
- Usuários bilíngues misturando ids GLM e DeepSeek com Claude e GPT em um deployment, o que silos de provedor nativo tornam estranho.
- 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 o primeiro chat.
Comprove o endpoint antes de fazer o deploy: liste modelos com a chave e confirme que todo id que você planeja colocar em CUSTOM_MODELS aparece, soletrado exatamente. Os ids são encaminhados como strings, então a saída de /v1/models é a grafia autoritativa. Depois faça o deploy e envie uma mensagem por modelo no seletor. Um 404 em tudo é o erro do /v1 na BASE_URL. Um 401 é a chave, errada ou ausente no ambiente que o build realmente usou. Um erro só em ids Claude é o sufixo @OpenAI faltando. Um seletor mostrando modelos que você nunca adicionou significa que CUSTOM_MODELS perdeu seu prefixo -all ou a variável não chegou ao build. Assim que os chats fluem, o console da APIsRouter mostra modelo, contagens de token e gasto por requisição. Para um deployment com mais de um usuário, essa visão responde à pergunta que todo admin do NextChat eventualmente faz, qual modelo está silenciosamente comendo o saldo, com dados em vez de suposições.
curl -s https://api.apisrouter.com/v1/models \
-H "Authorization: Bearer $APISROUTER_API_KEY" | head -50Perguntas frequentes
A BASE_URL do NextChat deve incluir /v1?
Não. O NextChat anexa o caminho da requisição sozinho, então defina BASE_URL=https://api.apisrouter.com sem /v1. Incluí-lo produz caminhos duplicados que dão 404. Essa é a convenção oposta de ferramentas como o LibreChat, que esperam o /v1 na base url.
Como eu adiciono modelos Claude ou Gemini ao NextChat através de um endpoint?
Adicione-os em CUSTOM_MODELS com o sufixo @OpenAI, por exemplo +claude-sonnet-4-6@OpenAI. O sufixo fixa o id ao caminho de requisição compatível com OpenAI para que ele vá para sua BASE_URL, em vez dos caminhos de cliente nativos Anthropic ou Google do NextChat.
Qual é a diferença entre as variáveis de ambiente e as configurações no app?
Variáveis de ambiente configuram um deployment de servidor para todo usuário e exigem um redeploy para mudar. O endpoint personalizado no app em Settings armazena valores localmente por dispositivo e se aplica imediatamente, o que serve bem clientes pessoais de desktop e mobile.
Como eu removo a lista de modelo padrão da OpenAI do seletor?
Comece CUSTOM_MODELS com -all, depois adicione ids explicitamente: CUSTOM_MODELS=-all,+claude-sonnet-4-6@OpenAI,+gpt-5.5@OpenAI. Os usuários então só veem modelos que você listou e precificou deliberadamente.
O que a variável CODE faz?
Ela define uma ou mais senhas de acesso para o deployment. Visitantes precisam digitar um código antes de conversar, o que impede uma URL pública do Vercel de gastar sua chave. Não tem relação com a própria chave de API.
Por que mudar uma variável de ambiente não teve efeito?
O NextChat lê valores de ambiente no build ou na inicialização do container. No Vercel, edite a variável e faça redeploy; no Docker, recrie o container. Só as configurações no app se aplicam sem um reinício, e essas vivem por dispositivo.