Dokumentation
NextChat
Ein selbst gehostetes NextChat greift über die bereits vorhandenen OpenAI-Variablen auf Kunavo zu: OPENAI_API_KEY enthält den Schlüssel, BASE_URL den Ursprung und CUSTOM_MODELS die IDs. Kein Fork, kein Patch.
Drei Umgebungsvariablen — OPENAI_API_KEY, BASE_URL (unveränderter Ursprung) und CUSTOM_MODELS — bringen ein selbst gehostetes NextChat mit einem Schlüssel zu Claude und GPT.
CODE=your-access-password
OPENAI_API_KEY=sk-kn-...
BASE_URL=https://api.kunavo.com
HIDE_USER_API_KEY=1
CUSTOM_MODELS=-all,+claude-sonnet-5@OpenAI,+claude-opus-5@OpenAI,+claude-haiku-4-5@OpenAI,+gpt-5-6-sol@OpenAI,+gpt-5-6-terra@OpenAIBASE_URL enthält den nackten Ursprung ohne /v1. Die Dokumentationsseite enthält keinen Satz zum Suffix, aber ihre eigene Tabellenzeile klärt die Frage: Als Standard ist https://api.openai.com dokumentiert, nicht https://api.openai.com/v1 — NextChat fügt den restlichen Pfad an. Ein manuell angefügtes /v1 wird zu /v1/v1/chat/completions, was mit einem 404 beantwortet wird und wie ein defekter Endpunkt statt wie ein Tippfehler aussieht.OPENAI_API_KEY gesetzt ist, ruft der Server Kunavo mit Ihrem Schlüssel auf, und alle, die CODE passieren, belasten Ihr Guthaben. HIDE_USER_API_KEY=1 ist dokumentiert mit „Wenn Nutzer ihren eigenen API-Schlüssel nicht eingeben sollen, setzen Sie diesen Wert auf 1“. Lassen Sie den Wert stattdessen ungesetzt, damit jeder Besucher unter Settings seinen eigenen Schlüssel eingeben kann. Das ist die passende Konfiguration für eine gemeinsam genutzte Instanz.-all und das Suffix @OpenAI stehen nicht in der dokumentierten Tabelle. Diese umfasst nur +, - und name=displayName. Sie stammen aus dem Modell-Sammlungs-Code von NextChat, der am selben Tag eingesehen wurde: -all leert die integrierte Liste, damit die Auswahl keine IDs anbietet, die Kunavo zurückweisen würde, und @OpenAI bindet jede neue ID an den OpenAI-Provider, damit sie an BASE_URL gesendet wird. Bei einer ID ohne dieses Suffix wird ein Provider mit dem Namen der ID verwendet, und die ID durchläuft nicht den konfigurierten Pfad. Die Groß- und Kleinschreibung ist wörtlich zu übernehmen.ENABLE_BALANCE_QUERY ungesetzt: Die Guthabenprüfung ruft OpenAIs eigene Abrechnungsrouten im Dashboard auf, die nicht zur OpenAI-kompatiblen Oberfläche gehören. Ihr Guthaben wird unter /app/billing angezeigt.sk-kn-) und füge ab $10 Guthaben hinzu – Aufrufe werden aus diesem Guthaben bezahlt, fehlgeschlagene Aufrufe werden nicht berechnet. Das Dashboard öffnet anschließend die NextChat-Einrichtung.Schritt für Schritt
- Erstellen Sie unter
/app/keyseinen Schlüssel und kopieren Sie ihn — er wird nur einmal angezeigt. - Setze
OPENAI_API_KEYauf diesen Schlüssel undBASE_URLaufhttps://api.kunavo.com. In Vercel sind dies Projektumgebungsvariablen, in Docker-e-Flags und lokal werden sie in.env.localeingetragen. - Setze
CODEauf ein Zugangspasswort. Andernfalls steht die Bereitstellung allen offen, die die URL finden, während dein Schlüssel die Kosten trägt. - Führe die gewünschten IDs in
CUSTOM_MODELSauf, jeweils mit dem Suffix@OpenAI. Beginne mit-all, damit die integrierten Modelle entfernt werden. - Stelle die Anwendung erneut bereit – Umgebungsvariablen werden vom Server ausgelesen, daher benötigt ein Vercel-Projekt eine neue Bereitstellung und ein Container einen Neustart. Das bloße Bearbeiten der Variable ändert in einer laufenden Instanz nichts.
- Öffne die App, wähle im Modellauswahlmenü eine deiner IDs aus und sende eine Nachricht. Wenn eine Antwort eintrifft, stimmen die drei Variablen überein.
Abgeglichen mit Die Seite „Umgebungsvariablen“ von NextChat am 21. September 2026. Einstellungen von Drittanbietern können sich ändern; wenn ein Feldname hier nicht mehr mit deiner Ansicht übereinstimmt, ist diese Seite maßgeblich, nicht diese hier.
Vor dem Debugging des Clients prüfen
Eine Anfrage klärt, ob der Fehler am Endpunkt, am Schlüssel oder an der Konfigurationsdatei liegt. Wenn diese Anfrage JSON zurückgibt, funktionieren dieselbe Basis-URL und derselbe Schlüssel in NextChat.
# Settles whether a failure is the endpoint, the key, or the client.
curl -sS https://api.kunavo.com/v1/models \
-H "Authorization: Bearer sk-kn-..."Welche Modell-ID in das Feld gehört
Jedes Textmodell ist über eine Modell-ID erreichbar – die aktuelle Liste findest du unter GET /v1/models, den Katalog mit Preisen auf der Modellseite. Die Tarife sind USD pro 1 Mio. Token, Eingabe / Ausgabe.
| Modell-ID | Kunavo: Ein- und Ausgabe | Wo es in NextChat hineinpasst |
|---|---|---|
claude-sonnet-5 | $1.40 / $7.00 | der alltägliche Chat – lange Unterhaltungen, ohne ständig den Kontostand im Blick zu behalten |
claude-opus-5 | $3.50 / $17.50 | die eine Frage pro Woche, die das teure Modell verdient |
claude-haiku-4-5 | $0.70 / $3.50 | Zusammenfassungen, das Umbenennen von Chats und der kurze Austausch, der eine gemeinsam genutzte Instanz prägt |
gpt-5-6-sol | $2.00 / $12.00 | eine zweite Modellfamilie im selben Auswahlmenü mit demselben Schlüssel |
gpt-5-6-terra | $0.70 / $4.20 | lange eingefügte Dokumente, bei denen das Kontextfenster entscheidend ist |
Häufig gestellte Fragen
Wie richte ich NextChat auf einen benutzerdefinierten API-Endpunkt aus?
Setze BASE_URL auf den Ursprung des Endpunkts und OPENAI_API_KEY auf den dafür ausgestellten Schlüssel. Trage beide als Umgebungsvariablen in der selbst gehosteten Bereitstellung ein. Auf der Seite „Umgebungsvariablen“ von NextChat wird BASE_URL als „OpenAI-API-Anforderungsbasis-URL überschreiben“ dokumentiert. Es ist also kein Patch erforderlich: Die App verwendet weiterhin das OpenAI-Drahtformat und sendet Anfragen an eine andere Adresse. Stelle die Anwendung anschließend erneut bereit – die Werte werden auf dem Server ausgelesen und von einer laufenden Instanz nicht übernommen.
Muss NextChats BASE_URL am Ende /v1 enthalten?
Nein. NextChat hängt das Versionssegment und die Route selbst an. Deshalb lautet der dokumentierte Standardwert für BASE_URL der reine Ursprung https://api.openai.com und nicht https://api.openai.com/v1. Trage https://api.kunavo.com ein und sonst nichts. Wenn du das Suffix selbst hinzufügst, entsteht ein doppelter Pfad mit einem 404-Fehler, den man leicht für einen nicht erreichbaren Endpunkt hält.
Wie füge ich der Modellliste von NextChat ein benutzerdefiniertes Modell hinzu?
CUSTOM_MODELS nimmt eine durch Kommas getrennte Liste entgegen: + fügt ein Modell hinzu, - blendet eines aus und name=displayName ändert dessen Namen. Eine NextChat unbekannte ID wird sofort angelegt. Mit +claude-sonnet-5@OpenAI erscheint diese ID also im Auswahlmenü. Zwei Details solltest du genau übernehmen: Beginne die Liste mit -all, damit die integrierten OpenAI-IDs verschwinden, statt einen Fehler auszulösen, wenn jemand eine davon auswählt. Behalte außerdem das Suffix @OpenAI bei, damit die ID über BASE_URL und nicht an einen nach dem Modell benannten Anbieter weitergeleitet wird.
Sollte NextChat einen serverseitigen API-Schlüssel verwenden oder jedem Nutzer erlauben, einen eigenen einzutragen?
Beides wird unterstützt; entscheidend ist, wer zahlt. Ein Schlüssel in OPENAI_API_KEY gehört dem Server. Daher werden bei jedem Besucher, der das CODE-Passwort überwunden hat, die Kosten von demselben Guthaben abgezogen – sinnvoll für eine private Instanz, teuer bei einem geteilten Link. Wenn HIDE_USER_API_KEY nicht gesetzt ist, kann ein Besucher in den Einstellungen den eigenen Schlüssel eingeben und selbst bezahlen. Wird der Wert auf 1 gesetzt, wird dieses Feld entfernt. In beiden Fällen gelangt der Schlüssel nur dann in den Browser, wenn der Nutzer ihn dort selbst eingibt.