Dokumentation
Nanocoder
Nanocoder behandelt einen Remote-Endpunkt genauso wie Ollama: als einen Eintrag unter nanocoder.providers mit einem Namen, einer Base URL, einem Schlüssel und einer Modellliste. sdkProvider ist standardmäßig auf openai-compatible eingestellt, daher müssen Sie nichts Weiteres deklarieren.
Ein Custom-Provider-Eintrag unter nanocoder.providers in agents.config.json — name, baseUrl, apiKey, models — ohne sdkProvider-Zeile, da standardmäßig openai-compatible verwendet wird.
{
"nanocoder": {
"providers": [
{
"name": "Kunavo",
"baseUrl": "https://api.kunavo.com/v1",
"apiKey": "${KUNAVO_API_KEY}",
"models": ["claude-sonnet-5", "claude-haiku-4-5", "gpt-5-6-sol"]
}
]
}
}/v1 bei. Nanocoders Dokumentation klärt dies anhand eines Beispiels statt einer Regel: In der Feldtabelle wird baseUrl lediglich als „API-Endpunkt-URL“ beschrieben, aber das Beispiel auf der Seite „Custom Provider“ lautet "baseUrl": "https://my-api.example.com/v1". Auch auf allen Seiten zu OpenAI-kompatiblen Providern auf der Website wird das Suffix verwendet — https://openrouter.ai/api/v1, http://localhost:11434/v1. Lassen Sie das Suffix weg, führt dies zu einem 404 für die Route und nicht zu einem 401 für den Schlüssel.sdkProvider fehlt oben absichtlich — laut Feldtabelle ist der Standardwert openai-compatible, das Drahtformat, auf das Kunavo hier antwortet. Die anderen dokumentierten Werte (google, anthropic, github-copilot) wählen ein anderes SDK aus. Keiner davon ist erforderlich, um einen Chat-Completions-Endpunkt zu erreichen.NANOCODER_PROVIDERS (oder NANOCODER_PROVIDERS_FILE), dann agents.config.json im Arbeitsverzeichnis und schließlich die benutzerspezifische Datei — ~/Library/Preferences/nanocoder/ unter macOS, ~/.config/nanocoder/ unter Linux und %APPDATA%\nanocoder\ unter Windows. Der erste gefundene Eintrag hat Vorrang. Wenn Sie NANOCODER_CONFIG_DIR festlegen, werden die Suche im Projekt und im Benutzerverzeichnis vollständig übersprungen. Wenn ein geänderter Schlüssel nicht gesendet wird, sollten Sie diese Prioritätsreihenfolge prüfen.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 Nanocoder-Einrichtung.Schritt für Schritt
- Erstellen Sie unter
/app/keyseinen Schlüssel und kopieren Sie ihn — er wird nur einmal angezeigt. Exportieren Sie ihn alsKUNAVO_API_KEY, statt ihn in die Datei einzufügen: Nanocoder ersetzt$VAR,${VAR}und${VAR:-default}rekursiv in jeder Zeichenfolge eines Provider-Eintrags und liest.envaus dem Arbeitsverzeichnis. - Führen Sie
/settings providersin Nanocoder aus und wählen Sie Custom Provider. Der Assistent fragt in dieser Reihenfolge nach Provider name, Base URL, API key (optional), Model names und Request timeout. Er bietet außerdem an, die Modellliste vom Endpunkt abzurufen — Kunavo antwortet mitGET /v1/models, sodass die Liste automatisch ausgefüllt wird. - Alternativ können Sie den Assistenten überspringen und
agents.config.jsonmit dem obigen Block selbst schreiben. Beachten Sie, dass Einstellungen dateiweise aufgelöst werden: Definiert eine Datei auf Projektebenenanocoder.providers, liefert sie den gesamten Block. Einträge in Ihrer globalen Konfiguration werden also nicht damit zusammengeführt. - Legen Sie ein Kontextfenster fest. Nanocoder ermittelt den Grenzwert zuerst aus
/context-max, dann auscontextWindows[model],contextWindow,NANOCODER_CONTEXT_LIMITund schließlich aus models.dev. Kunavo ist kein models.dev-Provider. Wenn Sie also keinen der ersten vier Werte angeben, kalkuliert Nanocoder anhand eines Ersatzwerts, der nicht dem Kontextfenster Ihres Modells entspricht. Die Zahlen finden Sie unter/models. - Öffnen Sie
/model, wählen Sie eine der aufgeführten IDs aus — die Auswahl zeigt sie unter dem von Ihnen angegebenenname— und führen Sie eine kleine Aufgabe aus, für die ein Tool aufgerufen werden muss. Wenn Tool-Aufrufe bei einem bestimmten Modell fehlerhaft zurückkommen, grenztdisableToolModelsdas Problem für dieses Modell ein, nicht für den gesamten Provider.
Abgeglichen mit Die Seite „Custom Provider“ von Nanocoder 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 Nanocoder.
# 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 Nanocoder hineinpasst |
|---|---|---|
claude-sonnet-5 | $1.40 / $7.00 | das Standardarbeitsmodell für den Bearbeitungs- und Ausführungszyklus eines Terminal-Agenten |
claude-haiku-4-5 | $0.70 / $3.50 | lange, toolintensive Sitzungen und schnelle Dateiprüfungen, bei denen die Anzahl der Gesprächsrunden die Kosten bestimmt |
gpt-5-6-sol | $2.00 / $12.00 | eine Zweitmeinung aus einer anderen Modellfamilie mit demselben Schlüssel |
claude-opus-5 | $3.50 / $17.50 | der eine aufwendige Refactor in einer Sitzung, bei dem ein falscher Plan teuer ist |
Häufig gestellte Fragen
Unterstützt Nanocoder einen benutzerdefinierten API-Endpunkt?
Ja, und es handelt sich um eine dokumentierte Funktion aus erster Hand, nicht um ein undokumentiertes Feld. Auf der eigenen Seite „Custom Provider“ erklärt Nanocoder, dass jeder Dienst mit einer OpenAI-kompatiblen API als benutzerdefinierter Provider hinzugefügt werden kann, und zeigt das einzutragende Objekt: name, baseUrl, apiKey und models. Sie können ihn interaktiv über den Assistenten /settings providers oder manuell in agents.config.json hinzufügen. So sah die Dokumentation am 21. September 2026 aus.
Wo trage ich den Nanocoder-API-Schlüssel ein?
Im Feld apiKey des Provider-Eintrags in agents.config.json. Nanocoder wendet die Ersetzung von Umgebungsvariablen rekursiv auf Zeichenfolgenfelder in Provider-Konfigurationen an. Sicherer ist daher die Form "apiKey": "${KUNAVO_API_KEY}", wobei der Wert in Ihrer Shell oder in einer .env-Datei im Arbeitsverzeichnis exportiert wird. Überschreibungen über NANOCODER_PROVIDERS haben Vorrang, danach folgt agents.config.json auf Projektebene und zuletzt die benutzerspezifische Datei. Wenn eine Änderung scheinbar keine Wirkung hat, wird sie meist an einer früheren Stelle in dieser Reihenfolge überschrieben.
Muss Nanocoders baseUrl mit /v1 enden?
Bei einem OpenAI-kompatiblen Endpunkt ja — zum Beispiel https://api.kunavo.com/v1. Nanocoders Dokumentation formuliert keine Regel zum Suffix; in der Feldtabelle wird baseUrl lediglich als API-Endpunkt-URL beschrieben. Das Beispiel klärt die Frage: Das eigene Beispiel auf der Seite „Custom Provider“ verwendet https://my-api.example.com/v1, und auf allen Seiten zu OpenAI-kompatiblen Providern auf der Website wird dasselbe Suffix verwendet. Fehlt /v1, schlägt die Route mit einem 404 statt mit einem Authentifizierungsfehler fehl.
Warum zeigt Nanocoder für diese Modelle keine Kosten oder eine falsche Kontextgröße an?
Weil Nanocoder Modellmetadaten aus models.dev bezieht und ein dort nicht aufgeführter Drittanbieter-Gateway keinen Eintrag hat. Die dokumentierte Reihenfolge zur Ermittlung des Kontextlimits lautet: /context-max oder --context-max, dann contextWindows[model], danach contextWindow, anschließend NANOCODER_CONTEXT_LIMIT und zuletzt models.dev. Legen Sie daher einen der ersten vier Werte im Provider-Eintrag fest, damit die Anzeige wieder stimmt. Die Kosten pro Antwort berechnet der Client in jedem Fall selbst anhand der gemeldeten Tokenzahlen. Gleichen Sie sie mit dem eigenen Abrechnungsprotokoll Ihres Providers ab, nicht mit der Fußzeile.