知识库章节 ▾

导航

▸ 从这里开始 按角色

类别

工具 52
词汇表 12

工具

Kimi Code CLI:通过 Gonka 使用您自己的密钥连接 Moonshot AI Agent

Kimi Code CLI (kimi 命令) 是 Moonshot AI 推出的终端开发代理:它能读取和编辑代码、运行命令、进行文件搜索,并将子任务分发给子代理。当前版本取代了 Python 客户端 kimi-cli:它基于 TypeScript 编写,以单个二进制文件形式安装,并以 MIT 协议开源。以下内容基于 2026 年 9 月 19 日发布的 2.0.2 版本——我们在 9 月 23 日完成了从安装到代理响应的全过程。

Kimi Code 通常通过账号登录 (/login) 在 Kimi 模型上运行,但它支持任意数量的提供商:任何与 OpenAI 兼容的端点只需在 ~/.kimi-code/config.toml 中用几行配置即可描述,无需 Moonshot 账号。JoinGonka Gateway 就是这样一个为去中心化 Gonka 网络设计的端点。

首先说明重点:目前 Gonka 网络中没有 Kimi 模型——Kimi K2.6 在 2026 年 5 月至 9 月期间为该网络提供服务。现在网络中运行的是 DeepSeek V4 Flash、GLM-5.3 Flash 和 MiniMax M2.7,本指南将介绍如何在这些模型上运行 Kimi Code。代理保持不变,但模型和价格有所变动:每百万输入 token 为 $0.0069,网络中所有模型价格统一。验证地址后,账户将获得 3M 个免费 token——足以让你亲自尝试所有流程。

快速开始:安装与单命令启动

第 1 步:安装 Kimi Code。官方文档提供的安装方式如下:

# 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

该脚本会将二进制文件放入 ~/.kimi-code/bin/kimi,并通过 shell 配置文件把该目录追加到 PATH 中。它仅提供 glibc 构建版本:在 Alpine 及其他使用 musl 的系统上会中止并建议改用 npm。请重新打开终端并验证:kimi --version。

第 2 步:获取密钥。前往 gate.joingonka.ai/register 注册,确认邮箱地址,然后在「API 密钥」页面创建一个带 jg- 前缀的密钥。

第 3 步:运行安装器。

npx @joingonka/setup --tool kimi-code

安装器会询问密钥(不会通过命令行参数传入),并只把自己所需的配置表写入 ~/.kimi-code/config.toml:

  • 写入 [providers.joingonka] 提供商,类型为 openai——即 Chat Completions 协议——包含网关地址,密钥写入 api_key 字段;该文件的权限会被设为 600;
  • 为网络中的每个模型写入一张 [models."joingonka/…"] 表——包含真实的上下文窗口与回复上限,并明确标注能力:所有模型均支持工具调用,DeepSeek V4 Flash 与 GLM-5.3 Flash 支持推理,MiniMax M2.7 仅支持工具调用;
  • default_model——若尚未选择默认模型,或默认模型指向已从网关网络下线的模型,则设为 DeepSeek V4 Flash;若用户选择的是其他提供商且未加 --model 参数,安装器不会改动,而会提示一次性运行所需的命令;
  • 会保存原文件的副本,不触碰其他提供商以及你在网关配置表中的自有字段,最后向网关发送一次真实请求,告知密钥、地址与模型是否被接受。

以下是我们这次运行时的输出(已精简):

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.

若要指定其他默认模型,使用 --model 参数(可填 glm、minimax 或完整标识符);免交互模式会从环境变量读取密钥:

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

通过 KIMI_CODE_HOME 变量迁移的数据目录,安装器会自动识别。而 ~/.kimi 是旧版 Python 客户端 kimi-cli 的目录:Kimi Code 2.x 不会读取它,并在首次启动时提示从该目录迁移设置(kimi migrate 也有相同效果)。

手动配置:config.toml

安装程序做的事情,全都可以手动完成。Kimi Code 把配置存在 TOML 里;表名中带点或斜杠的键需要加引号。以下是 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)"
字段取值要点
default_model模型别名指向 [models."…"] 表的名称,而不是模型标识符
max_context_size模型窗口必填字段;智能体据此判断何时压缩上下文
max_output_size回复上限会作为 max_tokens 发送到请求中——我们在实际请求上验证过。没有这个字段,Kimi Code 会最多请求 131,072 个回复 token,超过网络中模型实际能返回的量
capabilitiesthinking、tool_useKimi Code 不会凭名字猜测陌生模型的能力——请显式声明

密钥放在哪里。 Kimi Code 不会从 shell 环境读取密钥:export OPENAI_API_KEY=… 对它无效。有两种方式,但不能同时使用:

方式写法行为
密钥写在文件里api_key = "jg-…"安装程序就是这样写的;任何环境都能用,请把文件权限设为 600
变量名api_key_env = "JOINGONKA_API_KEY"每次请求时从进程环境读取该值;没有这个变量,启动会报错,错误信息中会指出变量名

如果同一个表里同时出现这两个字段,Kimi Code 会在启动时拒绝:has both apiKey and apiKeyEnv set in config.toml - they are mutually exclusive。请注意,kimi doctor 抓不到这种冲突——它只检查文件格式。

该选哪种 provider 类型。 Kimi Code 支持多种协议,网关也是:

typebase_url何时选择
openaihttps://gate.joingonka.ai/v1首选方案:网关的规范路径,安装程序写的就是它
anthropichttps://gate.joingonka.aiAnthropic Messages 格式,客户端会自行补上 /v1/messages 路径;在我们的测试中完整的工具调用流程顺利通过

在 Kimi Code 中,一个 provider 只说一种协议,所以第二种协议就是另一个名字下的第二个 provider。在智能体内部可以用 /provider 命令交互式地添加和删除 provider。

模型、Thinking 和子智能体

Kimi Code 中的模型是一个别名,即表名 [models."…"]。安装器会按照 joingonka/<model-id> 的格式为它们命名,就像 Kimi Code 给自己命名(kimi-code/k3)一样,而在任何选择模型的地方,需要的正是这个别名。没有前缀的标识符,例如 MiniMaxAI/MiniMax-M2.7,Kimi Code 是找不到的。

位置方式是否保留
config.tomldefault_model = "joingonka/deepseek-ai/DeepSeek-V4-Flash-0731"是,用于新会话
启动参数kimi -m "joingonka/zai-org/GLM-5.3-Flash"否,仅本次运行
界面/model,从列表中选择Enter 会改写 default_model,Alt+S 仅对当前会话生效

在我们的运行中,/model 显示如下:

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

Thinking 开关。 网络模型列表下方的推理开关本身不会改变任何东西:Kimi Code 只会把推理级别发送给声明了级别的模型。对于 GLM-5.3 Flash 来说,值得这么做——它的推理通过值 low 关闭(详见模型介绍)。在模型表中添加三个字段:

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

我们验证了发送到网关的内容:开启 Thinking 时,Kimi Code 发送 reasoning_effort: "high",模型进行推理;关闭时发送 "low",响应返回时没有推理块。重新运行安装器不会触碰这些字段:它只修改自己的键。

子代理使用的模型。 内置子代理(coder、explore、plan)默认使用主代理的模型。[secondary_model] 部分为它们提供一个池,主代理会根据提示自行从中选择。池中可以使用任何别名——DeepSeek V4 Flash、GLM-5.3 Flash 或 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."

池中的键必须与 [models] 中的别名一致:根据文档,悬空引用会导致无法创建会话。MiniMax M2.7 的行也以同样方式添加;对于已离开网络的模型的引用,安装器会在下次运行时自动清理。

该选哪个模型。 网络上所有模型的价格相同,所以选择取决于行为。以下是它们在 Kimi Code 2.0.2 中执行“读取文件并找出错误”任务时的表现(2026 年 9 月 23 日核实):

模型上下文 / 响应在 Kimi Code 中的表现
DeepSeek V4 Flash380K / 32768安装器的选择:网络上最大的窗口和最高的响应上限。能正确解决问题
GLM-5.3 Flash390K / 8192推理模型:推理在单独的流中进行(在 kimi -p 中输出到 stderr),答案输出到 stdout。推理计入响应限制
MiniMax M2.7200K / 8192分两步正确解决问题;推理在单独的流中进行(在 kimi -p 中输出到 stderr),stdout 中只有答案

验证:应该发生什么

首先,确认 Kimi Code 能识别该提供商,并且文件能无错误解析:

$ 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

切勿在任何地方公开 kimi provider list --json 的输出:其中的密钥以明文形式显示。

接下来做一次单次运行。在目录中放入一个 calc.py,其中的加法函数实际上执行的是减法,然后让它找出这个错误:

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

在 -p 模式下,回答写入 stdout,而推理过程和工具调用轨迹写入 stderr,因此输出便于用脚本解析。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`.

请注意:在 -p 模式下,Kimi Code 不会提出任何询问,会自行执行命令——在我们的运行中,模型未经询问就尝试运行 python3 来验证自己的猜测。在新目录中首次启动界面时,会先出现 Trust this folder? 的询问——它针对的是项目的 MCP 服务器——而在欢迎界面上可以看到模型:Model: DeepSeek V4 Flash (Gonka)。验证的另一部分在网关控制台:在"使用情况"部分,该请求会按模型和密钥分别列出。

如果出了问题,通常直接从报错信息就能看出诊断结果:

看到什么意味着什么该怎么做
No model configured. Run `kimi` and use /login to sign in …提供商未配置,或 default_model 为空运行安装程序,或填写 default_model
Model "deepseek-ai/DeepSeek-V4-Flash-0731" is not configured in config.toml.-m 中传入的是模型 ID,而不是别名加上前缀:joingonka/deepseek-ai/…
provider.auth_error: 401 Invalid API key网关未接受该密钥检查 [providers.joingonka] 中的 api_key:Kimi Code 不读取 shell 变量
declares api_key_env = "JOINGONKA_API_KEY" … but the environment variable is not set or is empty选择了使用变量的方式,但环境中没有该变量在启动前导出该变量,或改回 api_key
429 … currently overloaded in the Gonka network (rate limit)该模型在网络中的空闲容量已用尽这类错误 Kimi Code 会自行重试;若持续过久,用 /model 切换模型。状态可见于状态页面

费用说明

对于你的每一句话,Kimi Code 都会添加一个系统提示词和二十多个内置工具的描述,且一个任务通常需要多个步骤。在我们的测试中,每个步骤包含约 2 万个输入 token,“读取文件并查找错误”任务总共耗时两个步骤——约 4 万个 token,几乎全部为输入。因此,这里的 token 单价至关重要。

通过 JoinGonka Gateway,输入 token 价格为每百万 $0.0069,输出 token 价格为每百万 $0.021——所有网络模型价格一致,并从实时源同步至此页面。

场景消耗量通过 Gateway 费用
单次任务:读取文件,查找错误~40K token几分钱的百分之一
一天高强度工作3-7M token几分钱
一个月高强度开发~150M token约 1 美元

右侧估算值基于 2026 年 9 月的价格。作为参考——Kimi Code 的模型付费方式一般有以下几种:

方式连接方式要求
Kimi Code (OAuth)/login,通过设备码登录Kimi 账号;限制和价格按服务条款执行
Kimi Platform/login 使用平台 API 密钥platform.kimi.com 或 platform.kimi.ai 的密钥,按平台定价付费
JoinGonka Gateway在 config.toml 中配置提供商jg-… 密钥;无需 Moonshot 账号,按实际 token 使用量计费,使用情况可在控制台查看

确切的消耗量和余额可在控制台的“使用量”和“账单”部分查看。Kimi Code 会自动监控对话长度:状态栏会显示上下文占用的比例,/compact 命令可手动压缩历史记录。

工作注意事项

许可模式。 Kimi Code 默认使用 Always Ask 模式:读取操作立即执行,修改和命令需要您的确认。Ask When Needed (/yolo 或 --yolo 标志) 会跳过常规修改和命令,但会询问敏感文件和危险命令;Never Ask (/auto, --auto) 不会进行任何询问。计划模式通过 Shift-Tab 开启。一次性的 kimi -p 运行总是直接执行,因此请在容器或单独的工作副本中运行它。

无需 Moonshot 账号即可运行的功能。 您的提供商处理模型执行的所有操作:读取和修改代码、命令、子代理、会话和 MCP 服务器。网页搜索属于 Moonshot 服务:未登录账号时,代理集中不可使用 WebSearch 工具,但通过地址加载页面 (FetchURL) 依然可用。网络模型为文本模型,因此输入图片和视频对其无效。

遥测与更新。 匿名遥测默认为开启:您可以通过 config.toml 中的 telemetry = false 行或 KIMI_DISABLE_TELEMETRY=1 变量将其关闭。更新会自动安装 (~/.kimi-code/tui.toml 中的 [upgrade] auto_install = true);如果需要可预测性,请关闭自动更新并使用 kimi upgrade 命令进行更新。网关不存储提示词和响应的内容——统计信息中仅保留消耗总量。

多个环境。 Kimi Code 没有项目级别的提供商设置。您可以使用 KIMI_CODE_HOME 变量来区分工作和个人密钥:使用该变量后,设置、会话和日志将移至另一个目录,而使用相同变量运行的安装程序也会写入同一位置。

编辑器中。 Kimi Code 可通过 kimi acp 命令在 Zed、JetBrains 和其他 ACP 客户端内运行——使用相同的数据目录和提供商。

网络所支持模型的实验室也会发布他们自己的代理:MiniMax 有终端版 MiniMax Code,DeepSeek 有 DeepSeek Harness,而 GLM 的开发者 Z.ai 有 ZCode。它们都可以使用相同的密钥连接到同一个网关。

Kimi Code CLI 是一个 Moonshot AI 终端代理,支持第三方提供商:目前 Gonka 网络中没有 Kimi 模型,但它在使用 DeepSeek V4 Flash、GLM-5.3 Flash 和 MiniMax M2.7 时可以无需 Moonshot 账号正常运行。快速安装路径为 npx @joingonka/setup --tool kimi-code:安装程序会将类型为 openai 的 joingonka 提供商及其密钥、包含公正限额的模型表以及默认模型写入 ~/.kimi-code/config.toml,然后通过实时请求检查连接。模型通过别名 joingonka/<id> 进行选择——在 /model 中或通过 -m 标志;要使 GLM-5.3 Flash 的 Thinking 开关生效,请声明 support_efforts 和 off_effort = "low"。验证方式为 kimi provider list 和对错误文件运行 kimi -p;您只需按网络统一价格为实际 Token 付费。

想了解更多?

探索其他章节或立即开始赚取 GNK。

获取密钥和免费 Token →