Skip to content

环境变量

Kimi Code CLI 通过环境变量控制少数运行时行为——迁移数据目录、关闭遥测、不改配置文件临时切换模型。

重要:API 密钥不在这里配置

KIMI_API_KEYANTHROPIC_API_KEYOPENAI_API_KEY 等密钥变量不会从 shell 环境变量自动读取。在终端里 export KIMI_API_KEY=xxx 不会让任何供应商获得密钥——必须写在 config.toml[providers.<name>] 段或 [providers.<name>.env] 子表里。

唯一的例外是 KIMI_MODEL_* 系列,它是一个显式通道,确实会从 shell 读取凭证——详见用环境变量定义模型

背景说明见配置覆盖:供应商凭证

核心路径

KIMI_CODE_HOME

覆盖数据根目录,默认 ~/.kimi-code。设置后,配置文件、会话、日志、OAuth 凭据等全部数据都落到新路径下:

sh
export KIMI_CODE_HOME="/path/to/custom/kimi-code"

确保目录可写。多个 kimi 实例共用同一个 KIMI_CODE_HOME 会共享配置和凭证。

数据目录的完整结构见数据路径

KIMI_DISABLE_TELEMETRY

设为 1 关闭匿名遥测上报(也接受 true/yes/y,不区分大小写):

sh
export KIMI_DISABLE_TELEMETRY=1

KIMI_MODEL_* 系列

不修改 config.toml 临时切换模型——设置 KIMI_MODEL_NAME 后,CLI 在内存里合成一个临时供应商,重启后失效。详见用环境变量定义模型

供应商凭证键(写在 config.toml 里)

下面这些键名不是直接从 shell 读取的——它们是写在 config.toml[providers.<name>.env] 子表里、作为 api_key / base_url 备用来源的键名。CLI 只从配置文件读取,不从 process.env 读取。

这样设计是为了让你保留熟悉的键名写法,同时把密钥放在配置文件里统一管理:

toml
[providers.kimi.env]
KIMI_API_KEY = "sk-xxx"
KIMI_BASE_URL = "https://api.moonshot.ai/v1"

各供应商对应的键名:

键名适用供应商默认值
KIMI_API_KEYKimi / Moonshot
KIMI_BASE_URLKimi / Moonshothttps://api.moonshot.ai/v1
ANTHROPIC_API_KEYAnthropic
ANTHROPIC_BASE_URLAnthropicAnthropic SDK 默认值
OPENAI_API_KEYOpenAI(openaiopenai_responses
OPENAI_BASE_URLOpenAI(openaiopenai_responseshttps://api.openai.com/v1
GOOGLE_API_KEYGoogle GenAI、Vertex AI
VERTEXAI_API_KEYVertex AI
GOOGLE_CLOUD_PROJECTVertex AI
GOOGLE_CLOUD_LOCATIONVertex AI

WARNING

GOOGLE_APPLICATION_CREDENTIALS(服务账号 JSON 路径)是唯一走系统环境变量的例外——它由 Google SDK 自身通过 ADC 流程读取,CLI 不参与。其他所有键名都必须写在 [providers.<name>.env] 子表里。

供应商类型与字段的完整说明见平台与模型

OAuth 与托管端点

这组变量用于将 OAuth 认证和托管服务端点指向自建或测试环境,日常使用不需要设置。

环境变量用途默认值
KIMI_CODE_OAUTH_HOSTOAuth 认证 host,优先级最高未设时回退到 KIMI_OAUTH_HOST
KIMI_OAUTH_HOSTOAuth 认证 host,作为上一个的 fallback未设时使用 https://auth.kimi.com
KIMI_CODE_BASE_URLOAuth 登录后的托管 API base URLhttps://api.kimi.com/coding/v1

WARNING

KIMI_CODE_BASE_URL(OAuth 托管服务,指向 kimi.com)和 KIMI_BASE_URL(API 密钥直连,指向 moonshot.ai)是两个不同的变量,请按场景区分。

用环境变量定义模型(KIMI_MODEL_*

测试时想换个模型但不想动 config.toml?设置 KIMI_MODEL_NAME 后,CLI 会从 KIMI_MODEL_* 系列变量在内存里合成出一个临时供应商和模型别名,不写回配置文件。优先级高于 config.tomldefault_model,但低于启动时 -m <alias> 选项。

sh
export KIMI_MODEL_NAME="kimi-for-coding"
export KIMI_MODEL_API_KEY="YOUR_API_KEY"
export KIMI_MODEL_BASE_URL="https://api.example.com/v1"
export KIMI_MODEL_MAX_CONTEXT_SIZE="262144"
export KIMI_MODEL_CAPABILITIES="image_in,thinking"
kimi

完整变量列表:

环境变量必填用途默认值
KIMI_MODEL_NAME是(同时是启用开关)发送给 API 的模型 ID
KIMI_MODEL_API_KEYAPI 密钥
KIMI_MODEL_PROVIDER_TYPE供应商类型:kimianthropicopenaikimi
KIMI_MODEL_BASE_URLAPI 基础 URL各类型有各自默认值
KIMI_MODEL_MAX_CONTEXT_SIZE最大上下文长度(token 数)262144(256K)
KIMI_MODEL_CAPABILITIES逗号分隔的能力标签,与自动探测的能力取并集image_in,thinking
KIMI_MODEL_DISPLAY_NAME/model 中显示的名称回退到 KIMI_MODEL_NAME
KIMI_MODEL_MAX_OUTPUT_SIZE单次输出上限(仅 anthropic模型默认值
KIMI_MODEL_REASONING_KEY推理字段名覆盖(仅 openai自动探测
KIMI_MODEL_DEFAULT_THINKING新会话的默认 Thinking 开关跟随全局默认
KIMI_MODEL_THINKING_MODEThinking 触发策略:auto/on/off
KIMI_MODEL_THINKING_EFFORTThinking 强度:low/medium/high/xhigh/max
KIMI_MODEL_ADAPTIVE_THINKING强制开启或关闭 adaptive thinking(仅 anthropic按模型名推断

设置了 KIMI_MODEL_NAME 但缺少必填变量时,启动会立即失败并给出明确提示。

运行时开关

控制遥测、后台任务、plugin marketplace 等子系统行为的开关变量:

环境变量用途合法值
KIMI_DISABLE_TELEMETRY关闭匿名遥测上报1trueyesy(不区分大小写)
KIMI_CODE_BACKGROUND_KEEP_ALIVE_ON_EXIT会话关闭时是否保留后台任务,优先级高于 config.toml真值:1/true/yes/on;假值:0/false/no/off
KIMI_CODE_PLUGIN_MARKETPLACE_URL替换 /plugins 加载的 marketplace JSONURL 或本地路径
KIMI_CODE_EXPERIMENTAL_FLAG在当前进程启用所有实验功能,优先级高于 config.toml[experimental]1trueyeson
KIMI_CODE_EXPERIMENTAL_GOAL_COMMAND覆盖当前进程的 [experimental].goal_command真值或假值
KIMI_CODE_EXPERIMENTAL_MICRO_COMPACTION覆盖当前进程的 [experimental].micro_compaction真值或假值
KIMI_CODE_EXPERIMENTAL_BACKGROUND_ASK覆盖当前进程的 [experimental].background_ask真值或假值
KIMI_SHELL_PATHWindows 上覆盖 Git Bash 路径(自动探测失败时使用)绝对路径
KIMI_MODEL_MAX_COMPLETION_TOKENS单步 LLM 请求的 max_completion_tokens 硬上限,仅对 kimi 供应商生效正整数;0 或负数禁用 clamp
KIMI_MODEL_TEMPERATURE每次请求的采样温度,仅对 kimi 供应商生效(全局生效,不依赖 KIMI_MODEL_NAME数字,如 0.3
KIMI_MODEL_TOP_P每次请求的核采样 top_p,仅对 kimi 供应商生效(全局生效)数字,如 0.95
KIMI_MODEL_THINKING_KEEPMoonshot 保留思考透传(thinking.keep),仅对 kimi 供应商生效,且仅在 Thinking 开启时注入API 接受的值,如 all
KIMI_CODE_NO_AUTO_UPDATE完全禁用更新预检——不检查、不后台安装、不提示。同时兼容旧名 KIMI_CLI_NO_AUTO_UPDATE真值:1/true/yes/on
KIMI_DISABLE_CRON禁用定时任务工具(CronCreate 拒绝新计划,已有任务不触发)1 表示禁用

诊断日志

这组变量控制日志级别和文件滚动,进程启动时读取一次:

环境变量用途默认值
KIMI_LOG_LEVEL日志级别:offerrorwarninfodebuginfo
KIMI_LOG_GLOBAL_MAX_BYTES全局日志文件单个最大字节数6291456(6 MB)
KIMI_LOG_GLOBAL_FILES全局日志文件保留份数5
KIMI_LOG_SESSION_MAX_BYTES会话级日志文件单个最大字节数5242880(5 MB)
KIMI_LOG_SESSION_FILES会话级日志文件保留份数3

系统环境变量

CLI 还会读取一些标准系统变量来检测运行环境,不会修改它们:

  • HOME:解析默认数据路径
  • VISUALEDITOR:外部编辑器命令(VISUAL 优先)
  • PATH:定位 rggit 等依赖
  • NO_COLORFORCE_COLOR:控制颜色输出(遵循 no-color.org 约定)
  • CI:非空且非 "0" 时关闭主题检测,回退深色主题
  • TERM_PROGRAMTERMTMUX:检测终端特性和通知支持
  • DISPLAYWAYLAND_DISPLAYXDG_SESSION_TYPE:检测 Linux 图形会话(用于剪贴板和图片功能)
  • WSL_DISTRO_NAMEWSLENV:检测 WSL,用于剪贴板 PowerShell 桥接
  • LOCALAPPDATA:Windows 上探测 Git Bash 安装路径

下一步