Dokumentation

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.

agents.config.json
{
  "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"]
      }
    ]
  }
}
Kunavo hat Nanocoder nicht mit diesem Endpunkt ausgeführt. Alle obigen Felder wurden von der Seite „Custom Provider“ in Nanocoders eigener Dokumentation übernommen und stammen nicht aus einer Sitzung, die jemand hier abgeschlossen hat. Dies ist eine Konfigurationsreferenz, kein Kompatibilitätstest. Führen Sie zunächst eine kleine, klar begrenzte Aufgabe aus und halten Sie währenddessen eine andere Verbindungsoption bereit.
Die Base URL behält das Suffix /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.
Drei Speicherorte bestimmen in dieser Reihenfolge, welche Konfiguration maßgeblich ist: zuerst 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.
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 Nanocoder-Einrichtung.

Schritt für Schritt

  1. Erstellen Sie unter /app/keys einen Schlüssel und kopieren Sie ihn — er wird nur einmal angezeigt. Exportieren Sie ihn als KUNAVO_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 .env aus dem Arbeitsverzeichnis.
  2. Führen Sie /settings providers in 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 mit GET /v1/models, sodass die Liste automatisch ausgefüllt wird.
  3. Alternativ können Sie den Assistenten überspringen und agents.config.json mit dem obigen Block selbst schreiben. Beachten Sie, dass Einstellungen dateiweise aufgelöst werden: Definiert eine Datei auf Projektebene nanocoder.providers, liefert sie den gesamten Block. Einträge in Ihrer globalen Konfiguration werden also nicht damit zusammengeführt.
  4. Legen Sie ein Kontextfenster fest. Nanocoder ermittelt den Grenzwert zuerst aus /context-max, dann aus contextWindows[model], contextWindow, NANOCODER_CONTEXT_LIMIT und 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.
  5. Öffnen Sie /model, wählen Sie eine der aufgeführten IDs aus — die Auswahl zeigt sie unter dem von Ihnen angegebenen name — 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, grenzt disableToolModels das 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.

Dies ist die Kurzfassung. Die vollständige Anleitung – Modellauswahl, Kosten einer tatsächlichen Sitzung und Fehlerszenarien – findest du in Nanocoder im Vergleich zu OpenCode — was jedes davon zusätzlich zum Provider-Block kostet.

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-IDKunavo: Ein- und AusgabeWo es in Nanocoder hineinpasst
claude-sonnet-5$1.40 / $7.00das Standardarbeitsmodell für den Bearbeitungs- und Ausführungszyklus eines Terminal-Agenten
claude-haiku-4-5$0.70 / $3.50lange, toolintensive Sitzungen und schnelle Dateiprüfungen, bei denen die Anzahl der Gesprächsrunden die Kosten bestimmt
gpt-5-6-sol$2.00 / $12.00eine Zweitmeinung aus einer anderen Modellfamilie mit demselben Schlüssel
claude-opus-5$3.50 / $17.50der eine aufwendige Refactor in einer Sitzung, bei dem ein falscher Plan teuer 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

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.