# 平台与模型 Kimi Code CLI 支持同时接入多家模型供应商服务,模型在供应商之上声明自己的名称、上下文长度和能力。本页介绍如何在 `config.toml` 里配置各种供应商。 ## 支持的供应商类型 `providers` 表里的 `type` 字段决定使用哪种协议实现: | 类型 | 协议 | 典型用途 | | --- | --- | --- | | [`kimi`](#kimi) | OpenAI 兼容 | Kimi Code 托管服务、Kimi Platform API 密钥 | | [`anthropic`](#anthropic) | Anthropic Messages | Claude 系列模型 | | [`openai`](#openai) | OpenAI Chat Completions | OpenAI 及兼容服务、DeepSeek、Qwen 等 | | [`openai_responses`](#openai_responses) | OpenAI Responses API | OpenAI 较新的 Responses 接口 | | [`google-genai`](#google-genai) | Google GenAI | Gemini API | | [`vertexai`](#vertexai) | Google GenAI on Vertex | Google Cloud Vertex AI | 所有供应商默认以流式方式与模型交互。thinking、视觉、工具调用等能力按模型名前缀自动匹配,通常不需要手动声明。 **凭证优先级**:`api_key` 直接字段 > `[providers..env]` 子表键 > 两者都缺时启动报错。CLI 不会从 shell 环境变量自动取凭证,详见[配置覆盖:供应商凭证](./overrides.md#供应商凭证)。 ## `/provider` — 交互式供应商管理 不想手动编辑 TOML?在 TUI 里输入 `/provider` 打开**供应商管理器**,可以以交互方式添加或删除供应商。 ![/provider 供应商管理器](../../media/provider-manager.jpg) 管理器按来源把供应商显示为一行行条目。操作方式: - ↑/↓ 移动光标,←/→ 翻页 - `d` 键删除当前供应商(有 `[y/N]` 确认) - 在 `[ Add New Platform ]` 行按 Enter 添加新供应商 添加时有两条路径: - **Known third-party provider**:从 [models.dev](https://models.dev/) 拉取模型目录,选供应商 → 输入 API 密钥 → 选默认模型。目录未声明协议类型的供应商(如 xai、openrouter 这类厂商专用 SDK)会按 OpenAI 兼容协议导入并显示 "guessed" 提示;目录没有可用端点时会先弹出 base URL 输入框;Amazon Bedrock / Cohere 等专有协议和无法识别的显式协议会被拒绝导入。已下线(deprecated)和 alpha 状态的模型不会出现在导入列表中。如果公共目录不可达,CLI 会回退到内置目录快照,离线或网络受限环境下也能完成导入 - **Custom registry (api.json)**:粘贴自定义 registry 地址和 Bearer token,CLI 自动创建 `providers` / `models` 条目。后续启动时,同一个 registry 地址下的供应商会一起刷新,因此上游新增、删除供应商以及模型元数据变化都会同步。 ::: warning 通过 `/login` 登录的 Kimi Code OAuth 托管账号不会在 `/provider` 里显示,请用 `/login` 和 `/logout` 管理。 ::: 非交互环境下也可以用 shell 命令完成同样操作:[`kimi provider`](../reference/kimi-command.md#kimi-provider)。 ## `kimi` 用于对接 Moonshot AI 的 OpenAI 兼容接口,包括 Kimi Code 托管服务和 Kimi Platform API 密钥。 - 默认 `base_url`:`https://api.moonshot.ai/v1` - 凭证键名:`KIMI_API_KEY`、`KIMI_BASE_URL` - 额外能力:支持视频上传 ```toml [providers.kimi] type = "kimi" base_url = "https://api.moonshot.ai/v1" api_key = "sk-xxxxx" ``` > 使用 Kimi Code 托管服务时,`/login` 登录后会自动配置 `base_url` 和凭证,无需手动填写。 ## `anthropic` 用于对接 Claude API。标准 Claude 模型自动启用视觉、工具调用及 Thinking(如支持);自定义或未覆盖的模型需在 `[models.]` 里显式声明 `capabilities`。 - 默认 `base_url`:跟随 Anthropic SDK 默认值 - 凭证键名:`ANTHROPIC_API_KEY`、`ANTHROPIC_BASE_URL` - 默认 `max_tokens`:按模型自动推断。如需覆盖,在模型别名上设 `max_output_size` ```toml [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 # max_output_size = 32000 # 可选,省略时使用模型推断的默认值 ``` ## `openai` 用于对接 OpenAI Chat Completions 协议,也可连接任何兼容该协议的第三方服务(覆盖 `base_url` 即可)。 第三方推理模型(DeepSeek、Qwen、One API 等)开箱即用:CLI 自动处理 `reasoning_content` 字段和 `reasoning_effort` 注入。如果你的网关用非标准字段名返回推理内容,在模型别名上设 `reasoning_key` 覆盖。 - 默认 `base_url`:`https://api.openai.com/v1` - 凭证键名:`OPENAI_API_KEY`、`OPENAI_BASE_URL` ```toml [providers.openai] type = "openai" base_url = "https://api.openai.com/v1" api_key = "sk-xxxxx" ``` ## `openai_responses` 对应 OpenAI 较新的 Responses API,始终以流式方式工作。配置方式与 `openai` 相同。 - 默认 `base_url`:`https://api.openai.com/v1` - 凭证键名:`OPENAI_API_KEY`、`OPENAI_BASE_URL` ```toml [providers.openai-responses] type = "openai_responses" base_url = "https://api.openai.com/v1" api_key = "sk-xxxxx" ``` ## `google-genai` 用于直连 Google Gemini API。thinking、视觉及多模态能力按模型名自动识别。 - 凭证键名:`GOOGLE_API_KEY` ```toml [providers.gemini] type = "google-genai" api_key = "xxxxx" ``` 如需经由兼容 Gemini 协议的代理/网关访问,可设置 `base_url`(或 `GOOGLE_GEMINI_BASE_URL` 环境变量);不填时使用 SDK 默认地址 `https://generativelanguage.googleapis.com`。 > 只填**主机根地址**。Google GenAI SDK 会自行追加 API 版本与路径(如 `/v1beta/models/:generateContent`),所以结尾带 `/v1beta` 会导致路径重复成 `/v1beta/v1beta/…`。 ```toml [providers.gemini] type = "google-genai" api_key = "xxxxx" base_url = "https://your-gateway.example" ``` ## `vertexai` 与 `google-genai` 共用实现,`type = "vertexai"` 时切换到 Vertex AI 访问路径。 认证走 Google Cloud 标准 ADC 流程(`gcloud auth application-default login` 或 `GOOGLE_APPLICATION_CREDENTIALS` 服务账号 JSON),这部分与 Kimi Code 无关。**项目 ID 和区域必须写在 `[providers.vertexai.env]` 子表里**。直接在 shell 里 `export GOOGLE_CLOUD_PROJECT` 不会被 CLI 读取。 ```toml [providers.vertexai] type = "vertexai" [providers.vertexai.env] GOOGLE_CLOUD_PROJECT = "my-gcp-project" GOOGLE_CLOUD_LOCATION = "us-central1" ``` ```sh gcloud auth application-default login # 一次性完成认证 kimi ``` 如需让 Vertex 请求走自定义(如代理)端点,可设置 `base_url`(或 `GOOGLE_VERTEX_BASE_URL` 环境变量);不填时使用 SDK 默认的区域化 `*-aiplatform.googleapis.com` 地址。与 `google-genai` 一样,只填主机根地址。SDK 会自行追加 `/v1beta1/publishers/google/models/…`。 ## 下一步 - [配置文件](./config-files.md) — `providers` 和 `models` 表的完整字段参考 - [配置覆盖](./overrides.md) — 供应商凭证的解析优先级规则 - [环境变量](./env-vars.md) — 各供应商对应的凭证键名列表