Punta NextChat verso un endpoint compatibile OpenAI personalizzato.
Updated 2026-07-29
NextChat sovrascrive il suo host API con una singola variabile d'ambiente BASE_URL sui deploy server, oppure un endpoint personalizzato in-app in Settings sui client. Aggiungi id del catalogo tramite CUSTOM_MODELS con il suffisso @OpenAI e Claude, Gemini e DeepSeek compaiono nello stesso selettore di modelli sotto una sola chiave.
Risposta rapida: BASE_URL, una chiave e un elenco di modelli.
Su un deploy server (Vercel, Docker o Node nudo), tre variabili d'ambiente fanno tutto il lavoro. BASE_URL sovrascrive dove vanno le richieste API; il README la descrive come "override openai api request base url" con un default di https://api.openai.com, e il valore va inserito senza /v1 perché NextChat aggiunge da sé il percorso della richiesta. OPENAI_API_KEY trasporta la chiave del gateway. CUSTOM_MODELS controlla il selettore di modelli: plus aggiunge un modello, minus ne nasconde uno, -all svuota l'elenco predefinito, e name=displayName rinomina una voce. Il dettaglio che fa funzionare gli id multi-fornitore è il suffisso di provider. NextChat spedisce percorsi di codice client separati per diversi fornitori, quindi un id claude nudo aggiunto a CUSTOM_MODELS può emergere sotto il percorso Anthropic, che si aspetta una chiave e un formato di richiesta diversi. Aggiungere @OpenAI all'id, come in +claude-sonnet-4-6@OpenAI, fissa il modello sul percorso compatibile OpenAI così che la richiesta vada verso il tuo BASE_URL in formato chat-completions standard indipendentemente da quale fornitore abbia addestrato il modello.
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-6Come NextChat risolve il suo endpoint.
NextChat (ChatGPTNextWeb su GitHub, circa 88K stelle) è uno dei frontend di chat più deployati che esistano: una web app leggera con deploy Vercel in un clic più client confezionati per iOS, macOS, Android, Windows e Linux. La sua popolarità nasce esattamente dal meccanismo che questa pagina usa, tutto è una superficie di configurazione, e l'endpoint è solo un'altra impostazione. Ci sono due di queste superfici. I deploy server leggono le variabili d'ambiente in fase di build e avvio: BASE_URL decide l'host, OPENAI_API_KEY autentica, e CUSTOM_MODELS modella il selettore per ogni utente di quel deployment. I client e la web UI espongono inoltre un percorso in-app: Settings, Model Provider, scegli OpenAI, poi riempi i campi endpoint e chiave ed elenca id extra nel campo dei nomi modello personalizzati. Il percorso in-app memorizza i valori localmente per dispositivo, il che lo rende la superficie giusta per un client personale, mentre le variabili d'ambiente sono la superficie giusta per un deployment usato da altre persone. In entrambi i casi, la richiesta che esce da NextChat è un chat completion standard verso il tuo endpoint con l'id del modello come stringa semplice. Con un gateway multi-fornitore dietro BASE_URL, lo stesso deployment serve Claude per risposte lunghe, un id Gemini veloce per domande rapide, e DeepSeek o GLM per traffico bilingue, tutto attraverso una sola chiave.
Configurazione completa: deploy server o impostazioni in-app.
Per un deploy Vercel, imposta le variabili nelle impostazioni d'ambiente del progetto e rideploya; Vercel incorpora i valori d'ambiente in fase di build, quindi modificare una variabile senza rideployare non cambia nulla. Per Docker, passa le stesse variabili con flag -e o un file env. La variabile CODE merita di essere impostata su qualsiasi deployment pubblico: protegge l'accesso con una password così che estranei non possano spendere la tua chiave. Il percorso in-app non richiede alcun deployment. In Settings, scegli il provider OpenAI, sostituisci l'endpoint con https://api.apisrouter.com, incolla la chiave, e aggiungi id nel campo dei nomi modello personalizzati usando la stessa sintassi della variabile d'ambiente. È così che i client desktop e mobile lavorano con un gateway, ed è anche il modo più veloce per testare i valori prima di impegnarli in un deploy server. DEFAULT_MODEL sceglie con cosa iniziano le nuove chat, il che conta più di quanto sembri su un deployment condiviso: la maggior parte degli utenti non cambia mai il modello, quindi l'id predefinito è dove finisce la maggior parte della spesa. Impostalo deliberatamente sul modello che vuoi che porti il traffico occasionale.
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-webScegliere i modelli per il selettore.
Poiché l'intero selettore fattura attraverso una sola chiave, il ciclo di ottimizzazione è osservazionale: esegui per una settimana, leggi l'utilizzo per modello nella console, e rimodella CUSTOM_MODELS intorno a ciò su cui le persone hanno effettivamente cliccato invece di ciò che avevi previsto.
- Inizia l'elenco con -all. Il selettore di serie è un lungo menu solo-OpenAI; svuotarlo e aggiungere quattro o cinque id deliberati dà agli utenti un selettore dove ogni scelta è una che hai prezzato tu.
- Il modello predefinito porta il deployment. claude-haiku-4-5-20251001 o gemini-3.5-flash come DEFAULT_MODEL mantiene la maggioranza occasionale dei turni veloce ed economica, con id più forti a un clic di distanza.
- Il lavoro lungo si merita uno slot di frontiera. claude-sonnet-4-6 e gpt-5.5 sono le scelte a cui gli utenti ricorrono quando una bozza o un'analisi conta davvero.
- I deployment bilingue dovrebbero includere deepseek-v4-pro o glm-5.2; NextChat ha un'enorme base installata di lingua cinese e quegli id si adattano nativamente a quel traffico.
- Le rinomine sono documentazione gratuita: voci in stile claude-sonnet-4-6=Sonnet (scrittura) rendono il selettore autoesplicativo per utenti non tecnici.
Pagamento a consumo · sotto i prezzi ufficiali
Selected models are priced below official list prices. Exact input, output, cache, and per-request prices are shown for each model.
| Modello | Prezzo ufficiale | Il nostro prezzo |
|---|---|---|
| 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 |
Le modalità di errore specifiche di NextChat.
L'errore /v1 va nella direzione opposta rispetto alla maggior parte degli strumenti. NextChat aggiunge da sé il percorso della richiesta a BASE_URL, quindi il valore va inserito senza /v1; incollare https://api.apisrouter.com/v1 produce percorsi duplicati che danno 404. Strumenti come LibreChat si aspettano il /v1 incluso, il che è esattamente il motivo per cui le persone portano l'abitudine sbagliata in entrambe le direzioni. Un id Claude che dà errore su chiavi o header è il suffisso @OpenAI mancante. Senza di esso, NextChat può instradare l'id attraverso il suo percorso nativo Anthropic, che non consulta mai BASE_URL per il tuo gateway e si aspetta un'autenticazione in formato fornitore. Fissa ogni id gateway con @OpenAI e le richieste prenderanno tutte il percorso compatibile. Le modifiche d'ambiente che non cambiano nulla sono un problema di redeploy. Su Vercel le variabili si leggono in fase di build; su Docker il container va ricreato. Le impostazioni in-app, al contrario, si applicano immediatamente ma solo su quel dispositivo, che è l'altra metà della stessa confusione. CODE e OPENAI_API_KEY vengono scambiati sorprendentemente spesso. CODE è la password di accesso che gli utenti digitano nella UI; la chiave è ciò che il server spende. Se gli utenti segnalano una pagina non autorizzata prima che avvenga qualsiasi chat, è CODE; se le chat falliscono contro l'endpoint, è la chiave.
Chi instrada NextChat tramite un gateway.
- Persone che gestiscono un deployment personale su Vercel e vogliono una sola chiave a consumo dietro di esso invece di un abbonamento per fornitore.
- Piccoli team che condividono un'istanza NextChat, usando CODE per il controllo accessi e una chiave gateway così che il log di utilizzo funga anche da report dei costi.
- Utenti di client desktop e mobile che puntano l'endpoint in-app verso un gateway per raggiungere Claude, Gemini e DeepSeek da un unico selettore su ogni dispositivo.
- Utenti bilingue che mescolano id GLM e DeepSeek con Claude e GPT in un unico deployment, cosa che i silos nativi per fornitore rendono scomoda.
- Sviluppatori senza accesso alla fatturazione di un dato fornitore. L'accesso basato su ricarica senza obbligo di carta rimuove la dipendenza dalla registrazione per provider.
Verifica l'endpoint e fai debug della prima chat.
Dimostra l'endpoint prima di deployare: elenca i modelli con la chiave e conferma che ogni id che intendi mettere in CUSTOM_MODELS compaia, scritto esattamente. Gli id sono inoltrati come stringhe, quindi l'output di /v1/models è la grafia autorevole. Poi deploya e invia un messaggio per ogni modello nel selettore. Un 404 su tutto è l'errore del /v1 dentro BASE_URL. Un 401 è la chiave, sbagliata o assente nell'ambiente che la build ha effettivamente usato. Un errore solo sugli id Claude è il suffisso @OpenAI mancante. Un selettore che mostra modelli che non hai mai aggiunto significa che CUSTOM_MODELS ha perso il suo prefisso -all o che la variabile non ha raggiunto la build. Una volta che le chat fluiscono, la console di APIsRouter mostra modello per richiesta, conteggi dei token e spesa. Per un deployment con più di un utente, quella vista risponde alla domanda che ogni admin NextChat prima o poi si pone, quale modello sta silenziosamente divorando il saldo, con dati invece di supposizioni.
curl -s https://api.apisrouter.com/v1/models \
-H "Authorization: Bearer $APISROUTER_API_KEY" | head -50Domande frequenti
Il BASE_URL di NextChat dovrebbe includere /v1?
No. NextChat aggiunge da sé il percorso della richiesta, quindi imposta BASE_URL=https://api.apisrouter.com senza /v1. Includerlo produce percorsi duplicati che danno 404. È la convenzione opposta rispetto a strumenti come LibreChat, che si aspettano il /v1 nella base URL.
Come aggiungo modelli Claude o Gemini a NextChat tramite un unico endpoint?
Aggiungili in CUSTOM_MODELS con il suffisso @OpenAI, ad esempio +claude-sonnet-4-6@OpenAI. Il suffisso fissa l'id sul percorso di richiesta compatibile OpenAI così che vada verso il tuo BASE_URL, invece dei percorsi client nativi Anthropic o Google di NextChat.
Qual è la differenza tra le variabili d'ambiente e le impostazioni in-app?
Le variabili d'ambiente configurano un deployment server per ogni utente e richiedono un redeploy per essere cambiate. L'endpoint personalizzato in-app in Settings memorizza i valori localmente per dispositivo e si applica immediatamente, il che si adatta ai client desktop e mobile personali.
Come rimuovo l'elenco predefinito dei modelli OpenAI dal selettore?
Inizia CUSTOM_MODELS con -all, poi aggiungi gli id esplicitamente: CUSTOM_MODELS=-all,+claude-sonnet-4-6@OpenAI,+gpt-5.5@OpenAI. Gli utenti vedranno quindi solo i modelli che hai elencato e prezzato deliberatamente.
Cosa fa la variabile CODE?
Imposta una o più password di accesso per il deployment. I visitatori devono inserire un codice prima di chattare, il che impedisce a un URL Vercel pubblico di spendere la tua chiave. Non ha nulla a che fare con la chiave API stessa.
Perché cambiare una variabile d'ambiente non ha avuto effetto?
NextChat legge i valori d'ambiente in fase di build o all'avvio del container. Su Vercel, modifica la variabile e rideploya; su Docker, ricrea il container. Solo le impostazioni in-app si applicano senza riavvio, e quelle vivono per dispositivo.