Dokumentation

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.

Umgebungsvariablen — Vercel project settings, docker -e oder .env.local
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@OpenAI
BASE_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.
Wer den Schlüssel verwaltet, ist eine Entscheidung für die Bereitstellung und kein Standard. Wenn 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.
Das Präfix -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.
Kunavo bietet keine Text-to-Speech- oder Speech-to-Text-Modelle an. Daher können NextChats Sprachfunktionen hier nicht verwendet werden. Lassen Sie auch 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.
Diese Seite wurde aus der Dokumentation von NextChat übernommen, nicht anhand eines Testlaufs erstellt – Kunavo hat NextChat nicht mit diesem Endpunkt ausgeführt, und eine veröffentlichte Einrichtungsseite ist kein Kompatibilitätstest. Chat Completions sind auf beiden Seiten die dokumentierte Schnittstelle; alles darüber hinaus wurde hier nicht getestet.
Noch kein Schlüssel? Erstelle ein Kunavo-Konto, erstelle einen Schlüssel (er beginnt mit 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

  1. Erstellen Sie unter /app/keys einen Schlüssel und kopieren Sie ihn — er wird nur einmal angezeigt.
  2. Setze OPENAI_API_KEY auf diesen Schlüssel und BASE_URL auf https://api.kunavo.com. In Vercel sind dies Projektumgebungsvariablen, in Docker -e-Flags und lokal werden sie in .env.local eingetragen.
  3. Setze CODE auf ein Zugangspasswort. Andernfalls steht die Bereitstellung allen offen, die die URL finden, während dein Schlüssel die Kosten trägt.
  4. Führe die gewünschten IDs in CUSTOM_MODELS auf, jeweils mit dem Suffix @OpenAI. Beginne mit -all, damit die integrierten Modelle entfernt werden.
  5. 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.
  6. Ö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-IDKunavo: Ein- und AusgabeWo es in NextChat hineinpasst
claude-sonnet-5$1.40 / $7.00der alltägliche Chat – lange Unterhaltungen, ohne ständig den Kontostand im Blick zu behalten
claude-opus-5$3.50 / $17.50die eine Frage pro Woche, die das teure Modell verdient
claude-haiku-4-5$0.70 / $3.50Zusammenfassungen, das Umbenennen von Chats und der kurze Austausch, der eine gemeinsam genutzte Instanz prägt
gpt-5-6-sol$2.00 / $12.00eine zweite Modellfamilie im selben Auswahlmenü mit demselben Schlüssel
gpt-5-6-terra$0.70 / $4.20lange eingefügte Dokumente, bei denen das Kontextfenster entscheidend ist
Die Abrechnung erfolgt pro Token aus einem vorausbezahlten Guthaben ohne Monatsgebühr – siehe Abrechnung. Bei wiederholtem Kontext – dem Großteil dessen, was ein Editor oder Chat-Client sendet – verändert Prompt-Caching die Rechnung stärker als die Modellwahl.

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.