# Kimi Code CLI 設定

> **最終確認**：2026-10-13 · 📄 公式ドキュメント準拠（Kimi Code CLI 2.1.1）

## 概要

| 項目 | 内容 |
|---|---|
| 使えるモデル | Claude ✅（`type = "anthropic"`）· GPT ✅ · 中国系モデル ✅（`type = "openai"`）· Gemini ❌（QCode は Gemini 系列を取り扱っていません。Claude、GPT または中国系モデルをご利用ください） |
| プロトコルと Base URL | Anthropic Messages：`https://api.qcode.cc/api` · OpenAI Chat Completions：`https://api.qcode.cc/openai/v1` |
| 設定する場所 | `~/.kimi-code/config.toml` — プロトコルごとに `[providers.<name>]` テーブル、モデルごとに `[models.<alias>]` エントリ |
| 公式ドキュメント | [moonshotai.github.io/kimi-code](https://moonshotai.github.io/kimi-code/en/) |

[Kimi Code CLI](https://github.com/MoonshotAI/kimi-code) は Moonshot AI による、ターミナルで動くコーディングエージェントです。公式ドキュメントはモデルの調達経路を三つ挙げています。Kimi Code マネージドサービスへのワンクリックログイン、そして「connecting Claude with an Anthropic API key, or connecting third-party inference services via the OpenAI-compatible protocol」です。後者の二つは QCode が公開している二つのエンドポイントそのものなので、QCode の API キー 1 本で Claude・GPT・中国系モデルを同じツール内で使えます。作成時点の最新版は 2.1.1（2026-09-24）です。

## どのプロトコルを使うか

`[providers.<name>]` の `type` フィールドが、どのプロトコル実装を使うかを決定します。公式のフィールド一覧には六つの値 — `kimi`、`anthropic`、`openai`、`openai_responses`、`google-genai`、`vertexai` — が並んでいますが、QCode への接続で必要なのは二つだけです。

| 使いたいモデル | `type` | `base_url` |
|---|---|---|
| `claude-sonnet-5`、`claude-opus-5`、`claude-haiku-5-5` | `anthropic` | `https://api.qcode.cc/api` |
| `gpt-6.1-sol`、`gpt-6-sol` と中国系モデル | `openai` | `https://api.qcode.cc/openai/v1` |

🔴 **Claude モデルを OpenAI 互換エンドポイントに向けないでください。** QCode は Claude 系列を Anthropic Messages のエンドポイントでのみ提供しており、`claude-*` を `https://api.qcode.cc/openai/v1` に送ると拒否されます。二つのエンドポイントは互換性がありません。詳しくは[エンドポイントと API パス](/docs/getting-started/endpoints-and-api-paths)を参照してください。

Base URL は上の表どおりに記載します。`/api` または `/openai/v1` で終え、`/v1/messages` や `/chat/completions` は**追記せず**、末尾スラッシュも**付けない**でください。

## インストール

公式は二つの経路を用意しています。インストールスクリプト（Node.js の事前導入が不要なので推奨）と、npm からのグローバル導入です。

```sh
# macOS / Linux
curl -fsSL https://code.kimi.com/kimi-code/install.sh | bash

# Windows（PowerShell）
irm https://code.kimi.com/kimi-code/install.ps1 | iex

# npm — まず node --version で実行環境を確認
npm install -g @moonshot-ai/kimi-code
```

npm 経路は **Node.js 22.19.0 以降が必須**です。スクリプトは最新のリリースを取得し、チェックサムを検証し、`kimi` 実行ファイルを `PATH` に置きます。コマンドが使えることを確認したら、プロジェクトディレクトリに移動して `kimi` を実行し、対話 UI を開いてください。

```sh
kimi --version
cd your-project
kimi
```

## Claude の設定（`type = "anthropic"`）

認証情報は設定ファイルからのみ読み込まれます。公式は「does **not** fall back to shell environment variables automatically: running `export KIMI_API_KEY` in the terminal does not give any provider its key」と明言しています。つまりキーをファイルに書き込むか、`api_key_env` で変数名を指定して CLI にリクエストのたびに読み込ませるかの二択です。

```toml
# ~/.kimi-code/config.toml
default_model = "claude-sonnet-5"

[providers.qcode]
type = "anthropic"
base_url = "https://api.qcode.cc/api"
api_key_env = "QCODE_API_KEY"

[models."claude-sonnet-5"]
provider = "qcode"
model = "claude-sonnet-5"
max_context_size = 262144
```

```sh
export QCODE_API_KEY=cr_your_qcode_key
```

`qcode` は自分で決めた provider 名にすぎません。各 `[models.<alias>]` は必須フィールドの `provider` 経由でそこに戻ります。環境変数を使いたくない場合は `api_key_env` を `api_key = "cr_your_qcode_key"` に置き換えてください。公式は「API key, written in plain text in the config file」と注記しており、`api_key` と `api_key_env` は相互排他なので設定するのは一方だけです。

| フィールド | 所属テーブル | 記入内容 |
|---|---|---|
| `type` | providers | `anthropic`（公式の位置づけは「For connecting to the Claude API」） |
| `base_url` | providers | `https://api.qcode.cc/api`。未指定なら Anthropic SDK の既定に従います |
| `api_key` / `api_key_env` | providers | キーそのもの、またはキーを格納した変数名 |
| `custom_headers` | providers | 省略可。各リクエストに付与する追加 HTTP ヘッダー |
| `provider` | models | 必須。上で定義した provider 名 |
| `model` | models | 必須。サーバーへ送るモデル ID（例 `claude-sonnet-5`） |
| `max_context_size` | models | 必須、1 トークン以上。上の例の `262144` は仮の値です。実際に使うモデルのコンテキスト長を記入 |
| `max_output_size` | models | 省略可。`max_tokens` に対応し、現状は `anthropic` provider だけが読みます |

> **中国本土**：Anthropic 側は `https://asia.qcode.cc/api` と `https://us.qcode.cc/api` でも応答します。キーは同じものを使います — `base_url` のホスト名だけを入れ替えてください。
> **能力フラグ**：標準の Claude モデル名なら vision・tool use・Thinking は自動的に有効になります。公式が網羅していないモデル名は `[models.<alias>]` で `capabilities`（`thinking`、`image_in`、`tool_use` など）を明示的に宣言する必要があり、このタグは追加されるだけで削除されることはありません。

## GPT と中国系モデルの設定（`type = "openai"`）

同じファイルでもう一方のエンドポイントです。`openai` 型は公式に「For connecting to the OpenAI Chat Completions protocol, as well as any third-party service compatible with that protocol (override `base_url` as needed)」と記載されています。既定値は `https://api.openai.com/v1` なので、`base_url` を上書きして初めて OpenAI ではなく QCode への接続になります。

```toml
[providers.qcode-openai]
type = "openai"
base_url = "https://api.qcode.cc/openai/v1"
api_key_env = "QCODE_API_KEY"

[models."gpt-6.1-sol"]
provider = "qcode-openai"
model = "gpt-6.1-sol"
max_context_size = 262144

[models."deepseek-v4.1-flash"]
provider = "qcode-openai"
model = "deepseek-v4.1-flash"
max_context_size = 262144

[models."qwen3.8-max"]
provider = "qcode-openai"
model = "qwen3.8-max"
max_context_size = 262144
```

- **点を含む別名は引用符で囲む。** `gpt-6.1-sol` や `qwen3.8-max` は `[models."qwen3.8-max"]` と書きます。引用符がないと TOML は点を入れ子テーブルの区切りとして解釈します。フィールド名自体は一貫して snake_case（`default_model`、`max_context_size`）です。
- 上の数値は必須フィールドの暫定的な値です。実際のコンテキスト長はモデル側の仕様をご確認ください。課金はトークン単位で、モデル別の単価は [qcode.cc/models](https://qcode.cc/models) に掲載されています。
- 二つの provider は同一の設定ファイルに共存できます。セッション単位の指定は `-m <別名>` です（起動オプションは設定ファイルより優先されますが、有効なのは今回の起動中だけ）。TUI 内では `/model` で切り替えます。`default_model` は `models` で定義済みの別名のいずれかでなければなりません。
- 推論出力：サードパーティの推論モデルでは `reasoning_content` フィールドと `reasoning_effort` の注入を CLI 側が自動的に処理します。ゲートウェイが標準外の名前で推論内容を返す場合は、モデル別名に `reasoning_key` を設定して上書きしてください。
- このエンドポイントで使える ID は[中国系モデル](/docs/usage/cn-models)の一覧を参照してください。`claude-*` はここでは**使えません**。

## 疎通確認

TUI を起動せずにファイルを検証します。

```sh
kimi doctor
kimi doctor config
```

`kimi doctor` は TUI を起動せず両ファイルを変更することもなく `config.toml` と `tui.toml` を検証します（公式の表記：「Validate `config.toml` and `tui.toml` without starting the TUI or modifying either file」）。検査対象がすべて有効またはスキップなら終了コード `0`、欠落または無効が一つでもあれば `1` です。公式が書く検査対象はこの 2 つのファイルまでで、エンドポイントが応答するかを確かめるという記載はありません。

CLI が実際に登録した内容を確認します。

```sh
kimi provider list
```

その後 TUI で `/provider` を入力すると、対話型の provider manager が開き、設定済み provider の閲覧・追加・削除ができます。`kimi provider` はスクリプトや CI 向けの非対話の等価コマンドです。

最後にエンドポイントへ直接リクエストします（キーはお使いのものに置き換えてください）。

```bash
KEY="cr_your_qcode_key"
curl -X POST https://api.qcode.cc/api/v1/messages \
  -H "x-api-key: $KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{"model":"claude-sonnet-5","max_tokens":32,"messages":[{"role":"user","content":"ping"}]}'
```

このページは公式ドキュメントに基づいて作成しており、**上のリクエストを実際の API キーで実行していない**ため、ステータスコードは約束しません。返る JSON のエラー本文を見れば、パス違い・キー違い・モデルがそのエンドポイントに無い、の三種類が区別できます。

> 公式にはサードパーティのカタログを使う近道もあります：`kimi provider catalog add anthropic --api-key sk-ant-... --default-model claude-opus-4-7`。この経路ではプロトコル種別・base URL・モデル一覧をカタログが供給し、`--base-url` でエンドポイントを上書きできます（`--default-model` は `default_model` を `<providerId>/<modelId>` に設定します）。例の中の ID はこの公開カタログ由来のもので QCode のモデルではありません。QCode がこのカタログに載るかは本ページで未確認のため、上の TOML 記載を推奨します。

## 既知の制限とトラブルシューティング

| 症状 | 公式ドキュメントの記述 | 対処 |
|---|---|---|
| 起動時に provider の認証情報が無いとエラー | 優先順位は `api_key` または `api_key_env`（いずれか一方のみ）→ `[providers.<name>.env]` のキー → すべて欠ければ起動失敗 | `anthropic` 型の慣用キー名は `ANTHROPIC_API_KEY` と `ANTHROPIC_BASE_URL` で、`[providers.qcode.env]` に書きます。シェル検索ではなく設定ファイル内のキーです。`/models` 更新時は、宣言した変数が未設定または空の provider だけが失敗として報告され、他の provider には影響しません |
| `export ANTHROPIC_API_KEY=…` が効かないように見える | シェル変数は汎用のフォールバックではありません。シェルを読む明示的な経路は provider の `api_key_env` と `KIMI_MODEL_*` の二つだけです | `api_key_env` を使ってください。`KIMI_MODEL_PROVIDER_TYPE` は `kimi`、`anthropic`、`openai` を受け付け、`KIMI_MODEL_NAME` を設定するとメモリ上に一時的な provider が合成され、再起動で消えます |
| ファイルを編集しても反映されない | 起動オプションは設定ファイルより優先され、今回のセッションにのみ適用されます。設定ファイルは起動時に読まれます | `kimi` を再起動するか、`/reload` を実行して最新の `config.toml` を適用してください |
| 点を含む別名を引用符なしで書くと設定エラー、またはエイリアスが見つからない | `default_model` は `models` で定義済みの別名である必要があり、点を含む別名を引用符なしで書くと入れ子テーブルになります | 別名を引用符で囲ってください：`[models."qwen3.8-max"]` |
| 404 やパスエラー | サードパーティ製ゲートウェイでのパス結合の詳細は公式に記載がありません | `base_url` は `/api`（Claude）または `/openai/v1`（GPT・中国系）で終え、末尾スラッシュと API パスの手書き追記は不要です |
| `openai` provider で Claude が拒否される | — | QCode はこのエンドポイントで Claude 系列を提供していません。`type = "anthropic"` に戻してください |
| プロジェクトごとに別エンドポイントが必要 | 現状は単一のユーザーレベル設定ファイルのみで、プロジェクトレベルの設定機構はありません。どこに置いてもファイル名は `config.toml` です | 起動前に `KIMI_CODE_HOME` をプロジェクト別のデータディレクトリへ向けてください |

ツール自体の話以外に、次の点もご注意ください。

- **Gemini**：Kimi Code には Google Gemini API へ直接接続する `google-genai` 型がありますが、QCode は Gemini 系列を取り扱っていません。Claude、GPT または中国系モデルをご利用ください。
- **luna 系列**：QCode は `gpt-6-luna` と `gpt-5.6-luna` を取り扱っていません。`gpt-6.1-sol`、`gpt-6-sol`、`gpt-5.6-terra` など他の GPT モデルをご利用ください。
- `max_output_size` は `anthropic` provider だけが読み込むため、`openai` 別名で出力上限を設定しても効果がありません。
- 用途に合ったモデル選びは[モデル選択](/docs/usage/model-selection)を、このツールの範囲外で失敗する場合は[トラブルシューティング](/docs/reference/troubleshooting)の手順に沿って確認してください。

## 関連ドキュメント

- [エンドポイントと API パス](/docs/getting-started/endpoints-and-api-paths) — プロトコルとモデル系列の対応表
- [ツール互換性](/docs/ide/tool-compatibility) — どのツールがどのエンドポイントを使うか
- [中国系モデル](/docs/usage/cn-models) — OpenAI 側の ID と経路
- [モデル選択](/docs/usage/model-selection) — 用途別の選び方
- [OpenCode 設定](/docs/ide/opencode) — 同じ二つのエンドポイントを使う別のターミナルエージェント