平台与模型
Kimi Code CLI 通过统一的供应商抽象对接多家 LLM 平台。每个供应商负责一种 API 协议,模型则在供应商之上声明自己的名称、上下文长度和能力。本页介绍当前支持的所有供应商类型,以及如何在 ~/.kimi-code/config.toml 中配置它们。
概述
providers 表里的 type 字段决定使用哪一种实现。目前支持的类型有:
| 类型 | 协议 | 典型平台 |
|---|---|---|
kimi | OpenAI 兼容(chat completions 风格) | Kimi Code、Moonshot AI 开放平台 |
anthropic | Anthropic Messages | Claude API |
openai | OpenAI Chat Completions | OpenAI 及其兼容服务 |
openai_responses | OpenAI Responses API | OpenAI 较新的 Responses 接口 |
google-genai | Google GenAI | Gemini API |
vertexai | Google GenAI on Vertex | Google Cloud Vertex AI |
所有供应商默认以流式方式与模型交互;thinking、视觉、工具调用等能力按模型名前缀自动匹配,无需在配置里手写。
API 密钥可以写在 api_key 字段,也可以放在 [providers.<name>.env] 子表里。优先级为 api_key > 子表键 > 若均未配置,启动时将报错。Kimi Code CLI 不会从 shell 环境变量自动取后备值——仅在终端里 export KIMI_API_KEY 不会让某个供应商自动获得凭证,需要显式写入 config.toml(详见 配置覆盖:供应商凭证)。api_key 与 oauth 在同一个供应商上互斥,同时设置会在解析模型时报错;OAuth 由内置登录流程自动注入,无需手写。
[providers.<name>.env] 子表可以在 config.toml 内直接提供凭证或端点覆盖,这些值仅对当前供应商生效,不会泄漏到全局 shell 环境:
[providers.my-anthropic.env]
ANTHROPIC_API_KEY = "sk-ant-xxxxx"
ANTHROPIC_BASE_URL = "https://my-proxy.example.com"切换供应商最常见的方式有两种:在 TUI 里用 /model 斜杠命令选择已配置的模型,或者直接编辑 config.toml 调整 [providers.*] 与 [models.*] 表。完整字段说明见 配置文件。
kimi
kimi 通过 OpenAI 兼容协议对接 Moonshot AI。
- 默认
base_url:https://api.moonshot.ai/v1 - 环境变量:
KIMI_API_KEY、KIMI_BASE_URL - 额外能力:支持视频上传
[providers.kimi]
type = "kimi"
base_url = "https://api.moonshot.ai/v1"
api_key = "sk-xxxxx"Kimi Code 托管服务在 OAuth 登录后会自动配置 base_url 与凭证,无需手动填写;详见 OAuth 与凭证注入 与 环境变量。
anthropic
anthropic 用于对接 Claude API。标准 Claude 模型会自动启用视觉、工具调用及 Thinking(如支持)。若使用自定义或尚未覆盖的模型,需在 [models.<alias>] 中显式声明 capabilities。
Thinking 可通过 /model、/settings 或配置控制。
- 默认
base_url:跟随 Anthropic SDK 默认值 - 环境变量:
ANTHROPIC_API_KEY、ANTHROPIC_BASE_URL - 默认
max_tokens:按模型自动设置。如需覆盖(例如测试或为尚未识别的别名指定值),在模型别名上设置max_output_size(详见config-files.md)。已识别别名的覆盖值会被限制在服务端允许的上限内。
[providers.anthropic]
type = "anthropic"
api_key = "sk-ant-xxxxx"
[models."claude-opus-4-7"]
provider = "anthropic"
model = "claude-opus-4-7"
max_context_size = 200000
# 可选:在测试时降低输出预算,或为本 CLI 尚未识别的模型指定一个值。
# 省略则使用上述按模型推导出的默认值。
# max_output_size = 32000openai
openai 对应 OpenAI Chat Completions 协议,也可用来连接任何兼容该协议的第三方服务(自行覆盖 base_url 即可)。thinking、视觉、工具调用等能力按模型名自动推断。
- 默认
base_url:https://api.openai.com/v1 - 环境变量:
OPENAI_API_KEY、OPENAI_BASE_URL
[providers.openai]
type = "openai"
base_url = "https://api.openai.com/v1"
api_key = "sk-xxxxx"openai_responses
openai_responses 对应 OpenAI 较新的 Responses API。它始终以流式方式工作,能力按模型名自动推断。
- 默认
base_url:https://api.openai.com/v1 - 环境变量:
OPENAI_API_KEY、OPENAI_BASE_URL
[providers.openai-responses]
type = "openai_responses"
base_url = "https://api.openai.com/v1"
api_key = "sk-xxxxx"google-genai
google-genai 用于直连 Google Gemini API。thinking、视觉及多模态能力按模型名自动推断。
- 环境变量:
GOOGLE_API_KEY
[providers.gemini]
type = "google-genai"
api_key = "xxxxx"vertexai
vertexai 与 google-genai 共用同一份实现,type = "vertexai" 时切换到 Vertex AI 的访问路径。
认证遵循 Google Cloud 的标准流程:通过 gcloud auth application-default login 或设置 GOOGLE_APPLICATION_CREDENTIALS 指向服务账号 JSON 完成鉴权(这一步是 Google SDK 的通用机制,与 Kimi Code 配置无关)。项目与区域必须写在 [providers.vertexai.env] 子表中——直接 export GOOGLE_CLOUD_PROJECT、export GOOGLE_CLOUD_LOCATION 不会被 CLI 读取。GOOGLE_CLOUD_LOCATION 缺失时,CLI 会尝试从 base_url 自动推断。API 密钥(VERTEXAI_API_KEY 或 GOOGLE_API_KEY)同样写在子表内。
[providers.vertexai]
type = "vertexai"
[providers.vertexai.env]
GOOGLE_CLOUD_PROJECT = "my-gcp-project"
GOOGLE_CLOUD_LOCATION = "us-central1"gcloud auth application-default login # 一次性
kimiOAuth 与凭证注入
部分平台(如 Kimi Code 托管服务)使用 OAuth 而非静态 API 密钥。凭证由内置的 kimi-oauth 工具链在运行时注入,登录流程会自动负责写入与刷新,普通配置文件无需手工配置这部分内容。