Sections de la base de connaissances ▾

Navigation

▸ Commencez ici Par rôles

Catégories

Outils 52
Glossaire 12

Outils

Kimi Code CLI : agent Moonshot AI sur votre clé via Gonka

Kimi Code CLI (commande kimi) — un agent de terminal pour le développement par Moonshot AI : il lit et modifie le code, exécute des commandes, effectue des recherches dans les fichiers et distribue des sous-tâches à des sous-agents. La version actuelle remplace le client Python kimi-cli : elle est écrite en TypeScript, s'installe en tant que binaire unique et est publiée sous licence MIT. Tout ce qui suit est lié à la version 2.0.2 du 19 septembre 2026 — c'est avec celle-ci que nous avons parcouru le chemin de l'installation jusqu'à la réponse de l'agent le 23 septembre.

Normalement, Kimi Code fonctionne sur les modèles Kimi via une connexion au compte (/login), mais il peut prendre en charge n'importe quel nombre de fournisseurs : tout endpoint compatible OpenAI est décrit par quelques lignes dans ~/.kimi-code/config.toml, et aucun compte Moonshot n'est nécessaire pour cela. JoinGonka Gateway est un tel endpoint pour le réseau décentralisé Gonka.

Pour aller droit au but : les modèles Kimi ne sont actuellement pas présents dans le réseau Gonka — Kimi K2.6 a desservi le réseau de mai à septembre 2026. Aujourd'hui, DeepSeek V4 Flash, GLM-5.3 Flash et MiniMax M2.7 y fonctionnent, et ce guide explique comment exécuter Kimi Code sur ceux-ci. L'agent reste le même, le modèle et le prix changent : $0.0069 par million de tokens d'entrée, un prix unique pour tous les modèles du réseau. Après confirmation de votre adresse, vous recevrez 3M de tokens gratuits sur votre compte — assez pour tout répéter vous-même.

Démarrage rapide : installation et une commande

Étape 1 : installez Kimi Code. Les méthodes officielles de la documentation :

# 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

Le script place le binaire dans ~/.kimi-code/bin/kimi et ajoute ce répertoire au PATH via le fichier de configuration du shell. Ses builds ne sont disponibles que pour glibc : sur Alpine et les autres systèmes avec musl, il s'arrêtera et proposera npm. Rouvrez le terminal et vérifiez : kimi --version.

Étape 2 : obtenez une clé. Inscrivez-vous sur gate.joingonka.ai/register, confirmez votre adresse et créez dans la section « Clés API » une clé avec le préfixe jg-.

Étape 3 : lancez l'installateur.

npx @joingonka/setup --tool kimi-code

L'installateur vous demandera la clé (elle ne se passe pas en argument de ligne de commande) et n'ajoutera dans ~/.kimi-code/config.toml que ses propres tables :

  • le fournisseur [providers.joingonka] de type openai — c'est le protocole Chat Completions — avec l'adresse de la passerelle et la clé dans le champ api_key ; le fichier recevra les droits 600 ;
  • une table [models."joingonka/…"] par modèle du réseau — avec la véritable fenêtre de contexte et le plafond de réponse, et les capacités explicites : appel d'outils pour tous, raisonnement pour DeepSeek V4 Flash et GLM-5.3 Flash, outils uniquement pour MiniMax M2.7 ;
  • default_model — DeepSeek V4 Flash, si aucun modèle par défaut n'est encore choisi ou s'il pointe vers un modèle retiré du réseau de la passerelle ; choisir un autre fournisseur sans le drapeau --model n'y touche pas, mais vous suggère la commande pour un lancement ponctuel ;
  • il conservera une copie de l'ancien fichier, ne touchera ni aux fournisseurs tiers ni à vos champs dans les tables de la passerelle, et enverra pour finir une requête réelle à la passerelle pour dire si la clé, l'adresse et le modèle ont été acceptés.

Voici à quoi ressemblait la sortie lors de notre essai (abrégée) :

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.

Le drapeau --model définit un autre modèle par défaut (glm, minimax ou l'identifiant complet) ; le mode sans question prend la clé dans une variable d'environnement :

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

Le répertoire de données, déplacé via la variable KIMI_CODE_HOME, est pris en compte automatiquement par l'installateur. En revanche, ~/.kimi est le répertoire de l'ancien client Python kimi-cli : Kimi Code 2.x ne le lit pas, mais propose au premier lancement d'en importer les réglages (tout comme kimi migrate).

Configuration manuelle : config.toml

Tout ce que fait l'installateur peut aussi se faire à la main. Kimi Code stocke ses réglages en TOML ; les clés de table contenant un point ou une barre oblique se mettent entre guillemets. Voici l'extrait complet pour le réseau Gonka :

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, contrairement à DeepSeek et GLM, est déclaré sans 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)"
ChampValeurCe qui compte
default_modelalias de modèleRenvoie au nom de la table [models."…"], et non à l'identifiant du modèle
max_context_sizefenêtre du modèleChamp obligatoire ; c'est lui qui indique à l'agent quand compresser le contexte
max_output_sizeplafond de réponsePart dans la requête sous max_tokens — nous l'avons vérifié sur le fil. Sans ce champ, Kimi Code demanderait jusqu'à 131 072 jetons de réponse, plus que ce que les modèles du réseau délivrent
capabilitiesthinking, tool_useKimi Code ne devine pas les capacités des modèles inconnus d'après leur nom — déclarez-les explicitement

Où garder la clé. Kimi Code ne prend pas les clés depuis l'environnement du shell : export OPENAI_API_KEY=… n'a aucun effet sur lui. Deux méthodes existent, et on ne peut pas les utiliser en même temps :

MéthodeÉcritureComportement
Clé dans le fichierapi_key = "jg-…"C'est ce qu'écrit l'installateur ; fonctionne depuis n'importe quel environnement, gardez le fichier en droits 600
Nom de variableapi_key_env = "JOINGONKA_API_KEY"La valeur est lue dans l'environnement du processus à chaque requête ; sans la variable, le lancement échoue avec une erreur qui la nomme

Kimi Code rejettera les deux champs dans une même table au démarrage : has both apiKey and apiKeyEnv set in config.toml - they are mutually exclusive. Notez que kimi doctor ne détecte pas ce conflit — il ne vérifie que la forme du fichier.

Quel type de fournisseur choisir. Kimi Code gère plusieurs protocoles, la passerelle aussi :

typebase_urlQuand le choisir
openaihttps://gate.joingonka.ai/v1Option principale : chemin canonique de la passerelle, c'est celui qu'écrit l'installateur
anthropichttps://gate.joingonka.aiFormat Anthropic Messages, le client ajoute lui-même le chemin /v1/messages ; le cycle complet avec outils a passé notre test

Dans Kimi Code, un fournisseur parle un seul protocole ; le second protocole est donc un second fournisseur sous un autre nom. La commande /provider à l'intérieur de l'agent permet d'ajouter et de supprimer des fournisseurs en interactif.

Modèles, Thinking et sous-agents

Dans Kimi Code, un modèle est un alias, le nom d'une table [models."…"]. L'installateur les nomme selon le schéma joingonka/<model-id>, à l'image de ce que Kimi Code fait pour les siens (kimi-code/k3), et c'est cet alias qu'il faut partout où l'on choisit un modèle. Un identifiant sans préfixe, par exemple MiniMaxAI/MiniMax-M2.7, ne sera pas trouvé par Kimi Code.

OùCommentConservé
config.tomldefault_model = "joingonka/deepseek-ai/DeepSeek-V4-Flash-0731"oui, pour les nouvelles sessions
Flag de lancementkimi -m "joingonka/zai-org/GLM-5.3-Flash"non, uniquement ce lancement
Interface/model, sélection dans la listeEnter réécrit default_model, Alt+S — seulement pour la session en cours

Dans notre test, /model ressemblait à ceci :

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

Le commutateur Thinking. Le bouton de raisonnement sous la liste, sur les modèles du réseau, ne change rien à lui seul : Kimi Code n'envoie le niveau de raisonnement qu'aux modèles qui déclarent des niveaux. Pour GLM-5.3 Flash, cela vaut la peine de le faire — chez elle, le raisonnement se désactive avec la valeur low (plus de détails dans l'analyse du modèle). Ajoutez trois champs à la table du modèle :

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

Nous avons vérifié ce qui part vers la passerelle : avec Thinking activé, Kimi Code envoie reasoning_effort: "high", et le modèle raisonne ; désactivé, "low", et la réponse arrive sans bloc de raisonnement. Relancer l'installateur ne touchera pas à ces champs : il ne modifie que ses propres clés.

Le modèle pour les sous-agents. Les sous-agents intégrés (coder, explore, plan) tournent par défaut sur le modèle de l'agent principal. La section [secondary_model] leur donne un pool dans lequel l'agent principal pioche lui-même, en s'appuyant sur les indices. N'importe quel alias fait l'affaire dans le pool — DeepSeek V4 Flash, GLM-5.3 Flash ou 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."

Les clés du pool doivent impérativement correspondre aux alias de [models] : d'après la documentation, une référence orpheline empêche de créer une session. La ligne pour MiniMax M2.7 s'ajoute de la même façon ; les références à des modèles ayant quitté le réseau, l'installateur les nettoiera lui-même au prochain lancement.

Quel modèle choisir. Le prix est le même pour tous les modèles du réseau, le choix se joue donc sur le comportement. Voici comment ils se sont comportés dans Kimi Code 2.0.2 sur la tâche « lis le fichier et trouve l'erreur » (vérifié le 23 septembre 2026) :

ModèleContexte / réponseComportement dans Kimi Code
DeepSeek V4 Flash380K / 32768Le choix de l'installateur : grande fenêtre et plus haut plafond de réponse du réseau. Résout la tâche correctement
GLM-5.3 Flash390K / 8192Modèle de raisonnement : le raisonnement passe par un flux séparé (dans kimi -p — vers stderr), la réponse — vers stdout. Le raisonnement entre dans la limite de réponse
MiniMax M2.7200K / 8192Résout la tâche correctement en deux étapes ; le raisonnement passe par un flux séparé (dans kimi -p — vers stderr), seul la réponse va vers stdout

Vérification : ce qui devrait se passer

Commencez par vérifier que Kimi Code détecte bien le fournisseur et que le fichier est analysé sans erreur :

$ 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

Ne publiez nulle part la sortie de kimi provider list --json : la clé y apparaît en clair.

Ensuite, un essai ponctuel. Placez dans le répertoire un calc.py avec une fonction d'addition qui en réalité soustrait, puis demandez-lui de trouver l'erreur :

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

En mode -p, la réponse va sur stdout, tandis que le raisonnement et le déroulé des outils vont sur stderr : la sortie se parse donc facilement par script. Voici la réponse de 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`.

Attention : en -p, Kimi Code ne pose aucune question et exécute les commandes de lui-même — lors de notre essai, le modèle a tenté de lancer python3 sans demander pour vérifier son hypothèse. Le premier lancement de l'interface dans un nouveau répertoire commence par la question Trust this folder? — elle concerne les serveurs MCP du projet — et sur l'écran d'accueil, le modèle est visible : Model: DeepSeek V4 Flash (Gonka). La seconde moitié du test, c'est le tableau de bord de la passerelle : dans la section « Utilisation », la requête apparaîtra avec la répartition par modèle et par clé.

Si quelque chose ne va pas, le diagnostic se lit généralement directement dans le message :

Ce que l'on voitCe que cela signifieQue faire
No model configured. Run `kimi` and use /login to sign in …Le fournisseur n'est pas configuré ou default_model est videLancez l'installateur ou renseignez default_model
Model "deepseek-ai/DeepSeek-V4-Flash-0731" is not configured in config.toml.Un identifiant de modèle a été passé à -m, et non un aliasAjoutez le préfixe : joingonka/deepseek-ai/…
provider.auth_error: 401 Invalid API keyLa passerelle n'a pas accepté la cléVérifiez api_key dans [providers.joingonka] : Kimi Code ne lit pas les variables d'environnement
declares api_key_env = "JOINGONKA_API_KEY" … but the environment variable is not set or is emptyLa méthode par variable a été choisie, mais la variable est absente de l'environnementExportez la variable avant le lancement ou remettez api_key
429 … currently overloaded in the Gonka network (rate limit)La capacité disponible du modèle sur le réseau est épuiséeKimi Code réessaie lui-même ces erreurs ; si cela dure, changez de modèle via /model. L'état est visible sur la page de statut

Combien cela coûte

Pour chacune de vos requêtes, Kimi Code ajoute un prompt système et les descriptions de deux douzaines d'outils intégrés, et une tâche prend généralement plusieurs étapes. Lors de notre test, chaque étape consommait environ 20 000 tokens en entrée, et « lire un fichier, trouver l'erreur » a pris deux étapes — soit environ 40 000 tokens, presque tous en entrée. C'est pourquoi le prix par token est crucial ici.

Via JoinGonka Gateway, les tokens coûtent $0.0069 par million en entrée et $0.021 par million en sortie — le prix est identique pour tous les modèles du réseau et est mis à jour sur cette page à partir d'une source en temps réel.

ScénarioConsommationVia Gateway
Tâche unique : lire un fichier, trouver l'erreur~40K tokenscentimes de cent
Journée de travail actif3-7M tokensquelques centimes
Mois de développement actif~150M tokensenviron un dollar

Les estimations dans la colonne de droite sont basées sur les prix de septembre 2026. À titre de comparaison — comment payer pour les modèles dans Kimi Code :

MéthodeComment se connecterCe qui est nécessaire
Kimi Code (OAuth)/login, connexion via code appareilcompte Kimi ; limites et prix selon les conditions du service
Kimi Platform/login avec clé API de la plateformeclé depuis platform.kimi.com ou platform.kimi.ai, paiement selon la grille tarifaire de la plateforme
JoinGonka Gatewayfournisseur dans config.tomlclé jg-… ; compte Moonshot non requis, paiement à l'utilisation réelle, consommation visible dans l'espace client

La consommation exacte et le solde sont dans l'espace client, sections « Utilisation » et « Facturation ». Kimi Code surveille lui-même la longueur de la conversation : la barre d'état indique quelle part du contexte est utilisée, et la commande /compact compresse l'historique manuellement.

Points à considérer lors de l'utilisation

Modes de permission. L'interface Kimi Code utilise par défaut le mode Always Ask : la lecture est immédiate, tandis que les modifications et les commandes nécessitent votre confirmation. Ask When Needed (/yolo ou le drapeau --yolo) ignore les modifications et commandes de routine, mais demande confirmation pour les fichiers sensibles et les commandes dangereuses ; Never Ask (/auto, --auto) ne demande rien. Le mode planification s'active via Shift-Tab. Une exécution unique kimi -p se lance toujours sans poser de questions ; utilisez-la donc dans un conteneur ou une copie de travail séparée.

Fonctionnalités sans compte Moonshot. Votre fournisseur gère tout ce que fait le modèle : lecture et édition de code, commandes, sous-agents, sessions, serveurs MCP. La recherche Web est un service Moonshot : sans connexion à un compte, l'outil WebSearch n'est pas présent dans le kit de l'agent, mais le chargement de pages par URL (FetchURL) demeure. Les modèles du réseau sont textuels, l'entrée d'images et de vidéos n'est donc pas prise en charge.

Télémétrie et mises à jour. La télémétrie anonyme est activée par défaut : désactivez-la avec la ligne telemetry = false dans config.toml ou la variable KIMI_DISABLE_TELEMETRY=1. Les mises à jour sont automatiques ([upgrade] auto_install = true dans ~/.kimi-code/tui.toml) ; si vous avez besoin de prévisibilité, désactivez cette option et mettez à jour avec la commande kimi upgrade. La passerelle ne stocke pas le contenu des invites et des réponses — seules les statistiques de consommation agrégées sont conservées.

Environnements multiples. Kimi Code ne dispose pas de paramètres de fournisseur au niveau du projet. Vous pouvez séparer les clés professionnelles et personnelles avec la variable KIMI_CODE_HOME : avec elle, les paramètres, sessions et logs sont déplacés vers un autre répertoire, et l'installateur, lancé avec la même variable, y écrit également.

Dans l'éditeur. Kimi Code fonctionne au sein de Zed, JetBrains et d'autres clients ACP via la commande kimi acp — avec le même répertoire de données et les mêmes fournisseurs.

Des laboratoires dont le réseau traite les modèles publient leurs propres agents : MiniMax propose MiniMax Code, DeepSeek propose DeepSeek Harness, et Z.ai (auteurs de GLM) propose ZCode. Ils se connectent tous à la même passerelle avec la même clé.

Kimi Code CLI est l'agent terminal de Moonshot AI, ouvert aux fournisseurs tiers : les modèles Kimi ne sont actuellement pas sur le réseau Gonka, mais il fonctionne normalement sur DeepSeek V4 Flash, GLM-5.3 Flash et MiniMax M2.7 sans compte Moonshot. La voie rapide : npx @joingonka/setup --tool kimi-code : l'installateur inscrira dans ~/.kimi-code/config.toml le fournisseur joingonka avec le type openai et la clé, les tableaux de modèles avec des limites réelles et le modèle par défaut, puis vérifiera la connexion par une requête réelle. Le modèle est sélectionné par l'alias joingonka/<id> — dans /model ou avec le drapeau -m ; pour que le mode Thinking fonctionne avec GLM-5.3 Flash, déclarez support_efforts et off_effort = "low". Vérification : kimi provider list et kimi -p sur un fichier contenant une erreur ; payez les jetons réels au prix unitaire du réseau.

Vous voulez en savoir plus ?

Explorez d'autres sections ou commencez à gagner des GNK dès maintenant.

Obtenir une clé et des jetons gratuits →