NextChat auf einen custom OpenAI-kompatiblen Endpoint zeigen.
Updated 2026-07-29
NextChat überschreibt seinen API-Host mit einer BASE_URL-Umgebungsvariable bei Server-Deploys, oder einem In-App-Custom-Endpoint in Settings bei den Clients. Füge Katalog-IDs über CUSTOM_MODELS mit dem @OpenAI-Suffix hinzu, und Claude, Gemini und DeepSeek erscheinen im selben Model-Picker unter einem Key.
Kurzantwort: BASE_URL, ein Key, und eine Modell-Liste.
Bei einem Server-Deploy (Vercel, Docker oder blankes Node) erledigen drei Umgebungsvariablen die ganze Arbeit. BASE_URL überschreibt, wohin API-Requests gehen; das README beschreibt es als „override openai api request base url" mit einem Default von https://api.openai.com, und der Wert wird ohne /v1 eingetragen, da NextChat den Request-Pfad selbst anhängt. OPENAI_API_KEY trägt den Gateway-Key. CUSTOM_MODELS steuert den Model-Picker: plus fügt ein Modell hinzu, minus versteckt eines, -all leert die Default-Liste, und name=displayName benennt einen Eintrag um. Das Detail, das Multi-Vendor-IDs funktionieren lässt, ist das Provider-Suffix. NextChat liefert separate Client-Code-Pfade für mehrere Vendoren, sodass eine bloße Claude-ID, hinzugefügt zu CUSTOM_MODELS, über den Anthropic-Pfad auftauchen kann, der einen anderen Key und ein anderes Request-Format erwartet. @OpenAI an die ID anzuhängen, wie in +claude-sonnet-4-6@OpenAI, pinnt das Modell auf den OpenAI-kompatiblen Pfad, sodass der Request unabhängig davon, welcher Vendor das Modell trainiert hat, im Standard-Chat-Completions-Format an deine BASE_URL geht.
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-6Wie NextChat seinen Endpoint auflöst.
NextChat (ChatGPTNextWeb auf GitHub, rund 88.000 Stars) ist eines der meistdeployten Chat-Frontends überhaupt: eine leichte Web-App mit One-Click-Vercel-Deployment plus fertigen Clients für iOS, macOS, Android, Windows und Linux. Seine Popularität kommt genau aus dem Mechanismus, den diese Seite nutzt, alles ist eine Konfigurationsfläche, und der Endpoint ist nur eine weitere Einstellung. Es gibt zwei solcher Flächen. Server-Deploys lesen Umgebungsvariablen bei Build und Boot: BASE_URL entscheidet den Host, OPENAI_API_KEY authentifiziert, und CUSTOM_MODELS formt den Picker für jeden Nutzer dieses Deployments. Die Clients und die Web-UI exponieren zusätzlich einen In-App-Pfad: Settings, Model Provider, OpenAI wählen, dann Endpoint- und Key-Felder füllen und zusätzliche IDs im Feld Custom Model Names auflisten. Der In-App-Pfad speichert Werte lokal pro Gerät, was ihn zur richtigen Fläche für einen persönlichen Client macht, während Env-Vars die richtige Fläche für ein Deployment sind, das andere Leute nutzen. So oder so ist der Request, der NextChat verlässt, eine Standard-Chat-Completion gegen deinen Endpoint mit der Model-ID als reinem String. Mit einem Multi-Vendor-Gateway hinter BASE_URL bedient dasselbe Deployment Claude für lange Antworten, eine schnelle Gemini-ID für kurze Fragen und DeepSeek oder GLM für zweisprachigen Traffic, alles über einen Key.
Vollständiges Setup: Server-Deploy oder In-App-Settings.
Für ein Vercel-Deploy setze die Variablen in den Umgebungseinstellungen des Projekts und redeploye; Vercel bäckt Env-Werte beim Build ein, also ändert das Bearbeiten einer Variable ohne Redeploy nichts. Für Docker übergib dieselben Variablen mit -e-Flags oder einer Env-Datei. Die Variable CODE lohnt sich bei jedem öffentlichen Deployment, sie schützt den Zugang mit einem Passwort, sodass Fremde nicht deinen Key ausgeben. Der In-App-Pfad braucht überhaupt kein Deployment. Wähle in Settings den Provider OpenAI, ersetze den Endpoint durch https://api.apisrouter.com, füge den Key ein, und trag IDs im Feld Custom Model Names mit derselben Syntax wie die Env-Variable ein. So funktionieren die Desktop- und Mobile-Clients mit einem Gateway, und es ist auch der schnellste Weg, Werte zu testen, bevor du sie in ein Server-Deploy übernimmst. DEFAULT_MODEL wählt, womit neue Chats starten, was auf einem geteilten Deployment mehr zählt, als es klingt: die meisten Nutzer wechseln nie das Modell, also landet dort der Großteil der Ausgaben. Setze es bewusst auf das Modell, das du den beiläufigen Traffic tragen lassen willst.
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-webModelle für den Picker wählen.
Weil der ganze Picker über einen Key abrechnet, ist die Tuning-Schleife beobachtend: lass eine Woche laufen, lies die Per-Modell-Nutzung in der Konsole, und forme CUSTOM_MODELS danach um, was Leute tatsächlich geklickt haben, statt danach, was du vorhergesagt hast.
- Starte die Liste mit -all. Der Standard-Picker ist ein langes, reines OpenAI-Menü; ihn zu leeren und vier oder fünf bewusste IDs hinzuzufügen, gibt Nutzern einen Picker, in dem jede Wahl eine ist, die du bepreist hast.
- Das Default-Modell trägt das Deployment. claude-haiku-4-5-20251001 oder gemini-3.5-flash als DEFAULT_MODEL hält die beiläufige Mehrheit der Turns schnell und günstig, mit stärkeren IDs einen Klick entfernt.
- Long-Form-Arbeit verdient sich einen Frontier-Slot. claude-sonnet-4-6 und gpt-5.5 sind die Wahl, wenn ein Entwurf oder eine Analyse zählt.
- Zweisprachige Deployments sollten deepseek-v4-pro oder glm-5.2 einschließen; NextChat hat eine enorme chinesischsprachige Nutzerbasis, und diese IDs passen nativ zu diesem Traffic.
- Umbenennungen sind kostenlose Dokumentation: Einträge wie claude-sonnet-4-6=Sonnet (writing) machen den Picker für nicht-technische Nutzer selbsterklärend.
Nutzungsbasiert · unter offiziellem Preis
Selected models are priced below official list prices. Exact input, output, cache, and per-request prices are shown for each model.
| Modell | Offizieller Preis | Unser Preis |
|---|---|---|
| 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 |
Fehlerbilder speziell für NextChat.
Der /v1-Fehler läuft in die entgegengesetzte Richtung der meisten Tools. NextChat hängt den Request-Pfad selbst an BASE_URL an, also gehört der Wert ohne /v1; https://api.apisrouter.com/v1 einzufügen erzeugt verdoppelte Pfade, die 404en. Tools wie LibreChat erwarten das /v1 eingeschlossen, genau weshalb Leute die falsche Gewohnheit in beide Richtungen mitschleppen. Eine Claude-ID, die Fehler zu Keys oder Headern wirft, ist das fehlende @OpenAI-Suffix. Ohne es kann NextChat die ID über seinen nativen Anthropic-Pfad routen, der nie BASE_URL für dein Gateway konsultiert und Vendor-Format-Authentifizierung erwartet. Pinne jede Gateway-ID mit @OpenAI, und die Requests nehmen alle den kompatiblen Pfad. Env-Änderungen, die nichts bewirken, sind ein Redeploy-Problem. Auf Vercel werden die Variablen beim Build gelesen; bei Docker muss der Container neu erstellt werden. Die In-App-Settings greifen dagegen sofort, aber nur auf diesem Gerät, die andere Hälfte derselben Verwechslung. CODE und OPENAI_API_KEY werden überraschend oft vertauscht. CODE ist das Zugangspasswort, das Nutzer in die UI tippen; der Key ist das, was der Server ausgibt. Melden Nutzer eine Unauthorized-Seite vor jedem Chat, ist das CODE; scheitern Chats gegen den Endpoint, ist das der Key.
Wer NextChat über ein Gateway routet.
- Leute, die ein persönliches Deployment auf Vercel betreiben und einen gemessenen Key dahinter statt eines Abos pro Vendor wollen.
- Kleine Teams, die eine NextChat-Instanz teilen, mit CODE für Zugangskontrolle und einem Gateway-Key, sodass das Nutzungslog gleichzeitig der Kostenreport ist.
- Desktop- und Mobile-Client-Nutzer, die den In-App-Endpoint auf ein Gateway zeigen, um Claude, Gemini und DeepSeek von einem Picker auf jedem Gerät zu erreichen.
- Zweisprachige Nutzer, die GLM- und DeepSeek-IDs mit Claude und GPT in einem Deployment mischen, was native Provider-Silos umständlich machen.
- Entwickler ohne Zugang zum Billing eines bestimmten Vendors. Guthabenbasierter Zugang ohne Kartenpflicht entfernt die Sign-up-Abhängigkeit pro Provider.
Endpoint verifizieren und den ersten Chat debuggen.
Beweise den Endpoint vor dem Deploy: liste Modelle mit dem Key, und bestätige, dass jede ID, die du in CUSTOM_MODELS eintragen willst, erscheint, exakt so geschrieben. Die IDs werden als Strings weitergereicht, also ist die /v1/models-Ausgabe die maßgebliche Schreibweise. Deploye dann und schick eine Nachricht pro Modell im Picker. Ein 404 bei allem ist der /v1-in-BASE_URL-Fehler. Ein 401 ist der Key, entweder falsch oder nicht in der Umgebung präsent, die der Build tatsächlich nutzte. Ein Fehler nur bei Claude-IDs ist das fehlende @OpenAI-Suffix. Zeigt der Picker Modelle, die du nie hinzugefügt hast, hat CUSTOM_MODELS sein -all-Präfix verloren, oder die Variable hat den Build nicht erreicht. Sobald Chats laufen, zeigt die APIsRouter-Konsole Modell, Token-Zahlen und Ausgaben pro Anfrage. Für ein Deployment mit mehr als einem Nutzer beantwortet diese Ansicht die Frage, die sich jeder NextChat-Admin irgendwann stellt, welches Modell heimlich das Guthaben auffrisst, mit Daten statt Vermutungen.
curl -s https://api.apisrouter.com/v1/models \
-H "Authorization: Bearer $APISROUTER_API_KEY" | head -50Häufige Fragen
Sollte NextChats BASE_URL /v1 enthalten?
Nein. NextChat hängt den Request-Pfad selbst an, also setze BASE_URL=https://api.apisrouter.com ohne /v1. Es einzuschließen erzeugt verdoppelte Pfade, die 404en. Das ist die entgegengesetzte Konvention zu Tools wie LibreChat, die das /v1 in der Base URL erwarten.
Wie füge ich NextChat Claude- oder Gemini-Modelle über einen Endpoint hinzu?
Füge sie in CUSTOM_MODELS mit dem @OpenAI-Suffix hinzu, zum Beispiel +claude-sonnet-4-6@OpenAI. Das Suffix pinnt die ID auf den OpenAI-kompatiblen Request-Pfad, sodass sie an deine BASE_URL geht, statt an NextChats native Anthropic- oder Google-Client-Pfade.
Was ist der Unterschied zwischen den Env-Variablen und den In-App-Settings?
Umgebungsvariablen konfigurieren ein Server-Deployment für jeden Nutzer und brauchen zum Ändern einen Redeploy. Der In-App-Custom-Endpoint in Settings speichert Werte lokal pro Gerät und greift sofort, was für persönliche Desktop- und Mobile-Clients passt.
Wie entferne ich die Default-OpenAI-Modell-Liste aus dem Picker?
Starte CUSTOM_MODELS mit -all, füge dann IDs explizit hinzu: CUSTOM_MODELS=-all,+claude-sonnet-4-6@OpenAI,+gpt-5.5@OpenAI. Nutzer sehen dann nur Modelle, die du bewusst gelistet und bepreist hast.
Was macht die Variable CODE?
Sie setzt ein oder mehrere Zugangspasswörter für das Deployment. Besucher müssen einen Code eingeben, bevor sie chatten, was eine öffentliche Vercel-URL davon abhält, deinen Key auszugeben. Sie hat mit dem API-Key selbst nichts zu tun.
Warum hatte das Ändern einer Umgebungsvariable keine Wirkung?
NextChat liest Env-Werte beim Build oder Container-Start. Bearbeite die Variable auf Vercel und redeploye; bei Docker erstelle den Container neu. Nur die In-App-Settings greifen ohne Neustart, und die leben pro Gerät.