Abschnitte der Wissensbasis ▾

Navigation

▸ Hier starten Nach Rollen

Kategorien

Werkzeuge 52
Glossar 12

Tools

Kimi Code CLI: Moonshot AI Agent mit eigenem Schlüssel über Gonka

Kimi Code CLI (der Befehl kimi) ist ein Terminal-Agent für die Entwicklung von Moonshot AI: Er liest und korrigiert Code, führt Befehle aus, durchsucht Dateien und verteilt Teilaufgaben an Unteragenten. Die aktuelle Version hat den Python-Client kimi-cli abgelöst: Sie ist in TypeScript geschrieben, wird als ein einzelnes Binary installiert und ist unter der MIT-Lizenz quelloffen. Alles Folgende bezieht sich auf die Version 2.0.2 vom 19. September 2026 – mit ihr haben wir den Weg von der Installation bis zur Antwort des Agenten am 23. September erfolgreich gemeistert.

Standardmäßig arbeitet Kimi Code mit Kimi-Modellen durch Anmeldung am Konto (/login), kann aber eine beliebige Anzahl von Providern nutzen: Jeder OpenAI-kompatible Endpoint lässt sich mit wenigen Zeilen in ~/.kimi-code/config.toml beschreiben, und dafür ist kein Moonshot-Konto erforderlich. JoinGonka Gateway ist ein solcher Endpoint für das dezentrale Gonka-Netzwerk.

Das Wichtigste vorab: Kimi-Modelle gibt es derzeit nicht im Gonka-Netzwerk – Kimi K2.6 wurde vom Netzwerk von Mai bis September 2026 unterstützt. Heute laufen dort DeepSeek V4 Flash, GLM-5.3 Flash und MiniMax M2.7, und dieser Leitfaden erklärt, wie man Kimi Code mit ihnen startet. Der Agent bleibt derselbe, Modell und Preis ändern sich: $0.0069 pro Million Eingabe-Token, einheitlich für alle Netzwerkmodelle. Nach der Adressverifizierung erhalten Sie 3M kostenlose Token – genug, um dies alles selbst auszuprobieren.

Schnellstart: Installation und ein Befehl

Schritt 1: Kimi Code installieren. Die offiziellen Wege aus der Dokumentation:

# macOS and Linux: prebuilt binary, no Node.js needed
curl -fsSL https://code.kimi.com/kimi-code/install.sh | bash

# Windows (PowerShell); Git for Windows is required before the first run
irm https://code.kimi.com/kimi-code/install.ps1 | iex

# npm (Node.js 22.19 or newer)
npm install -g @moonshot-ai/kimi-code

Das Skript legt die Binärdatei in ~/.kimi-code/bin/kimi ab und hängt dieses Verzeichnis über die Shell-Konfigurationsdatei an PATH an. Die Builds gibt es nur für glibc: Unter Alpine und anderen Systemen mit musl bricht es ab und verweist auf npm. Öffnen Sie das Terminal neu und prüfen Sie: kimi --version.

Schritt 2: Schlüssel erhalten. Registrieren Sie sich unter gate.joingonka.ai/register, bestätigen Sie die Adresse und erstellen Sie im Abschnitt «API-Schlüssel» einen Schlüssel mit dem Präfix jg-.

Schritt 3: Installer ausführen.

npx @joingonka/setup --tool kimi-code

Der Installer fragt nach dem Schlüssel (über Kommandozeilenargumente wird er nicht übergeben) und schreibt nur seine eigenen Tabellen in ~/.kimi-code/config.toml:

  • den Anbieter [providers.joingonka] mit Typ openai — das ist das Chat-Completions-Protokoll — Gateway-Adresse und Schlüssel im Feld api_key; die Datei erhält die Rechte 600;
  • je eine Tabelle [models."joingonka/…"] für jedes Modell des Netzwerks — mit dem tatsächlichen Kontextfenster und Antwortlimit sowie expliziten Fähigkeiten: Tool-Aufrufe für alle, Reasoning für DeepSeek V4 Flash und GLM-5.3 Flash, bei MiniMax M2.7 nur Tools;
  • default_model — DeepSeek V4 Flash, falls das Standardmodell noch nicht gewählt ist oder auf ein aus dem Netzwerk entferntes Gateway-Modell zeigt; die Wahl eines anderen Anbieters ohne das Flag --model wird nicht angetastet, sondern es wird der Befehl für einen einmaligen Lauf empfohlen;
  • eine Kopie der bisherigen Datei wird gespeichert, fremde Anbieter und Ihre Felder in den Gateway-Tabellen bleiben unangetastet, und am Ende wird eine echte Anfrage an das Gateway gesendet und mitgeteilt, ob Schlüssel, Adresse und Modell akzeptiert wurden.

So sah die Ausgabe in unserem Durchlauf aus (gekürzt):

Configured provider "joingonka" in ~/.kimi-code/config.toml
Base URL: https://gate.joingonka.ai/v1 (provider type "openai" — Chat Completions)
Models: joingonka/MiniMaxAI/MiniMax-M2.7, joingonka/deepseek-ai/DeepSeek-V4-Flash-0731, joingonka/zai-org/GLM-5.3-Flash
Default model: joingonka/deepseek-ai/DeepSeek-V4-Flash-0731
…
✓ Verified: the gateway accepted the key, base URL and model.

Ein anderes Standardmodell legt das Flag --model fest (glm, minimax oder die vollständige Kennung); der Modus ohne Rückfragen nimmt den Schlüssel aus der Umgebungsvariable:

JOINGONKA_API_KEY=jg-your-key npx @joingonka/setup --tool kimi-code --model glm --non-interactive

Ein über die Variable KIMI_CODE_HOME verschobenes Datenverzeichnis berücksichtigt der Installer von selbst. ~/.kimi hingegen ist das Verzeichnis des früheren Python-Clients kimi-cli: Kimi Code 2.x liest es nicht und bietet beim ersten Start an, die Einstellungen von dort zu übernehmen (dasselbe macht kimi migrate).

Manuelle Konfiguration: config.toml

Alles, was der Installer macht, lässt sich auch von Hand schreiben. Kimi Code speichert seine Einstellungen in TOML; Tabellenschlüssel mit Punkt oder Schrägstrich werden in Anführungszeichen gesetzt. Der vollständige Ausschnitt für das Gonka-Netzwerk:

default_model = "joingonka/deepseek-ai/DeepSeek-V4-Flash-0731"

[providers.joingonka]
type = "openai"
base_url = "https://gate.joingonka.ai/v1"
api_key = "jg-your-key"

[models."joingonka/deepseek-ai/DeepSeek-V4-Flash-0731"]
provider = "joingonka"
model = "deepseek-ai/DeepSeek-V4-Flash-0731"
max_context_size = 380000
max_output_size = 32768
capabilities = ["thinking", "tool_use"]
display_name = "DeepSeek V4 Flash (Gonka)"

[models."joingonka/zai-org/GLM-5.3-Flash"]
provider = "joingonka"
model = "zai-org/GLM-5.3-Flash"
max_context_size = 390000
max_output_size = 8192
capabilities = ["thinking", "tool_use"]
display_name = "GLM 5.3 Flash (Gonka)"

# MiniMax M2.7, unlike DeepSeek and GLM, is declared without thinking
[models."joingonka/MiniMaxAI/MiniMax-M2.7"]
provider = "joingonka"
model = "MiniMaxAI/MiniMax-M2.7"
max_context_size = 200000
max_output_size = 8192
capabilities = ["tool_use"]
display_name = "MiniMax M2.7 (Gonka)"
FeldWertWorauf es ankommt
default_modelModell-AliasVerweist auf den Tabellennamen [models."…"], nicht auf die Modell-ID
max_context_sizeKontextfenster des ModellsPflichtfeld; daran entscheidet der Agent, wann er den Kontext komprimiert
max_output_sizeObergrenze der AntwortGeht als max_tokens in die Anfrage — wir haben es auf der Leitung geprüft. Ohne dieses Feld würde Kimi Code bis zu 131 072 Antwort-Tokens anfordern, mehr, als die Modelle des Netzwerks liefern
capabilitiesthinking, tool_useDie Fähigkeiten unbekannter Modelle errät Kimi Code nicht am Namen — deklarieren Sie sie explizit

Wo der Schlüssel liegen sollte. Aus der Shell-Umgebung übernimmt Kimi Code keine Schlüssel: export OPENAI_API_KEY=… wirkt hier nicht. Es gibt zwei Wege, und beide gleichzeitig lassen sich nicht verwenden:

WegEintragVerhalten
Schlüssel in der Dateiapi_key = "jg-…"So schreibt es der Installer; funktioniert aus jeder Umgebung, halten Sie die Datei mit Rechten 600
Name der Variableapi_key_env = "JOINGONKA_API_KEY"Der Wert wird bei jeder Anfrage aus der Prozessumgebung gelesen; ohne die Variable bricht der Start mit einem Fehler ab, in dem sie genannt wird

Beide Felder in derselben Tabelle lehnt Kimi Code beim Start ab: has both apiKey and apiKeyEnv set in config.toml - they are mutually exclusive. Beachten Sie, dass kimi doctor einen solchen Konflikt nicht erkennt — es prüft nur die Form der Datei.

Welchen Provider-Typ wählen. Kimi Code beherrscht mehrere Protokolle, das Gateway ebenso:

typebase_urlWann wählen
openaihttps://gate.joingonka.ai/v1Die Hauptvariante: der kanonische Pfad des Gateways, so schreibt ihn der Installer
anthropichttps://gate.joingonka.aiFormat Anthropic Messages, den Pfad /v1/messages ergänzt der Client selbst; der vollständige Zyklus mit Tools lief in unserem Durchlauf durch

Ein Provider in Kimi Code spricht ein einziges Protokoll, deshalb ist das zweite Protokoll ein zweiter Provider unter anderem Namen. Interaktiv lassen sich Provider mit dem Befehl /provider innerhalb des Agenten hinzufügen und entfernen.

Modelle, Thinking und Subagenten

Ein Modell in Kimi Code ist ein Alias, der Name einer Tabelle [models."…"]. Das Installationsprogramm benennt sie nach dem Schema joingonka/<model-id>, so wie Kimi Code seine eigenen benennt (kimi-code/k3), und genau dieser Alias wird überall dort benötigt, wo ein Modell ausgewählt wird. Eine Kennung ohne Präfix, zum Beispiel MiniMaxAI/MiniMax-M2.7, findet Kimi Code nicht.

WoWieWird gespeichert
config.tomldefault_model = "joingonka/deepseek-ai/DeepSeek-V4-Flash-0731"ja, für neue Sitzungen
Startparameterkimi -m "joingonka/zai-org/GLM-5.3-Flash"nein, nur für diesen Start
Oberfläche/model, Auswahl in der ListeEnter überschreibt default_model, Alt+S nur für die aktuelle Sitzung

In unserem Durchlauf sah /model so aus:

Select a model  (type to search)
Tab toggle provider · ↑↓ navigate · Enter select · Alt+S session-only · Esc cancel

 All   joingonka

   MiniMax M2.7 (Gonka)       joingonka
 ❯ DeepSeek V4 Flash (Gonka)  joingonka ← current
   GLM 5.3 Flash (Gonka)      joingonka

 Thinking  (←→ to switch)
  [ On ]    Off

Der Thinking-Schalter. Der Reasoning-Umschalter unter der Liste ändert bei den Modellen des Netzwerks von sich aus nichts: Die Reasoning-Stufe sendet Kimi Code nur an Modelle, für die Stufen deklariert sind. Bei GLM-5.3 Flash lohnt sich das — bei ihr wird das Reasoning über den Wert low abgeschaltet (mehr dazu im Modellüberblick). Ergänzen Sie in der Modelltabelle drei Felder:

[models."joingonka/zai-org/GLM-5.3-Flash"]
# … fields written by the installer …
support_efforts = ["low", "high"]
default_effort = "high"
off_effort = "low"

Wir haben geprüft, was an das Gateway geht: Mit eingeschaltetem Thinking sendet Kimi Code reasoning_effort: "high", und das Modell denkt nach; mit ausgeschaltetem "low", und die Antwort kommt ohne Reasoning-Block. Ein erneuter Lauf des Installationsprogramms rührt diese Felder nicht an: Es bearbeitet nur seine eigenen Schlüssel.

Modell für Subagenten. Die eingebauten Subagenten (coder, explore, plan) arbeiten standardmäßig auf dem Modell des Hauptagenten. Der Abschnitt [secondary_model] gibt ihnen einen Pool, aus dem der Hauptagent selbst anhand der Hinweise auswählt. Für den Pool eignet sich jeder Alias — DeepSeek V4 Flash, GLM-5.3 Flash oder MiniMax M2.7:

[secondary_model]
default_model = "joingonka/deepseek-ai/DeepSeek-V4-Flash-0731"

[secondary_model.models]
"joingonka/deepseek-ai/DeepSeek-V4-Flash-0731" = "Long context and long output: big reads and edits."
"joingonka/zai-org/GLM-5.3-Flash" = "Reasoning model for tricky logic and debugging."

Die Schlüssel des Pools müssen mit den Aliasen aus [models] übereinstimmen: Laut Dokumentation lässt sich mit einem toten Verweis keine Sitzung erstellen. Die Zeile für MiniMax M2.7 wird genauso hinzugefügt; Verweise auf Modelle, die das Netzwerk verlassen haben, räumt das Installationsprogramm beim erneuten Lauf selbst auf.

Welches Modell wählen. Der Preis ist bei allen Modellen des Netzwerks derselbe, die Wahl dreht sich also ums Verhalten. So verhielten sie sich in Kimi Code 2.0.2 bei der Aufgabe „lies die Datei und finde den Fehler“ (abgeglichen am 23. September 2026):

ModellKontext / AntwortVerhalten in Kimi Code
DeepSeek V4 Flash380K / 32768Die Wahl des Installationsprogramms: großes Fenster und die höchste Antwortgrenze im Netzwerk. Löst die Aufgabe korrekt
GLM-5.3 Flash390K / 8192Reasoning-Modell: Das Reasoning läuft in einem separaten Stream (bei kimi -p in stderr), die Antwort in stdout. Das Reasoning zählt zum Antwortlimit
MiniMax M2.7200K / 8192Löst die Aufgabe in zwei Schritten korrekt; das Reasoning läuft in einem separaten Stream (bei kimi -p in stderr), in stdout steht nur die Antwort

Überprüfung: Was passieren sollte

Stellen Sie zuerst sicher, dass Kimi Code den Anbieter erkennt und die Datei fehlerfrei geparst wird:

$ kimi provider list
joingonka  type=openai  models=3  source=inline

Default model: joingonka/deepseek-ai/DeepSeek-V4-Flash-0731

$ kimi doctor
OK config.toml  ~/.kimi-code/config.toml

Veröffentlichen Sie die Ausgabe von kimi provider list --json nirgendwo: Der Schlüssel steht darin im Klartext.

Dann ein einmaliger Durchlauf. Legen Sie im Verzeichnis calc.py mit einer Additionsfunktion ab, die tatsächlich subtrahiert, und bitten Sie darum, den Fehler zu finden:

kimi -p "Read calc.py and tell me in one sentence whether it has a bug."

Im Modus -p geht die Antwort nach stdout, während Überlegung und Tool-Verlauf nach stderr gehen, sodass die Ausgabe bequem per Skript ausgewertet werden kann. So antwortete GLM-5.3 Flash:

• Yes: the `add` function in calc.py:2 returns `a - b` instead of `a + b`, so `add(2, 3)` prints `-1`.

Beachten Sie: Im Modus -p fragt Kimi Code nichts nach und führt Befehle selbst aus — in unserem Durchlauf versuchte das Modell ohne Nachfrage, python3 zu starten, um seine Vermutung zu prüfen. Der erste Start der Oberfläche in einem neuen Verzeichnis beginnt mit der Frage Trust this folder? — sie betrifft die MCP-Server des Projekts —, und auf dem Begrüßungsbildschirm ist das Modell zu sehen: Model: DeepSeek V4 Flash (Gonka). Die zweite Hälfte der Prüfung ist das Gateway-Dashboard: Im Bereich „Nutzung" erscheint die Anfrage aufgeschlüsselt nach Modellen und nach Schlüsseln.

Falls etwas schiefgelaufen ist, lässt sich die Diagnose meist direkt aus der Meldung ablesen:

Was zu sehen istWas das bedeutetWas zu tun ist
No model configured. Run `kimi` and use /login to sign in …Anbieter ist nicht konfiguriert oder default_model ist leerStarten Sie das Installationsprogramm oder tragen Sie default_model ein
Model "deepseek-ai/DeepSeek-V4-Flash-0731" is not configured in config.toml.In -m wurde eine Modell-ID statt eines Alias übergebenFügen Sie das Präfix hinzu: joingonka/deepseek-ai/…
provider.auth_error: 401 Invalid API keyDas Gateway hat den Schlüssel nicht akzeptiertPrüfen Sie api_key in [providers.joingonka]: Shell-Variablen liest Kimi Code nicht
declares api_key_env = "JOINGONKA_API_KEY" … but the environment variable is not set or is emptyEs wurde die Varianten-Methode gewählt, aber die Variable fehlt in der UmgebungExportieren Sie die Variable vor dem Start oder stellen Sie api_key wieder her
429 … currently overloaded in the Gonka network (rate limit)Dem Modell im Netzwerk ist die freie Kapazität ausgegangenSolche Fehler wiederholt Kimi Code selbst; zieht es sich hin — wechseln Sie das Modell über /model. Der Zustand ist auf der Statusseite sichtbar

Was kostet das

Kimi Code fügt jedem Ihrer Sätze einen System-Prompt und Beschreibungen von etwa zwei Dutzend eingebauten Tools hinzu, und eine Aufgabe dauert normalerweise mehrere Schritte. In unserem Testlauf enthielt jeder Schritt etwa 20.000 Eingabe-Tokens, und „Datei lesen, Fehler finden“ dauerte zwei Schritte — fast 40.000 Tokens, fast alles bei der Eingabe. Daher ist der Preis pro Token hier entscheidend.

Über das JoinGonka Gateway kosten Tokens $0.0069 pro Million bei der Eingabe und $0.021 pro Million bei der Ausgabe — der Preis ist für alle Modelle im Netzwerk gleich und wird auf dieser Seite aus einer Live-Quelle übernommen.

SzenarioVerbrauchÜber Gateway
Einmalige Aufgabe: Datei lesen, Fehler finden~40K TokensBruchteile eines Cents
Tag aktiver Arbeit3-7M Tokenseinige Cents
Monat aktiver Entwicklung~150M Tokensetwa ein Dollar

Die Schätzungen in der rechten Spalte basieren auf den Preisen vom September 2026. Zum Vergleich — wie man Kimi Code bezahlen kann:

MethodeAnbindungVoraussetzungen
Kimi Code (OAuth)/login, Anmeldung per GerätecodeKimi-Account; Limits und Preise gemäß Dienstbedingungen
Kimi Platform/login mit Plattform-API-SchlüsselSchlüssel von platform.kimi.com oder platform.kimi.ai, Zahlung gemäß Plattform-Preisliste
JoinGonka GatewayProvider in config.tomlSchlüssel jg-…; Moonshot-Account nicht erforderlich, Zahlung nach tatsächlichen Tokens, Verbrauch im Dashboard sichtbar

Genaue Kosten und Restguthaben finden Sie im Dashboard in den Bereichen „Nutzung“ und „Abrechnung“. Kimi Code überwacht die Konversationslänge selbst: Die Statuszeile zeigt an, wie viel vom Kontext belegt ist, und der Befehl /compact komprimiert den Verlauf manuell.

Was bei der Arbeit zu beachten ist

Berechtigungsmodi. Die Kimi Code-Schnittstelle arbeitet standardmäßig im Modus Always Ask: Das Lesen erfolgt sofort, Änderungen und Befehle nach Ihrer Bestätigung. Ask When Needed (/yolo oder das Flag --yolo) überspringt Routineänderungen und Befehle, fragt jedoch bei sensiblen Dateien und gefährlichen Befehlen nach; Never Ask (/auto, --auto) fragt nichts nach. Der Planungsmodus wird mit Shift-Tab aktiviert. Ein einmaliger Lauf kimi -p erfolgt immer ohne Nachfragen, daher führen Sie ihn in einem Container oder einer separaten Arbeitskopie aus.

Was ohne Moonshot-Konto funktioniert. Ein eigener Provider bedient alles, was das Modell tut: Lesen und Bearbeiten von Code, Befehle, Subagenten, Sitzungen, MCP-Server. Die Websuche ist ein Moonshot-Dienst: Ohne Anmeldung ist das WebSearch-Tool im Agenten-Set nicht verfügbar, aber das Laden einer Seite über eine Adresse (FetchURL) bleibt erhalten. Die Netzwerkmodelle sind textbasiert, daher funktioniert die Eingabe von Bildern und Videos nicht.

Telemetrie und Updates. Anonyme Telemetrie ist standardmäßig aktiviert: Sie wird durch die Zeile telemetry = false in config.toml oder die Variable KIMI_DISABLE_TELEMETRY=1 deaktiviert. Updates werden automatisch installiert ([upgrade] auto_install = true in ~/.kimi-code/tui.toml); wenn Sie Vorhersehbarkeit benötigen, deaktivieren Sie dies und führen Sie Updates mit dem Befehl kimi upgrade durch. Das Gateway speichert keine Inhalte von Prompts oder Antworten – in den Statistiken bleiben nur Verbrauchsaggregate.

Mehrere Umgebungen. Kimi Code verfügt nicht über Provider-Einstellungen auf Projektebene. Arbeits- und private Schlüssel können mit der Variable KIMI_CODE_HOME getrennt werden: Damit werden Einstellungen, Sitzungen und Protokolle in ein anderes Verzeichnis verschoben, und das Installationsprogramm, das mit derselben Variable gestartet wird, schreibt ebenfalls dorthin.

Im Editor. Kimi Code arbeitet innerhalb von Zed, JetBrains und anderen ACP-Clients über den Befehl kimi acp — mit demselben Datenverzeichnis und denselben Providern.

Labore, deren Modelle vom Netzwerk bedient werden, bringen auch eigene Agenten heraus: MiniMax hat ein terminalbasiertes MiniMax Code, DeepSeek hat DeepSeek Harness, Z.ai, die Autoren von GLM, hat ZCode. Sie alle verbinden sich mit demselben Gateway mit demselben Schlüssel.

Kimi Code CLI ist ein Terminal-Agent von Moonshot AI, der für Drittanbieter offen ist: Kimi-Modelle sind derzeit nicht im Gonka-Netzwerk vorhanden, aber auf DeepSeek V4 Flash, GLM-5.3 Flash und MiniMax M2.7 arbeitet es standardmäßig und ohne Moonshot-Konto. Der schnelle Weg ist npx @joingonka/setup --tool kimi-code: Das Installationsprogramm schreibt den Provider joingonka mit dem Typ openai und dem Schlüssel, Modelltabellen mit fairen Limits und das Standardmodell in ~/.kimi-code/config.toml und überprüft dann die Verbindung mit einer Live-Anfrage. Das Modell wird über den Alias joingonka/<id> ausgewählt — in /model oder mit dem Flag -m; damit der Thinking-Schalter bei GLM-5.3 Flash funktioniert, deklarieren Sie support_efforts und off_effort = "low". Überprüfung — kimi provider list und kimi -p an einer fehlerhaften Datei; Sie zahlen für die tatsächlichen Token zum Einheitspreis des Netzwerks.

Möchten Sie mehr erfahren?

Erkunden Sie andere Abschnitte oder beginnen Sie jetzt GNK zu verdienen.

Schlüssel und kostenlose Token erhalten →