Secciones de la base de conocimientos ▾

Navegación

▸ Empiece aquí Por roles

Categorías

Herramientas 52
Glosario 12

Herramientas

Kimi Code CLI: agente de Moonshot AI con su propia clave a través de Gonka

Kimi Code CLI (el comando kimi) es un agente de terminal para desarrollo de Moonshot AI: lee y edita código, ejecuta comandos, busca en archivos y distribuye subtareas a subagentes. La versión actual reemplazó al cliente de Python kimi-cli: está escrita en TypeScript, se instala como un solo binario y tiene licencia MIT. Todo lo que sigue se refiere a la versión 2.0.2 del 19 de septiembre de 2026, con la que completamos el proceso desde la instalación hasta la respuesta del agente el 23 de septiembre.

Normalmente, Kimi Code funciona con modelos Kimi iniciando sesión en una cuenta (/login), pero puede haber cualquier cantidad de proveedores: cualquier endpoint compatible con OpenAI se describe con unas pocas líneas en ~/.kimi-code/config.toml, y no se requiere una cuenta de Moonshot para esto. JoinGonka Gateway es uno de esos endpoints para la red descentralizada Gonka.

Lo principal: los modelos Kimi actualmente no están en la red Gonka; Kimi K2.6 sirvió a la red desde mayo hasta septiembre de 2026. Hoy en día, DeepSeek V4 Flash, GLM-5.3 Flash y MiniMax M2.7 operan en ella, y esta guía trata sobre cómo ejecutar Kimi Code en ellos. El agente sigue siendo el mismo, cambian el modelo y el precio: $0.0069 por millón de tokens de entrada, el mismo para todos los modelos de la red. Después de verificar la dirección, se acreditarán 3M de tokens gratuitos en la cuenta, suficientes para repetir todo esto uno mismo.

Inicio rápido: instalación y un comando

Paso 1: instalar Kimi Code. Los métodos oficiales de la documentación:

# 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

El script coloca el binario en ~/.kimi-code/bin/kimi y añade ese directorio al PATH a través del archivo de configuración del shell. Sus compilaciones solo son para glibc: en Alpine y otros sistemas con musl se detendrá y te sugerirá npm. Abre el terminal de nuevo y comprueba: kimi --version.

Paso 2: obtener una clave. Regístrate en gate.joingonka.ai/register, confirma tu dirección y crea en la sección «Claves de API» una clave con prefijo jg-.

Paso 3: ejecutar el instalador.

npx @joingonka/setup --tool kimi-code

El instalador te pedirá la clave (no se pasa como argumento de línea de comandos) y escribirá en ~/.kimi-code/config.toml solo sus propias tablas:

  • el proveedor [providers.joingonka] con tipo openai — es el protocolo Chat Completions —, la dirección de la puerta de enlace y la clave en el campo api_key; el archivo recibirá permisos 600;
  • una tabla [models."joingonka/…"] por cada modelo de la red — con la ventana de contexto y el techo de respuesta reales y capacidades explícitas: llamada a herramientas para todos, razonamiento para DeepSeek V4 Flash y GLM-5.3 Flash, y en MiniMax M2.7 solo herramientas;
  • default_model — DeepSeek V4 Flash, si aún no se ha elegido modelo predeterminado o si apunta a un modelo que ya no está en la red de la puerta de enlace; no toca la elección de otro proveedor sin el flag --model, sino que sugiere el comando para un lanzamiento puntual;
  • guardará una copia del archivo anterior, no tocará proveedores ajenos ni tus campos en las tablas de la puerta de enlace y, al final, enviará una petición real a la puerta de enlace y te dirá si se han aceptado la clave, la dirección y el modelo.

Así fue la salida en nuestra prueba (recortada):

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.

El flag --model define otro modelo predeterminado (glm, minimax o el identificador completo); el modo sin preguntas toma la clave de una variable de entorno:

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

El instalador tiene en cuenta por sí mismo el directorio de datos movido con la variable KIMI_CODE_HOME. En cambio ~/.kimi es el directorio del antiguo cliente Python kimi-cli: Kimi Code 2.x no lo lee y, en el primer arranque, ofrece migrar desde allí la configuración (lo mismo hace kimi migrate).

Configuración manual: config.toml

Todo lo que hace el instalador se puede escribir a mano. Kimi Code guarda la configuración en TOML; las claves de tabla con punto o barra inclinada van entre comillas. El fragmento completo para la red 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, 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)"
CampoValorLo que importa
default_modelalias del modeloHace referencia al nombre de la tabla [models."…"], no al identificador del modelo
max_context_sizeventana del modeloCampo obligatorio; a partir de él el agente decide cuándo comprimir el contexto
max_output_sizetecho de respuestaSe envía en la solicitud como max_tokens: lo verificamos en el cable. Sin este campo, Kimi Code solicitaría hasta 131 072 tokens de respuesta, más de lo que entregan los modelos de la red
capabilitiesthinking, tool_useKimi Code no adivina las capacidades de modelos desconocidos por su nombre: decláralas explícitamente

Dónde guardar la clave. Kimi Code no toma claves del entorno del shell: export OPENAI_API_KEY=… no tiene efecto sobre él. Hay dos formas, y no se pueden usar a la vez:

FormaEntradaCómo se comporta
Clave en el archivoapi_key = "jg-…"Así lo escribe el instalador; funciona desde cualquier entorno, mantén el archivo con permisos 600
Nombre de variableapi_key_env = "JOINGONKA_API_KEY"El valor se lee del entorno del proceso en cada solicitud; sin la variable, el arranque falla con un error que la nombra

Si ambos campos están en la misma tabla, Kimi Code lo rechazará al arrancar: has both apiKey and apiKeyEnv set in config.toml - they are mutually exclusive. Ten en cuenta que kimi doctor no detecta ese conflicto: solo verifica la forma del archivo.

Qué tipo de proveedor elegir. Kimi Code admite varios protocolos, y la puerta de enlace también:

typebase_urlCuándo elegirlo
openaihttps://gate.joingonka.ai/v1Opción principal: la ruta canónica de la puerta de enlace, la que escribe el instalador
anthropichttps://gate.joingonka.aiFormato Anthropic Messages, el cliente añade por su cuenta la ruta /v1/messages; el ciclo completo con herramientas pasó en nuestra prueba

Un proveedor en Kimi Code habla un solo protocolo, así que el segundo protocolo es un segundo proveedor con otro nombre. De forma interactiva, los proveedores se añaden y se eliminan con el comando /provider dentro del agente.

Modelos, Thinking y subagentes

En Kimi Code, un modelo es un alias, el nombre de una tabla [models."…"]. El instalador los nombra con el esquema joingonka/<model-id>, igual que Kimi Code nombra los suyos (kimi-code/k3), y es el alias lo que se necesita siempre que se elige un modelo. Kimi Code no encontrará un identificador sin prefijo, por ejemplo MiniMaxAI/MiniMax-M2.7.

DóndeCómoSe conserva
config.tomldefault_model = "joingonka/deepseek-ai/DeepSeek-V4-Flash-0731"sí, para nuevas sesiones
Flag de iniciokimi -m "joingonka/zai-org/GLM-5.3-Flash"no, solo para ese inicio
Interfaz/model, selección en la listaEnter reescribe default_model, Alt+S solo para la sesión actual

En nuestra ejecución, /model se veía así:

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

Interruptor de Thinking. El interruptor de razonamiento bajo la lista, en los modelos de la red, por sí solo no cambia nada: Kimi Code solo envía el nivel de razonamiento a los modelos que tienen niveles declarados. En el caso de GLM-5.3 Flash conviene hacerlo: su razonamiento se desactiva con el valor low (más detalles en la reseña del modelo). Añade tres campos a la tabla del modelo:

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

Comprobamos qué se envía a la puerta de enlace: con Thinking activado, Kimi Code envía reasoning_effort: "high" y el modelo razona; con Thinking desactivado, envía "low" y la respuesta llega sin bloque de razonamiento. Volver a ejecutar el instalador no tocará estos campos: solo modifica sus propias claves.

Modelo para subagentes. Los subagentes integrados (coder, explore, plan) funcionan por defecto con el modelo del agente principal. La sección [secondary_model] les da un pool del que el agente principal elige por su cuenta, guiándose por las pistas. En el pool sirve cualquier alias: DeepSeek V4 Flash, GLM-5.3 Flash o 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."

Las claves del pool deben coincidir con los alias de [models]: según la documentación, una referencia colgante no permite crear una sesión. La línea para MiniMax M2.7 se añade igual; el instalador eliminará por su cuenta, al volver a ejecutarse, las referencias a modelos que hayan salido de la red.

Qué modelo elegir. El precio es el mismo para todos los modelos de la red, así que la elección va de comportamiento. Así se comportaron en Kimi Code 2.0.2 con la tarea «lee un archivo y encuentra el error» (verificado el 23 de septiembre de 2026):

ModeloContexto / respuestaCómo se comporta en Kimi Code
DeepSeek V4 Flash380K / 32768La elección del instalador: gran ventana y el techo de respuesta más alto de la red. Resuelve la tarea correctamente
GLM-5.3 Flash390K / 8192Modelo de razonamiento: el razonamiento va en un flujo aparte (en kimi -p, en stderr), la respuesta en stdout. El razonamiento cuenta para el límite de respuesta
MiniMax M2.7200K / 8192Resuelve la tarea correctamente en dos pasos; el razonamiento va en un flujo aparte (en kimi -p, en stderr), en stdout solo la respuesta

Verificación: qué debe suceder

Primero asegúrate de que Kimi Code vea el proveedor y de que el archivo se analice sin errores:

$ 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

No publiques en ningún sitio la salida de kimi provider list --json: la clave aparece ahí en texto plano.

Después, una ejecución puntual. Coloca en el directorio un calc.py con una función de suma que en realidad resta, y pídele que encuentre el error:

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

En el modo -p la respuesta va a stdout, mientras que el razonamiento y el recorrido de las herramientas van a stderr, así que la salida se procesa cómodamente con un script. Esto respondió 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`.

Ten en cuenta: en -p Kimi Code no pregunta nada y ejecuta los comandos por su cuenta; en nuestra prueba el modelo intentó lanzar python3 sin pedir permiso para comprobar su hipótesis. La primera vez que se abre la interfaz en un directorio nuevo empieza con la pregunta Trust this folder? —que afecta a los servidores MCP del proyecto—, y en la pantalla de bienvenida se ve el modelo: Model: DeepSeek V4 Flash (Gonka). La segunda mitad de la comprobación es el panel del gateway: en la sección «Usage» la petición aparecerá desglosada por modelos y por claves.

Si algo salió mal, el diagnóstico normalmente se lee directamente en el mensaje:

Lo que vesQué significaQué hacer
No model configured. Run `kimi` and use /login to sign in …El proveedor no está configurado o default_model está vacíoEjecuta el instalador o rellena default_model
Model "deepseek-ai/DeepSeek-V4-Flash-0731" is not configured in config.toml.En -m se pasó el identificador del modelo en vez del aliasAñade el prefijo: joingonka/deepseek-ai/…
provider.auth_error: 401 Invalid API keyEl gateway no aceptó la claveRevisa api_key en [providers.joingonka]: Kimi Code no lee las variables del shell
declares api_key_env = "JOINGONKA_API_KEY" … but the environment variable is not set or is emptyElegiste el método con variable y esta no está en el entornoExporta la variable antes de arrancar o vuelve a api_key
429 … currently overloaded in the Gonka network (rate limit)La capacidad libre del modelo en la red se agotóKimi Code reintenta estos errores por su cuenta; si se alarga, cambia de modelo con /model. El estado se ve en la página de estado

Cuánto cuesta

Kimi Code añade un prompt del sistema y descripciones de dos docenas y media de herramientas integradas a cada frase suya, y la tarea suele llevar varios pasos. En nuestra ejecución, cada paso supuso unos 20 mil tokens de entrada, y "lee el archivo, encuentra el error" tomó dos pasos: cerca de 40 mil tokens, casi todos de entrada. Por lo tanto, el precio por token es decisivo aquí.

A través de JoinGonka Gateway, los tokens cuestan $0.0069 por millón de entrada y $0.021 por millón de salida; el precio es igual para todos los modelos de la red y se completa en esta página desde una fuente en tiempo real.

EscenarioConsumoA través de Gateway
Tarea única: leer archivo, encontrar error~40K tokenscentésimas de centavo
Día de trabajo activo3-7M tokenspocos centavos
Mes de desarrollo activo~150M tokensalrededor de un dólar

Las estimaciones en la columna derecha son según los precios de septiembre de 2026. Para comparar, cómo se puede pagar por los modelos en Kimi Code:

MétodoCómo se conectaQué se necesita
Kimi Code (OAuth)/login, acceso con código de dispositivocuenta Kimi; límites y precios según los términos del servicio
Kimi Platform/login con API-key de la plataformaclave de platform.kimi.com o platform.kimi.ai, pago según la tarifa de la plataforma
JoinGonka Gatewayproveedor en config.tomlclave jg-…; no se necesita cuenta de Moonshot, pago por tokens reales, el consumo se ve en el panel

El consumo exacto y el saldo se encuentran en el panel, en las secciones "Uso" y "Facturación". Kimi Code monitoriza la longitud de la conversación: la barra de estado muestra qué parte del contexto está ocupada, y el comando /compact comprime el historial manualmente.

Qué tener en cuenta al trabajar

Modos de permisos. En la interfaz, Kimi Code funciona por defecto en el modo Always Ask: la lectura se realiza inmediatamente, mientras que las ediciones y comandos requieren su confirmación. Ask When Needed (/yolo o el flag --yolo) omite ediciones y comandos rutinarios, pero pregunta sobre archivos sensibles y comandos peligrosos; Never Ask (/auto, --auto) no pregunta nada. El modo de planificación se activa con Shift-Tab. La ejecución única kimi -p siempre se realiza sin preguntas, por lo que debe ejecutarla en un contenedor o en una copia de trabajo separada.

Lo que funciona sin una cuenta Moonshot. Su proveedor gestiona todo lo que hace el modelo: lectura y edición de código, comandos, subagentes, sesiones y servidores MCP. La búsqueda web es un servicio de Moonshot: sin iniciar sesión, la herramienta WebSearch no está presente en el set del agente, pero la carga de páginas mediante dirección (FetchURL) se mantiene. Los modelos de la red son textuales, por lo que la entrada de imágenes y videos no funciona en ellos.

Telemetría y actualizaciones. La telemetría anónima está activada por defecto: para desactivarla, use la línea telemetry = false en config.toml o la variable KIMI_DISABLE_TELEMETRY=1. Las actualizaciones se instalan automáticamente ([upgrade] auto_install = true en ~/.kimi-code/tui.toml); si necesita previsibilidad, desactívela y actualice mediante el comando kimi upgrade. La pasarela no almacena el contenido de los prompts ni de las respuestas; en las estadísticas solo permanecen los agregados de consumo.

Múltiples entornos. Kimi Code no dispone de configuraciones de proveedores a nivel de proyecto. Puede separar las claves de trabajo y personales mediante la variable KIMI_CODE_HOME: con ella, las configuraciones, sesiones y registros se dirigen a un directorio diferente, y el instalador, ejecutado con la misma variable, escribe en el mismo lugar.

En el editor. Kimi Code funciona dentro de Zed, JetBrains y otros clientes ACP a través del comando kimi acp, con el mismo directorio de datos y los mismos proveedores.

Los laboratorios cuyos modelos son gestionados por la red también lanzan sus propios agentes: MiniMax tiene el terminal MiniMax Code, DeepSeek tiene DeepSeek Harness, y Z.ai, creadores de GLM, tiene ZCode. Todos ellos se conectan a la misma pasarela con la misma clave.

Kimi Code CLI es un agente de terminal de Moonshot AI abierto a proveedores de terceros: actualmente no hay modelos de Kimi en la red Gonka, pero funciona de forma estándar y sin una cuenta Moonshot en DeepSeek V4 Flash, GLM-5.3 Flash y MiniMax M2.7. La vía rápida es npx @joingonka/setup --tool kimi-code: el instalador escribirá en ~/.kimi-code/config.toml el proveedor joingonka con tipo openai y su clave, las tablas de modelos con límites reales y el modelo por defecto, y luego verificará la conexión con una solicitud en vivo. El modelo se selecciona mediante el alias joingonka/<id> — en /model o mediante el flag -m; para que el interruptor Thinking funcione en GLM-5.3 Flash, declare support_efforts y off_effort = "low". Verificación: kimi provider list y kimi -p en un archivo con error; pague por los tokens reales a un precio único de red.

¿Quieres saber más?

Explora otras secciones o empieza a ganar GNK ahora mismo.

Obtener clave y tokens gratuitos →