Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
87 changes: 87 additions & 0 deletions config.mts
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
import { defineAdditionalConfig } from "vitepress";

export default defineAdditionalConfig({
lang: 'zh-Hans',
description: 'Kimi Code 文档',
themeConfig: {
sidebar: [
{
text: 'Kimi Code',
items: [
{ text: '产品概览', link: '/' },
{ text: '最新动态', link: '/kimi-code/whats-new' },
{ text: '社区倡议', link: '/kimi-code/community-guidelines' },
{ text: '常见问题', link: '/kimi-code/faq' },
{ text: '错误参考', link: '/kimi-code/error-reference' },
],
},
{
text: 'Kimi Code CLI',
items: [
{ text: '📢 版本升级', link: '/kimi-code-cli/cli-migration' },
{
text: '指南',
collapsed: false,
items: [
{ text: '开始使用', link: '/kimi-code-cli/getting-started' },
{ text: '交互与输入', link: '/kimi-code-cli/interaction' },
{ text: '会话与上下文', link: '/kimi-code-cli/sessions' },
{ text: '常见使用案例', link: '/kimi-code-cli/use-cases' },
],
},
{
text: '配置',
collapsed: false,
items: [
{ text: '配置文件', link: '/kimi-code-cli/configuration/configuration-files' },
{ text: '配置覆盖', link: '/kimi-code-cli/configuration/overrides-and-precedence' },
{ text: '环境变量', link: '/kimi-code-cli/configuration/environment-variables' },
{ text: '平台与模型', link: '/kimi-code-cli/configuration/providers-and-models' },
{ text: '数据路径', link: '/kimi-code-cli/configuration/data-locations' },
],
},
{
text: '定制化',
collapsed: false,
items: [
{ text: 'Agent 与子 Agent', link: '/kimi-code-cli/customization/sub-agents' },
{ text: 'Hooks', link: '/kimi-code-cli/customization/hooks' },
{ text: 'MCP', link: '/kimi-code-cli/customization/mcp' },
{ text: 'Plugins', link: '/kimi-code-cli/customization/plugins' },
{ text: '官方插件', link: '/kimi-code-cli/customization/datasource' },
{ text: 'Agent Skills', link: '/kimi-code-cli/customization/skills' },
],
},
{
text: '参考手册',
collapsed: true,
items: [
{ text: 'kimi 命令', link: '/kimi-code-cli/reference/kimi-command' },
{ text: '斜杠命令', link: '/kimi-code-cli/reference/slash-commands' },
{ text: '内置工具', link: '/kimi-code-cli/reference/tools' },
{ text: '键盘快捷键', link: '/kimi-code-cli/reference/keyboard-shortcuts' },
],
},
],
},
{
text: 'Kimi Code for VS Code',
items: [
{ text: '快速开始', link: '/kimi-code-for-vscode/getting-started' },
{ text: '核心操作', link: '/kimi-code-for-vscode/core-operations' },
{ text: '配置', link: '/kimi-code-for-vscode/configuration' },
{ text: '定制化', link: '/kimi-code-for-vscode/customization' },
],
},
{
text: '在更多第三方工具中使用',
items: [
{ text: 'JetBrains', link: '/third-party-tools/jetbrains' },
{ text: 'Zed', link: '/third-party-tools/zed' },
{ text: 'Zsh', link: '/third-party-tools/zsh' },
{ text: '在其他 coding agent 中使用', link: '/third-party-tools/other-coding-agents' },
],
},
],
},
});
162 changes: 162 additions & 0 deletions zh/kimi-code-cli/configuration/environment-variables.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,162 @@
# 环境变量

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

::: warning 重要:API 密钥不在这里配置
`KIMI_API_KEY`、`ANTHROPIC_API_KEY`、`OPENAI_API_KEY` 等密钥变量**不会**从 shell 环境变量自动读取。在终端里 `export KIMI_API_KEY=xxx` 不会让任何供应商获得密钥——必须写在 `config.toml` 的 `[providers.<name>]` 段或 `[providers.<name>.env]` 子表里。

唯一的例外是 `KIMI_MODEL_*` 系列,它是一个显式通道,*确实*会从 shell 读取凭证——详见[用环境变量定义模型](#用环境变量定义模型-kimi-model)。

背景说明见[配置覆盖:供应商凭证](./overrides-and-precedence.md#供应商凭证)。
:::

## 核心路径

### `KIMI_CODE_HOME`

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

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

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

数据目录的完整结构见[数据路径](./data-locations.md)。

### `KIMI_DISABLE_TELEMETRY`

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

```sh
export KIMI_DISABLE_TELEMETRY=1
```

### `KIMI_MODEL_*` 系列

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

## 供应商凭证键(写在 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_KEY` | Kimi / Moonshot | 无 |
| `KIMI_BASE_URL` | Kimi / Moonshot | `https://api.moonshot.ai/v1` |
| `ANTHROPIC_API_KEY` | Anthropic | 无 |
| `ANTHROPIC_BASE_URL` | Anthropic | Anthropic SDK 默认值 |
| `OPENAI_API_KEY` | OpenAI(`openai` 和 `openai_responses`) | 无 |
| `OPENAI_BASE_URL` | OpenAI(`openai` 和 `openai_responses`) | `https://api.openai.com/v1` |
| `GOOGLE_API_KEY` | Google GenAI、Vertex AI | 无 |
| `VERTEXAI_API_KEY` | Vertex AI | 无 |
| `GOOGLE_CLOUD_PROJECT` | Vertex AI | 无 |
| `GOOGLE_CLOUD_LOCATION` | Vertex AI | 无 |

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

供应商类型与字段的完整说明见[平台与模型](./providers-and-models.md)。

## OAuth 与托管端点

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

| 环境变量 | 用途 | 默认值 |
| --- | --- | --- |
| `KIMI_CODE_OAUTH_HOST` | OAuth 认证 host,优先级最高 | 未设时回退到 `KIMI_OAUTH_HOST` |
| `KIMI_OAUTH_HOST` | OAuth 认证 host,作为上一个的 fallback | 未设时使用 `https://auth.kimi.com` |
| `KIMI_CODE_BASE_URL` | OAuth 登录后的托管 API base URL | `https://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.toml` 的 `default_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_KEY` | 是 | API 密钥 | — |
| `KIMI_MODEL_PROVIDER_TYPE` | 否 | 供应商类型:`kimi`、`anthropic`、`openai` | `kimi` |
| `KIMI_MODEL_BASE_URL` | 否 | API 基础 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_MODE` | 否 | Thinking 触发策略:`auto`/`on`/`off` | — |
| `KIMI_MODEL_THINKING_EFFORT` | 否 | Thinking 强度:`low`/`medium`/`high`/`xhigh`/`max` | — |
| `KIMI_MODEL_ADAPTIVE_THINKING` | 否 | 强制开启或关闭 adaptive thinking(仅 `anthropic`) | 按模型名推断 |

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

## 运行时开关

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

| 环境变量 | 用途 | 合法值 |
| --- | --- | --- |
| `KIMI_DISABLE_TELEMETRY` | 关闭匿名遥测上报 | `1`、`true`、`yes`、`y`(不区分大小写) |
| `KIMI_CODE_BACKGROUND_KEEP_ALIVE_ON_EXIT` | 会话关闭时是否保留后台任务,优先级高于 `config.toml` | 真值:`1`/`true`/`yes`/`on`;假值:`0`/`false`/`no`/`off` |
| `KIMI_CODE_PLUGIN_MARKETPLACE_URL` | 替换 `/plugins` 加载的 marketplace JSON | URL 或本地路径 |
| `KIMI_SHELL_PATH` | Windows 上覆盖 Git Bash 路径(自动探测失败时使用) | 绝对路径 |
| `KIMI_MODEL_MAX_COMPLETION_TOKENS` | 单步 LLM 请求的 `max_completion_tokens` 硬上限,仅对 `kimi` 供应商生效 | 正整数;`0` 或负数禁用 clamp |
| `KIMI_DISABLE_CRON` | 禁用定时任务工具(`CronCreate` 拒绝新计划,已有任务不触发) | `1` 表示禁用 |

## 诊断日志

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

| 环境变量 | 用途 | 默认值 |
| --- | --- | --- |
| `KIMI_LOG_LEVEL` | 日志级别:`off`、`error`、`warn`、`info`、`debug` | `info` |
| `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`:解析默认数据路径
- `VISUAL`、`EDITOR`:外部编辑器命令(`VISUAL` 优先)
- `PATH`:定位 `rg`、`git` 等依赖
- `NO_COLOR`、`FORCE_COLOR`:控制颜色输出(遵循 [no-color.org](https://no-color.org) 约定)
- `CI`:非空且非 `"0"` 时关闭主题检测,回退深色主题
- `TERM_PROGRAM`、`TERM`、`TMUX`:检测终端特性和通知支持
- `DISPLAY`、`WAYLAND_DISPLAY`、`XDG_SESSION_TYPE`:检测 Linux 图形会话(用于剪贴板和图片功能)
- `WSL_DISTRO_NAME`、`WSLENV`:检测 WSL,用于剪贴板 PowerShell 桥接
- `LOCALAPPDATA`:Windows 上探测 Git Bash 安装路径

## 下一步

- [配置覆盖](./overrides-and-precedence.md) — 环境变量、CLI 选项、配置文件的优先级关系
- [数据路径](./data-locations.md) — `KIMI_CODE_HOME` 影响的完整目录结构
- [平台与模型](./providers-and-models.md) — 各供应商类型的完整接入示例
93 changes: 93 additions & 0 deletions zh/kimi-code-cli/customization/datasource.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
# 官方插件

Kimi Datasource 是 Kimi Code 官方数据插件,通过自然语言直接查询金融行情、宏观经济、企业工商和学术文献,无需手动调用接口或申请数据账号。

**前提**:需通过 `/login` 以 Kimi Code 账号完成 OAuth 登录,插件依赖本地凭据访问数据服务。

## 安装

1. 在 Kimi Code CLI 内运行 `/plugin`
2. 在弹出的菜单中选择 **Marketplace**
3. 找到 **Kimi Datasource**,选择安装
4. 安装完成后运行 `/new` 开启新会话,再次运行 `/plugin` 确认插件状态为已安装

## 数据能力

插件涵盖以下几类数据,Agent 会根据问题自动选择,无需手动指定:

**A 股 / 港股行情与财务**

实时价格、涨跌幅、成交量、换手率;技术指标(MACD、KDJ、RSI、BOLL、MA 等);历史财务数据(营收、净利润、ROE、资产负债率等);自选股管理与持仓盈亏计算。

> A 股股票代码需带市场后缀,如 `600519.SH`(上交所)、`002594.SZ`(深交所)、`0700.HK`(港股)。

**全球市场行情**

美股、ETF、全球主要指数的实时与历史价格数据。

**宏观经济数据**

世界银行开放数据:各国 GDP、CPI、贸易额、就业率等宏观指标,支持跨国、跨年度对比。

**企业工商信息**

大陆企业的工商注册、主要股东、近期融资、司法纠纷与失信记录,适合合同签署前的背景调研。

**学术文献**

按关键词检索近期论文,返回标题、作者、核心结论,支持跨数据库查询。

## 使用示例

直接描述需求即可,不需要指定"用哪个数据源"。

**查询实时行情**

```
比亚迪今天收盘涨了还是跌了,换手率和成交量怎么样?
```

**技术指标分析**

```
帮我看一下宁德时代的 MACD 和 KDJ,现在多空信号怎么样?
```

**财务对比**

```
帮我把宁德时代和比亚迪 2024 年的资产负债率、净利润率、ROE 拉出来,
做个对比表,判断哪家财务结构更稳健。
```

**宏观经济研究**

```
拉一下中美日三国过去 10 年的 GDP 增速和 CPI 数据,
做成年度对比表,标出关键政策节点的影响。
```

## 案例:数据查询与本地分析联动

Kimi Datasource 与 Kimi Code CLI 的工具链结合后,可以在一次会话里完成"查数据 → 本地分析 → 写文件"的完整流程:

```
分析新能源板块三只头部股(宁德时代 300750.SZ、比亚迪 002594.SZ、
隆基绿能 601012.SH)过去三年的财务表现:

1. 分别拉取三家 2022–2024 年的营收、净利润、ROE,各保存到 /tmp/<股票名>.csv
2. 读取三个文件,用 Python 计算三年复合增长率,生成对比表
3. 用 matplotlib 画折线图,保存到 /tmp/comparison.png
4. 结合数据写 200 字结论,写入 /tmp/report.md,打印文件路径
```

## 注意事项

- 数据查询按次计费,消耗 Kimi Code 账号额度
- 插件为只读查询,不提供任何写入或交易功能
- AI 输出内容仅供参考,不构成任何商业决策建议

## 下一步

- [Plugins](./plugins.md) — Plugin 系统的完整安装与开发文档
- [MCP](./mcp.md) — kimi-datasource 基于 MCP 协议运行,了解底层机制
Loading
Loading