1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Kimi Code大全 — 公式ドキュメントから整理した、コマンド・オプション・設定の完全リファレンス(2026年9月版)

1
Last updated at Posted at 2026-09-10

kimi-code-cover.png

はじめに

「Kimi Codeを試してみたいが、Claude Codeと何が違うのか」「kimi-clikimi-codeとKimi K2.7 Codeは同じものなのか」「設定ファイルにどこまで書けるのか」。Kimi Codeは開発が非常に速く、日本語の情報は断片的で、名前も紛らわしいため、こうした疑問を持ったまま止まってしまう方が多いはずです。

この記事は、Kimi Codeの公式ドキュメント(kimi.com/code/docs)を全ページ読み込み、起動オプション、サブコマンド、スラッシュコマンド、ショートカット、組み込みツール、設定ファイルの全キー、環境変数、Skills・Agents・Hooks・Pluginsの書式まで、一枚にまとめたリファレンスです。Claude CodeやCodexを使ったことがある方が、対応関係を見ながら短時間でキャッチアップできることを目指しています。

長い記事なので、目次から必要な章だけ読む使い方を想定しています。

目次

  1. 名称の整理と前提知識
  2. Kimi Codeというサービスの全体像(契約・認証・クォータ)
  3. 利用できるモデルとプランの対応
  4. インストール・ログイン・アップデート
  5. kimi コマンドの起動オプション全一覧
  6. サブコマンド全一覧
  7. スラッシュコマンド全一覧
  8. キーボードショートカット全一覧
  9. 権限モードと各種モード(Plan / Shell / Goal / Swarm)
  10. 組み込みツール全一覧
  11. 設定ファイル config.toml / tui.toml / local.toml の全キー
  12. プロバイダ設定(他社モデルを使う)
  13. 環境変数全一覧
  14. カスタマイズ(AGENTS.md / SYSTEM.md / Skills / Agents / Hooks / Plugins / MCP / Themes)
  15. IDE連携・Web UI・Remote Control・Server API
  16. 他のコーディングエージェントからKimiのモデルを使う
  17. 運用上の注意点とトレードオフ
  18. まとめと参考リンク

1. 名称の整理と前提知識

最初につまずくのが名称です。以下の4つは別物です。

名称 正体 備考
Kimi Code Kimiメンバーシップに含まれる「コーディング向けサービス」の総称 CLI、VS Code拡張、API Keyでの外部ツール利用を含む
Kimi Code CLI ターミナルで動くエージェント本体。GitHubで MoonshotAI/kimi-code としてMITライセンス公開 TypeScript製、単一バイナリ配布
kimi-cli 旧世代のCLI(Python/uv製)。Kimi Code CLIへ段階的に移行中 kimi migrate で設定・セッションを移行できます
Kimi K2.7 Code / Kimi K3 モデルの名前 ツールではありません

関係性はAnthropicの「Claude(モデル)とClaude Code(ツール)」に近いです。また、公式ドキュメントは kimi.com/code/docs と moonshotai.github.io/kimi-code の2箇所にあり、内容はほぼ同じです。本記事は前者を基準にしています。

Kimi Code CLIには3つの利用形態があります。

  • 対話型CLI(kimi): ターミナル上のTUI
  • ブラウザUI(kimi web): ローカルにREST/WebSocketサーバーを立ててブラウザから操作
  • ACP統合(kimi acp): ZedやJetBrainsなどAgent Client Protocol対応エディタから駆動

2. Kimi Codeというサービスの全体像

契約形態

Kimi Codeは単独プランではなく、Kimiメンバーシップ(Moderato 19米ドル/月、Allegretto 39米ドル/月、Allegro 99米ドル/月、Vivace 199米ドル/月)の特典として提供されます。契約者は公式クライアント(CLI、VS Code)をOAuthで使うほか、API Keyを発行してClaude Code、OpenCode、Codex、Roo Code、OpenClaw、Hermes Agentなどの外部ツールからKimiのモデルを呼び出せます。

公式ドキュメントが謳うスペックは以下です。

  • 出力速度: HighSpeedでは最大260 tokens/s(公式概要の公称値)
  • 同時実行: 5時間あたり約300〜1,200リクエスト、最大30同時接続

2種類の認証

方式 使う場面 やり方
OAuth(デバイスコードフロー) Kimi Code CLI、VS Code拡張 CLIで /login、VS Codeはサイドバーのログインボタン
API Key 外部ツール、自作アプリ Kimi Code Console(kimi.com/code/console)で発行。最大5本、表示は発行時の1回のみ

APIエンドポイントとモデルID

Kimi Code APIはOpenAI互換とAnthropic互換の両プロトコルに対応しています。

プロトコル Base URL エンドポイント例
OpenAI互換 https://api.kimi.com/coding/v1 /chat/completions
Anthropic互換 https://api.kimi.com/coding/ /v1/messages

外部ツールから呼ぶ場合のモデルIDは kimi-for-coding が基本です。これは安定IDで、新モデルが出るとバックエンド側で自動的に最新へマッピングされるため、クライアント設定を変えずに済みます。K3を使いたい場合は k3 / k3-256k を明示します。

注意点として、クライアント識別子(User-Agent)を改変して利用することは規約違反とされ、メンバーシップ停止の対象になります。

Kimi Code Platform と Kimi Platform の違い

項目 Kimi Code Platform Kimi Platform(開放API)
Base URL api.kimi.com/coding/... api.moonshot.cn/v1(海外は api.moonshot.ai/v1
課金 メンバーシップ月額/年額、レート制限あり 従量課金
用途 ターミナル/IDEのエージェント作業 製品組み込み、企業利用、マルチモーダルアプリ

クォータの仕組み

  • 週次クォータは契約日から7日ごとにリセットされ、未使用分は繰り越されません
  • 別途、5時間のローリングウィンドウでの頻度制限があり、短時間に集中すると総量が余っていてもレート制限にかかります
  • CLI、VS Code、API Keyの全デバイスが同一アカウントのクォータを共有します
  • 30日以上未使用のデバイスは自動的に紐付け解除され、再度 /login すれば復帰します
  • Kimiメンバーシップ全体の月間クレジットが上限に達すると、Kimi Codeのクォータも凍結されます

残量やレート制限状況はKimi Code Consoleで確認できます。CLI内では /usage です。

3. 利用できるモデルとプランの対応

2026年9月時点で、Kimi Codeから使えるモデルIDは4つです。

モデルID 実体 コンテキスト 推論設定 利用可能プラン 入力
k3 Kimi K3(2.8Tパラメータ) 最大1M(上位プラン) reasoning_effort: low / high / max(既定 high Moderato以上。1MはAllegretto以上 画像・動画
k3-256k Kimi K3の256K版 256K固定 同上 Moderato以上 画像のみ
kimi-for-coding Kimi K2.7 Code 256K Thinking ON 全会員 画像・動画
kimi-for-coding-highspeed K2.7 Code HighSpeed 256K Thinking ON Allegretto以上 画像・動画

押さえるべきポイントは以下です。

  • k3(1M)は k3-256k の約2倍のクォータを消費します。日常的な用途は k3-256k が推奨されています
  • HighSpeedは出力が約6倍速い代わりにクォータ消費が3倍です。速くなるのはモデル出力のみで、ツール実行時間は変わりません
  • K3 / K2.7 CodeでThinkingを無効にすると、リクエストはK2.6にルーティングされます。K3を使いたいならThinkingは常にONにしてください
  • モデルIDを切り替えるとコンテキストキャッシュが無効になり、再プリフィルで消費が増えます。切り替え時は新規セッションを開くのが推奨です
  • k3 から k3-256k へ切り替える際、セッションが256Kを超えていると各ツールが強制compactします。動画を含む履歴があると切り替えに失敗するため、先に /compact してください
  • プランの権限を超えるモデルを指定すると401が返ります(K3非対応プラン、1M非対応、HighSpeed非対応の3パターン)

外部ツールからK3を使う場合のreasoning effortのマッピングは次の通りです。

ツール側の値 K3側
未指定 high
ultra / max / xhigh max
high / medium high
low / minimum / light low
none Thinking無効(K2.6へ)
その他の不明な値 HTTP 400

4. インストール・ログイン・アップデート

インストール

Node.jsの事前インストールは不要です。公式スクリプトが最新版をダウンロードし、チェックサムを検証して kimi をPATHに配置します。

  1. macOS / Linux では次を実行します。
curl -fsSL https://code.kimi.com/kimi-code/install.sh | bash
  1. Homebrewを使う場合は次でも構いません。
brew install kimi-code
  1. Windows(PowerShell)では次を実行します。Git Bashをシェルとして使うため、事前にGit for Windowsを入れてください。Git Bashを標準以外の場所に入れている場合は KIMI_SHELL_PATHbash.exe の絶対パスを設定します。
irm https://code.kimi.com/kimi-code/install.ps1 | iex
  1. npmで入れる場合はNode.js 22.19.0以上が必要です。
npm install -g @moonshot-ai/kimi-code
# または
pnpm add -g @moonshot-ai/kimi-code
  1. 新しいシェルで動作確認します。
kimi --version

TUIはtrue colorとリガチャ対応ターミナル(Kitty、Ghosttyなど)での利用が推奨されています。

初回ログイン

  1. プロジェクトディレクトリで kimi を起動します。
  2. /login を実行し、「Kimi Code(OAuth)」か「Kimi Platform APIキー」を選びます。
  3. OAuthの場合はデバイスコードフローで、表示されたURLを任意の端末で開いてコードを入力します。
  4. /model で使うモデルを選びます。最新モデルが一覧に出ない場合は /logout/login で更新されます。

TUIを開かずにログインする kimi login サブコマンドもあります(後述)。

Anthropic、OpenAI、Googleなど他社モデルを使う場合は ~/.kimi-code/config.toml を直接編集します(第12章)。

アップデート

  • kimi upgrade(別名 kimi update)で最新版を確認し、その場でインストールできます
  • ネイティブインストールは既定でバックグラウンド自動更新が有効です(tui.toml[upgrade].auto_install
  • 自動更新を完全に止めるには環境変数 KIMI_CODE_NO_AUTO_UPDATE=1 を設定します
  • npm経由なら npm install -g @moonshot-ai/kimi-code@latest でも更新できます

kimi-cliからの移行

初回起動時に ~/.kimi/ 配下に旧kimi-cliのデータがあれば移行プロンプトが出ます。手動で kimi migrate を実行しても構いません。

  • 移行されるもの: config.toml、MCPサーバー設定、入力履歴、選択したセッション、ユーザースキル
  • 移行されないもの: OAuth認証情報とMCPの認可(再度 /login と再認可が必要)、kimi-cliのプラグイン
  • 旧データは変更・削除されず、何度実行しても重複取り込みはされません

アンインストール

スクリプトで入れた場合は kimi 実行ファイルを削除、npmの場合は npm uninstall -g @moonshot-ai/kimi-code です。データは ~/.kimi-code/ に残るので、完全に消す場合はこのディレクトリも削除します。

5. kimi コマンドの起動オプション全一覧

kimi [options]
kimi <subcommand> [options]
オプション 短縮 内容
--version -V バージョンを表示して終了
--help -h ヘルプを表示して終了
--session [id] -S セッションを再開。ID指定でそのセッション、省略で対話式セレクタ
--continue -c カレントディレクトリの直近セッションを再開
--model <alias> -m この起動で使うモデルエイリアス。省略時は config.tomldefault_model
--prompt <text> -p 非対話モードで1プロンプトを実行し、結果をstdoutに流す
--output-format <fmt> 非対話モードの出力形式。text(既定)または stream-json--prompt と併用時のみ
--yolo -y Ask When Neededモードで起動(通常の編集・コマンドは自動、危険操作・質問・計画は確認)
--auto Never Askモードで起動(一切確認しない)
--plan Planモードで新規セッションを開始
--skills-dir <dir> Skillsの探索ディレクトリを指定ディレクトリで置き換える。複数指定可
--agent <name> 指定エージェントをメインAgentとして新規セッション開始。--session / --continue と併用不可
--agent-file <path> Markdownのエージェント定義を読み込んで選択。1回のみ、--agent と併用不可
--add-dir <dir> 追加のワークスペースディレクトリ。複数指定可

隠しエイリアスとして -r / --resume--session と同じ)、--yes / --auto-approve--yolo と同じ)があります。

フラグの競合ルール

起動時に拒否される組み合わせは次の通りです。

  • --continue--session は同時指定不可
  • --yolo--auto は同時指定不可
  • --prompt--yolo / --auto / --plan と併用不可(非対話モードは既定で auto 権限)
  • --output-format--prompt とセットでのみ有効

セッション再開時に --auto / --yolo / --plan を付けると、保存されていたモードを上書きできます。例えば kimi --continue --auto で直近セッションをNever Askモードに切り替えて再開できます。

Skillsディレクトリの2つの指定方法

  • --skills-dir(CLIフラグ): 自動検出されるユーザー/プロジェクトのSkillsディレクトリを「置き換え」ます。その起動限り
  • extra_skill_dirsconfig.toml): 自動検出に「追加」します。恒久的。チーム共有Skillsの配置に向きます

非対話モード(-p)の挙動

CIやスクリプトから使う場合の仕様です。

  • Assistantのテキストはstdout、thinking・ツール進捗・セッション再開通知はstderrに出ます
  • 出力はトランスクリプト形式で、各行が で始まります
  • 人間の承認は一切求められず、通常のツール呼び出しは auto 権限で処理されます。ただし静的なdenyルールは有効です
  • --output-format stream-json にすると1行1JSONで、ツール呼び出し時は tool_calls を含むAssistantメッセージ → Toolメッセージ → 後続Assistantメッセージの順に出ます。thinkingはJSONLに含まれません
  • バックグラウンドタスクが残っている間は終了せず、完了結果を合成ユーザーメッセージとしてメインAgentに戻して新しいターンを回します([background].print_background_mode = "steer" が既定)
  • printモードではバックグラウンド Bash とサブエージェントのタイムアウトが既定で無効になります
# 基本
kimi -p "Summarize the current repository status"

# モデルを一時的に切り替える
kimi -m kimi-code/kimi-for-coding -p "Explain the latest diff"

# JSONLで受け取る
kimi -p "List changed files" --output-format stream-json

# Goalモードを非対話で開始(完了0、ブロック3、一時停止6で終了)
kimi -p "/goal Fix the failing checkout test"

6. サブコマンド全一覧

kimi login

RFC 8628のデバイスコードフローでKimi Code OAuthにログインします。フラグはありません。検証URLとユーザーコードをstderrに表示し、ブラウザ側の認可完了までポーリングします。トークンはTUIの /login と同じ場所に保存されます。Ctrl-C でキャンセルでき、終了コードは成功0、失敗・キャンセル1です。

kimi acp

ACP(Agent Client Protocol)モードに切り替え、stdin/stdoutのJSON-RPCでIDEと通信します。通常はIDEがサブプロセスとして起動するため手動実行は不要です。詳細は第15章。

kimi web

REST + WebSocket APIとWeb UIを同一オリジンで提供するローカルサーバーをフォアグラウンドで起動し、既定ブラウザを開きます。Ctrl-C で終了します。

オプション 内容
--port <port> バインドポート。既定 58627。使用中なら+1で再試行(最大100回)
--host [host] 省略で 127.0.0.1--host 単独で 0.0.0.0
--allowed-host <host...> DNSリバインディング対策で許可するHostヘッダ値。複数可
--log-level <level> サーバーログのレベル
--debug-endpoints /api/v1/debug/* をマウント
--dangerous-bypass-auth 全REST/WebSocketのBearer認証を無効化。信頼できるネットワーク限定
--web-title <title> ブラウザタブのタイトル
--no-open ブラウザを自動で開かない
--remote-control Remote Controlを同時に有効化(kimi rc と同等)

起動バナーにBearerトークンが表示され、Web UIは #token= フラグメント経由で自動認証します。複数インスタンスは ~/.kimi-code/server/instances/ に登録されて共存できます。

サブサブコマンドは次の2つです。

  • kimi web rotate-token: 永続Bearerトークン(~/.kimi-code/server.token)を再生成。旧トークンは即時無効
  • kimi server kill: 0.28.0より前のバージョンが残したバックグラウンドサーバーを停止する互換コマンド。それ以外の kimi server ... は非推奨で終了コード1を返します

サーバー稼働中は GET /openapi.jsonGET /asyncapi.json で機械可読な仕様を取得できます。

kimi rc(別名 kimi remote

Remote Controlを起動します。実験的機能で、環境変数 KIMI_CODE_EXPERIMENTAL_REMOTE_CONTROL=1(または KIMI_CODE_EXPERIMENTAL_FLAG=1)が必要です。詳細は第15章。

kimi doctor

TUIを起動せず、config.tomltui.toml を検証します。既定では KIMI_CODE_HOME(未設定なら ~/.kimi-code)配下を対象にします。

コマンド 内容
kimi doctor 既定の config.tomltui.toml を検証
kimi doctor config [path] config.toml のみ。パス指定時はそのファイル
kimi doctor tui [path] tui.toml のみ。パス指定時はそのファイル

全て有効(または既定ファイルが存在せずスキップ)なら0、不正または指定ファイルが存在しなければ1で終了します。設定変更をCIで検証したい場合に便利です。

kimi export

セッションをZIPにまとめます。バグ報告や共有用です。

kimi export [sessionId] [options]
引数/オプション 短縮 内容
sessionId 対象セッション。省略時はカレントディレクトリの直近セッション(確認あり)
--output <path> -o 出力ZIPパス
--yes -y 確認をスキップ
--no-include-global-log グローバル診断ログ(~/.kimi-code/logs/kimi-code.log)を含めない

グローバルログは他セッションのイベントも含み得るため、外部共有時は --no-include-global-log を推奨します。

kimi migrate

kimi-cliからの対話式移行。第4章参照。

kimi upgrade(別名 kimi update

最新版を確認して更新プロンプトを表示します。npm/pnpm/yarn/bunでのグローバルインストールでは対応するインストールコマンドを実行し、ネイティブインストールでは新バイナリを検証して次回起動時に差し替えます。

kimi vis

セッションの進行を可視化するビジュアライザをブラウザで開きます。

引数/オプション 内容
sessionId 直接開くセッション。省略でセッション一覧のホーム
--port <number> ポート。省略で空きポートを自動選択
--host <host> 既定 127.0.0.1
--no-open ブラウザを開かずURLだけ表示

kimi provider

TUIの /provider に相当するシェル版で、CI初期化やスクリプト展開向けです。5つのアクションがあります。

コマンド 内容
kimi provider add <url> [--api-key <key>] カスタムレジストリ(api.json)から全プロバイダを一括取り込み。キーは KIMI_REGISTRY_API_KEY からも読めます。次回起動時に同URLから自動更新されます
kimi provider remove <providerId> プロバイダと配下のモデルエイリアスを削除。default_model が指していればそれもクリア
kimi provider list [--json] 設定済みプロバイダの一覧
kimi provider catalog list [providerId] [--filter <s>] [--url <u>] [--json] models.devのカタログを閲覧(設定は変更しない)
kimi provider catalog add <providerId> --api-key <key> [--default-model <id>] [--base-url <u>] [--url <u>] カタログからプロバイダを取り込み。BedrockやCohereなど独自プロトコルは不可
# Anthropicをカタログから追加して既定モデルにする
kimi provider catalog list anthropic
kimi provider catalog add anthropic --api-key sk-ant-... --default-model claude-opus-4-7

カタログに到達できない場合は内蔵スナップショットが使われるため、閉域環境でも動作します。

7. スラッシュコマンド全一覧

TUIの入力欄で / を打つと補完メニューが開きます。エイリアスもマッチします。一部のコマンドはアイドル状態でのみ実行でき、ストリーミング中やcompact中は Esc / Ctrl-C で中断してから実行します。表の「常時」列は、ストリーミング中でも使えるものです。

アカウント・設定

コマンド 別名 内容 常時
/login アカウント/プラットフォームを選んでログイン No
/logout 現在の認証情報をクリア No
/provider 対話式プロバイダマネージャ Yes
/model 現在セッションのモデルを切り替え Yes
/secondary-model /subagent-model サブエージェント用の既定モデルを選択([secondary_model].default_model に書き込み) Yes
/settings /config 設定パネル Yes
/experiments /experimental 実験機能パネル Yes
/permission 権限モードを選択 Yes
/editor Ctrl-G で開く外部エディタを設定 Yes
/theme カラーテーマを切り替え Yes

セッション管理

コマンド 別名 内容 常時
/new /clear 新規セッション(現在のコンテキストを破棄) No
/sessions /resume 履歴を閲覧して再開 No
/tasks /task バックグラウンドタスク一覧 Yes
/fork 履歴を保ったまま別セッションに分岐(自分は現在のセッションに留まる) No
/title [<text>] /rename タイトル表示/設定(200文字まで) Yes
/compact [<instruction>] コンテキスト圧縮。残したい内容のヒントを渡せる No
/undo [<count>] 直近プロンプトを取り消し。todoやPlan状態も戻るがコード変更は戻らない。compact以前は不可 No
/reload config.tomltui.toml を再読み込みしてセッションを再構築 No
/reload-tui tui.toml のみ再読み込み Yes
/init コードベースを解析して AGENTS.md を生成 No
/export-md [<path>] /export セッションをMarkdownで出力 No
/export-debug-zip デバッグ用ZIP(kimi export と同じ) No
/copy 直近のAssistantメッセージをクリップボードへ No
/add-dir [<path>] 追加ワークスペースを登録。引数なし/list で一覧。.kimi-code/local.toml に記憶可能 No
/web 現在セッションをWeb UIで開く Yes

モード・実行制御

コマンド 別名 内容 常時
/yolo /yes Ask When Neededを選択状態で権限モード一覧を開く Yes
/auto Never Askを選択状態で権限モード一覧を開く Yes
/plan [on|off] Planモードの切り替え。引数なしでトグル Yes
/plan clear 現在のプランを消去 No
/swarm on|off Swarmモードの切り替え Yes
/swarm <task> Swarmモードをオンにしてタスクを送信。正常完了で自動オフ No
/goal [...] 自律ゴールの開始・管理(下記) 一部
/remote-control /rc 現在セッションをRemote Controlに引き渡す

/goal サブコマンド

コマンド 内容 可用性
/goal / /goal status 現在のゴールと状態、経過時間、ターン数、トークン数 常時
/goal pause 一時停止 常時
/goal resume 再開 アイドル時
/goal cancel 取り消し 常時
/goal replace <objective> 目標を置き換え アイドル時
/goal next <objective> 次のゴールをキュー。アクティブなゴールがなければ即開始 常時
/goal next manage キューの並び替え・編集・削除UI 常時

status などの予約語で始まる目標を書きたい場合は /goal -- cancel the old ... のように -- を前置します。

情報・状態

コマンド 別名 内容 常時
/help /h, /? ショートカットと全コマンド一覧 Yes
/btw [question] メインAgentのターンに影響を与えない別スレッドで質問(ツール無効の分岐エージェント) Yes
/usage トークン使用量、コンテキスト消費、クォータ Yes
/status バージョン、モデル、作業ディレクトリ、権限モード等 Yes
/mcp MCPサーバーの接続状態 Yes
/plugins プラグインマネージャ Yes
/version バージョン表示 Yes
/feedback /bug 診断ログ付きでフィードバック送信 Yes
/exit /quit, /q 終了 No

組み込みSkillコマンド

CLIに同梱されたSkillで、skill: プレフィックスなしで使えます。アイドル時のみ実行可能です。

コマンド 内容
/mcp-config MCPサーバーの追加・編集・OAuthログインを対話的に実施
/custom-theme [<text>] カスタムテーマの作成・編集
/update-config config.toml / tui.toml を対話的に確認・編集
/check-kimi-code-docs 公式ドキュメントを参照してKimi Codeの使い方を回答
/import-from-cc-codex Claude CodeとCodexの指示ファイル・Skills・MCP設定をKimi Codeに取り込む
/sub-skill ローカルSkillを階層化して整理。/sub-skill.review(提案のみ)と /sub-skill.consolidate(適用)

Claude Codeからの移行では /import-from-cc-codex が実質的な移行ツールです。

外部Skillの動的コマンド

  • 通常のSkillは /skill:<name> [追加テキスト] で呼び出します
  • サブスキルは /<parent>.<child> のドット記法で表示されます
  • システムコマンドと名前が衝突しなければ /<name> の短縮形も使えます
  • エージェント稼働中に入力した外部Skillコマンドはキューされ、Ctrl-S で即時割り込みできます

8. キーボードショートカット全一覧

一般

キー 機能
Enter 送信
Shift-Enter / Ctrl-J 改行
/ 入力履歴(空欄時)
Esc ポップアップを閉じる / 補完キャンセル / ストリーミングやcompactを中断
Ctrl-C ストリーミング中断、または入力欄クリア。アイドル時に2回で終了
Ctrl-D 入力欄が空のとき終了(2回押し)
Ctrl-T todoリストの展開/折りたたみ

ストリーミング中の Ctrl-C は即時キャンセルで、確認はありません。終了操作(空欄で Ctrl-C または Ctrl-D)は2回押しで確定します。

モード切替

キー 機能
Shift-Tab Planモードのトグル
! 空欄で入力するとShellモードへ

入力・編集

キー 機能
Ctrl-G 外部エディタで編集(優先順位: /editor 設定 → $VISUAL$EDITOR
Ctrl-V 画像・動画をクリップボードから貼り付け(Unix / macOS)
Alt-V 同上(Windows)
Ctrl-- Undo
Esc Esc Undoセレクタ(アイドル時に2回押し)
@ ファイルパス補完。.git 以外の隠しパスも対象

ストリーミング中

キー 機能
Ctrl-S Steer: 入力中の内容を実行中のターンに割り込ませる
Esc / Ctrl-C 中断

ツール出力

キー 機能
Ctrl-O ツール出力・シェル出力・compact要約の展開/折りたたみ

承認パネル

キー 機能
/ 選択肢の移動
Enter 確定
19 番号で直接選択
Esc / Ctrl-C / Ctrl-D 拒否
Ctrl-E diffやファイルプレビューの全文表示切り替え
Ctrl-O 他のツール出力の折りたたみ切り替え

「Reject」「Revise」を選ぶとフィードバック入力状態に移り、テキストを入れて Enter で送信、Esc で戻ります。

Shellモード

キー 機能
Ctrl+B 実行中コマンドをバックグラウンドタスクへ移す
空欄で過去のシェルコマンドを呼び出し
Backspace / Esc 空欄で通常モードへ戻る

ポップアップ(/help など)

キー 機能
/ 1行スクロール
PageUp / PageDown 10行スクロール
Esc / Enter / q / Q 閉じる

9. 権限モードと各種モード

3つの権限モード

モード 旧名称 起動方法 挙動
Always Ask Manual 既定、/permission 読み取り専用ツールは自動。編集・コマンドは毎回確認
Ask When Needed YOLO /yolo--yolo 通常のツール呼び出しは自動承認。.env やSSH鍵などの機密ファイル、rm -rfshutdown などの危険コマンド、Planモード終了は確認。Agentからの質問は有効
Never Ask Auto /auto--auto 全て自動承認。機密ファイルもPlan終了も自動、質問もしない。危険コマンドガードも無効

承認パネルで「Approve for this session」を選ぶと、同種の呼び出しはセッション中自動許可されます。恒久的なルールは config.toml[[permission.rules]] で定義します(第11章)。

Planモード

Shift-Tab または /plan でトグルします。Agentは読み取り専用ツールを優先し、Write / Edit はプランファイルへの書き込みのみに制限され、TaskStop は完全に禁止されます。Bash は通常の権限ルールに従います。プラン提示後は承認・拒否・修正依頼ができ、Planモード終了にはAsk When Neededでも確認が入ります(Never Askのみ自動)。

--plan で起動すると新規セッションがPlanモードで始まり、config.tomldefault_plan_mode = true で常時Plan開始にできます。

Shellモード

空欄で ! を入力すると、会話を離れずにシェルコマンドを実行できます。出力は会話コンテキストに書き込まれるため、Agentが後続ターンで参照できます。!gh auth login のようにGitHub CLIの認証を済ませておく、といった使い方が公式に紹介されています。

Goalモード

通常のプロンプトが「次に何をするか」を指示するのに対し、Goalは「何が真になるべきか」を宣言し、達成までターンを自動継続します。テストの一括修正など、完了条件と検証可能な証拠がある作業に向きます。曖昧な目標(「バグを全部見つけて」)は即ブロックするか長時間走り続けるため避けてください。

/goal Fix every checkout-regression bug, add or update tests for each fix, then run the checkout test suite

停止パターンは3つあります。complete(達成して要約)、paused(手動停止、割り込み、エラー)、blocked(続行不能で理由を出力)。manual 権限モードではツール承認で止まることがあるので、Goalと相性が良いのはAsk When Needed以上です。

Swarmモード

AgentSwarm ツールで、共通テンプレートと項目配列から最大128個のサブエージェントを並列起動する仕組みです。/swarm <task> で有効化するとターン中の AgentSwarm 呼び出しが自動承認され、正常完了でオフに戻ります。manual モードで /swarm を使う場合、Ask When NeededかNever Askへの切り替えを求められます。既定では上限なしで並列度が上がる(最初に5、以後700msごとに1増加)ため、KIMI_CODE_AGENT_SWARM_MAX_CONCURRENCY で上限を設けることを推奨します。

10. 組み込みツール全一覧

MCPサーバーなしで使えるツール群です。読み取り専用ツールは既定で自動許可、書き込み・実行系は既定で承認が必要です。

ファイル

ツール 既定の承認 内容
Read 自動 テキスト読み取り。line_offset(負数で末尾から)、n_lines。1回1000行または100KBまで
Write 要承認 作成/上書き。modeoverwrite / append。既存ファイルへの書き込みは事前 Read が必須で、読み取り後にディスク上で変更されていれば拒否
Edit 要承認 old_stringnew_string の厳密置換。複数一致は replace_all: true が必要。事前 Read 必須
Grep 自動 ripgrep。output_modefiles_with_matches / content / count_matches-A -B -C -i -n multilineoffset + head_limit(既定250)。.env や秘密鍵は常に除外
Glob 自動 更新日時降順で最大100件。.gitignore 等を尊重、include_ignored=true で含める
ReadMediaFile 自動 画像・動画をマルチモーダル入力として送信。100MBまで。region / full_resolution で詳細制御

「書き込み前に必ずReadしていること」「読んだ後に変更されていないこと」を強制する設計は、並行編集の事故を防ぐ上で重要な特徴です。

シェル

ツール 既定の承認 内容
Bash 要承認 commandcwdtimeout(フォアグラウンド既定60秒、最大5分)、run_in_backgrounddescriptiondisable_timeout

フォアグラウンドでタイムアウトしたコマンドは既定でkillされず、バックグラウンドタスクに移行します([background].bash_auto_background_on_timeout = false で従来のkill動作)。バックグラウンドの既定タイムアウトは600秒(bash_task_timeout_s、printモードでは無制限)。stdinは常に閉じられ、対話コマンドは即EOFを受け取ります。停止時はSIGTERM → 5秒猶予 → SIGKILLです。

Web

ツール 既定の承認 内容
WebSearch 自動 query。ホスト側に検索実装がなければ非表示
FetchURL 自動 url。HTMLは本文抽出、テキスト/Markdownはそのまま

Kimi Codeにログインしていると、管理サービスの検索・フェッチ(services.moonshot_search / moonshot_fetch)が使われます。

Planモード

ツール 既定の承認 内容
EnterPlanMode 自動 Planモードに入り、プランファイルのパスを返す
ExitPlanMode 自動(プラン承認はユーザー) プランを提示して終了。options で最大3つの代替案を提示可能

状態管理

ツール 既定の承認 内容
TodoList 自動 todos 配列(titlestatus: pending / in_progress / done)。省略で照会、空配列でクリア

協調

ツール 既定の承認 内容
Agent 自動 サブエージェントに委譲。promptdescription(3〜5語)、subagent_type(既定 coder)、resumerun_in_backgroundmodel(モデルプール設定時)
AgentSwarm Swarmモード中は自動、それ以外は要承認 prompt_template + items で一括起動、resume_agent_ids で再開。最大128、既定2時間タイムアウト
AskUserQuestion 自動 1〜4問の選択式質問(各2〜4択、multi_selectheader 12文字まで)。background: true でターン終了後も質問を保持
Skill 自動 type = "inline" のSkillを呼び出し。ネストは3段まで

Agent のタイムアウトは既定2時間([subagent].timeout_msKIMI_SUBAGENT_TIMEOUT_MS、printモードでは無制限)。

バックグラウンドタスク

ツール 既定の承認 内容
TaskList 自動 active_only(既定true)、limit(既定20、1〜100)
TaskOutput 自動 task_id の状態と出力。直近32KBをインライン、全文は output_path から Read
TaskStop 要承認 task_idreason
WaitFor 自動 timeout(必須、最大600秒)、task_id(省略でいずれか完了まで)

スケジュールタスク(cron)

同一セッション内で将来のタイミングにプロンプトを再注入する仕組みです。セッションに紐付き、kimi --session で再開すれば有効、新規セッションには引き継がれません。1セッション最大50件。KIMI_DISABLE_CRON=1 で無効化できます。

ツール 既定の承認 内容
CronCreate 要承認 cron(5フィールド、ローカルTZ)、prompt(8KBまで)、recurring(既定true)
CronList 自動 有効なタスク一覧(idcronhumanSchedulenextFireAtrecurringageDaysstale
CronDelete 要承認 id を削除。Planモード中は禁止

設計上の注意点として、定期タスクには「周期の10%か15分の小さい方」のジッターがかかり、PCスリープで複数回分を逃した場合は起床時に1回だけ発火(coalescedCount 付き)、7日を超えた定期タスクは stale="true" で最後に1回発火して自動削除されます。長期運用するならクラウド側のスケジューラと組み合わせる前提で考えるべきです。

11. 設定ファイルの全キー

Kimi Code CLIの永続設定は ~/.kimi-code/ 配下のTOMLファイルに置かれます。KIMI_CODE_HOME でディレクトリごと移動できます。

ファイル 役割
config.toml ランタイム設定(モデル、プロバイダ、権限、hooks など)
tui.toml TUIと端末周りの設定(テーマ、通知、自動更新など)
mcp.json MCPサーバー定義(ユーザーレベル)
SYSTEM.md メインAgentのシステムプロンプト上書き
AGENTS.md グローバルな指示ファイル
skills/agents/plugins/managed/ Skills、カスタムエージェント、プラグインの実体
logs/kimi-code.log グローバル診断ログ
server.tokenserver/instances/server/rc.json Web UI / Remote Control関連

プロジェクト側には .kimi-code/mcp.json.kimi-code/skills/.kimi-code/agents/.kimi-code/local.tomlAGENTS.md を置けます。

TOMLのキーはsnake_caseで、. を含むキーは [models."gpt-4.1"] のように引用符で囲みます。

config.toml トップレベル

キー 既定 内容
default_model string 既定モデルエイリアス。models に定義が必要
default_permission_mode string manual manual / yolo / auto
default_plan_mode boolean false 新規セッションをPlanモードで開始
merge_all_available_skills boolean true 全ディレクトリのSkillsをマージ
extra_skill_dirs array 追加のSkills探索ディレクトリ
extra_agent_dirs array 追加のエージェント探索ディレクトリ
builtin_product_skills boolean true Kimi Code自身を説明する組み込みSkillをモデルに提示
telemetry boolean true 匿名テレメトリ
providers table {} プロバイダ定義
models table モデルエイリアス定義
secondary_model table サブエージェント用モデルプール
thinking table Thinking既定値
loop_control table エージェントループ制御
token_counting table コンテキストトークン数の表示方式
background table バックグラウンドタスク
subagent / swarm table サブエージェント / Swarmのタイムアウト
mcp table MCPの全体タイムアウト
tools table グローバルなツールON/OFF
image table 画像圧縮
services table 検索・フェッチサービス
permission table 権限ルール
hooks array of table ライフサイクルフック
identity table エージェントの自己識別名

[providers.<name>]

キー 必須 内容
type Yes kimi / anthropic / openai / openai_responses / google-genai / vertexai
api_key No APIキー(平文)
base_url No ベースURL
oauth No OAuth資格情報の参照。ログインフローが自動で書き込むので手書き不要
env No KIMI_API_KEY などの慣用キー名をフォールバックとして書くサブテーブル
custom_headers No 各リクエストに付与するHTTPヘッダ

重要な仕様として、CLIはシェルの環境変数から認証情報を読みません。export KIMI_API_KEY=... しても効かず、api_key[providers.<name>.env] に書く必要があります。優先順位は api_key > env サブテーブル > どちらもなければ起動エラーです。

[models.<alias>]

キー 必須 内容
provider Yes 使用するプロバイダ名
model Yes API送信時のモデルID
max_context_size Yes コンテキスト長(トークン)
max_input_size No 1リクエストの入力上限。compactやオーバーフロー判定はこちらを優先
max_output_size No 出力上限(max_tokens)。現状 anthropic のみ参照
capabilities No thinking / always_thinking / image_in / video_in / audio_in / tool_use。追加のみ
support_efforts No 受け付けるeffort一覧
default_effort No 既定effort
off_effort No Thinkingを無効化するために送る値(例: xai grokの none
base_url No モデル単位のエンドポイント上書き(カタログ取り込みが書く)
display_name No UI表示名
reasoning_key No openai のみ。推論内容のフィールド名が非標準な場合
adaptive_thinking No anthropic のみ。適応的Thinkingの強制ON/OFF

管理サービス(/login)が書き込むエイリアスはリフレッシュで上書きされ得るため、変更を保持したい値は [models."<alias>".overrides] に書きます。overridesmax_context_sizedisplay_namedefault_effort などを受け付け、provider / model / protocol / base_url などの識別・ルーティング系は不可です。

[models."kimi-code/kimi-for-coding".overrides]
max_context_size = 131072
display_name = "Kimi for Coding (custom)"

[secondary_model](サブエージェント用モデルプール)

サブエージェントは既定でメインAgentと同じモデルを使いますが、このセクションで安価なモデルへ振り分けられます。既定で有効で、KIMI_CODE_EXPERIMENTAL_SECONDARY_MODEL=0 で無効化できます。

キー 内容
default_model サブエージェントの既定モデル。models テーブルがある場合は必須かつそのキーの一つ
models エイリアス → 選択ヒント文のテーブル。メインAgentがヒントを見て選ぶ
force true で全サブエージェントを default_model に固定。models と併用不可
default_effort 全サブエージェントに適用するThinking effort
[secondary_model]
default_model = "kimi-code/kimi-for-coding-highspeed"
[secondary_model.models]
"kimi-code/k3" = "難問向け。複雑な推論、アルゴリズム設計、深いデバッグ"
"kimi-code/kimi-for-coding-highspeed" = "高速だがクォータ高め。小規模編集や要約"
"kimi-code/kimi-for-coding" = "バランス型。ほとんどの機能開発"

プールが設定されると Agent / AgentSwarm ツールに model パラメータが現れ、"primary" で呼び出し元と同じモデルを指定できます。同じモデルの default_effort だけ変えた「バリアント」エイリアスを登録して、effort違いをプールに並べる手法も公式に紹介されています。設定ミスは黙ってフォールバックせず起動エラーになります。

[thinking]

キー 既定 内容
enabled true 新規セッションでThinkingを有効にするか
effort low / medium / high / xhigh / max
keep "all" Thinking履歴の保持。kimithinking.keepanthropicclear_thinking_20251015 編集として送信

旧キー default_thinking(0.21.0で廃止)と thinking.modeenabled に置き換わっています。K3は思考履歴を保持するモードで学習されているため、keep = "all" を崩さないことが品質上重要です。

[loop_control]

キー 既定 内容
max_steps_per_turn 無制限 1ターンの最大ステップ数
max_attempts_per_step 10 失敗ステップの総試行回数(初回含む)
reserved_context_size 出力用に確保するトークン数。残りがこれを下回ると自動compact

リトライ対象は接続エラー、タイムアウト、429、5xxのみで、クォータ枯渇による429は即失敗します。旧キー max_retries_per_step / max_steps_per_run は0.32.0で廃止されました。

[token_counting]

strategymeasured+estimated(既定)/ measured / estimated を指定し、コンテキストサイズ表示の算出方式を選びます。内部ロジックは常に両方を使います。

[background]

キー 既定 内容
max_running_tasks 同時実行するバックグラウンドタスク上限
keep_alive_on_exit false セッション終了時に実行中タスクを残す
kill_grace_period_ms 5000 終了要求後の猶予
bash_auto_background_on_timeout true タイムアウトしたフォアグラウンドBashをバックグラウンドへ移す
bash_task_timeout_s 600 バックグラウンドBashの既定タイムアウト(0で無制限、printモード既定0)
print_background_mode "steer" printモードでのバックグラウンド完了の扱い: exit / drain / steer
print_wait_ceiling_s 2147483 printモードの待機上限
print_max_turns 100000 steerモードで発生する追加ターン上限

[subagent] / [swarm]

どちらも timeout_ms(既定7200000 = 2時間、0で無制限)のみです。環境変数 KIMI_SUBAGENT_TIMEOUT_MS / KIMI_CODE_SWARM_TIMEOUT_MS が優先します。

[mcp]

startup_timeout_ms(既定30000)と tool_timeout_ms(既定60000)。mcp.json のサーバー単位設定 > 環境変数 > config.toml > 組み込み既定の順で優先されます。

[identity]

キー 内容
name システムプロンプト内でエージェントが名乗る名前(${product_name} に入る)
slug User-Agent やMCPクライアント名に使う識別子。省略時は name から派生

起動時に一度だけ解決され、プロセス中は固定です。KIMI_CODE_IDENTITY_NAME / KIMI_CODE_IDENTITY_SLUG で上書きでき、コンテナやCI向けです。

[tools]

キー 内容
enabled グローバル許可リスト。空なら制約なし
disabled グローバル拒否リスト。enabled の後に適用

組み込みツールは完全一致、MCPツールは mcp__github__* のようなglobで指定します。裸の *mcp__github(ツールセグメントなし)は何にもマッチせず警告になります。

[tools]
disabled = ["EnterPlanMode", "ExitPlanMode", "mcp__github__*"]

[image]

max_edge_px(既定2000)と read_byte_budget(既定262144 = 256KB)で、モデルに送る画像の圧縮を制御します。

[services.moonshot_search] / [services.moonshot_fetch]

WebSearch / FetchURL の裏側にある2つのサービスです。base_urlapi_keyoauthcustom_headers を持ち、環境変数 KIMI_WEB_SEARCH_* / KIMI_WEB_FETCH_* が優先します。この2キー以外は無視されます。

[permission][[permission.rules]]

ルールは順に評価され、最初にマッチしたものが適用されます。

キー 必須 内容
decision Yes allow / deny / ask
scope No turn-override / session-runtime / project / user(既定)
pattern Yes ToolName または ToolName(引数パターン)。例: ReadBash(rm -rf*)
reason No 監査用の説明

AgentSwarm、MCPツール、カスタムツールはツール名のみでマッチし、引数パターンは使えません。

[[permission.rules]]
decision = "allow"
pattern = "Read"

[[permission.rules]]
decision = "deny"
pattern = "Bash(rm -rf*)"

[[permission.rules]]
decision = "ask"
pattern = "Bash"

また [permission] 直下の dangerous_command_guard = false で組み込みの危険コマンド確認を無効化できます(環境変数 KIMI_CODE_DANGEROUS_COMMAND_GUARD=false も可)。エージェントの外側でコマンドをゲートしている環境専用です。

[[hooks]]

eventmatchercommandtimeout の4フィールドのみ。詳細は第14章。

tui.toml

キー 既定 内容
theme auto auto / dark / light / カスタムテーマ名
render_latex true LaTeXをUnicodeに描画
disable_paste_burst false 複数行ペーストのバースト検出を無効化
cache_expiry_hint true 再開時や長時間放置後にキャッシュ失効の警告を出す
disable_feedback_survey false セッション評価プロンプトを非表示
[editor].command "" Ctrl-G の外部エディタ
[notifications].enabled true デスクトップ通知
[notifications].notification_condition unfocused unfocused / always
[upgrade].auto_install true 自動更新
[status_line].items [] フッター1行目のスロット: mode / goal / model / tasks / cwd / git / tips
[status_line].command "" カスタムステータスラインコマンド。stdinにJSONスナップショット、stdout先頭行を表示。300ms上限・1秒スロットル

/config/theme/editor がこのファイルを書き換えます。変更は次回起動か /reload-tui で反映されます。

.kimi-code/local.toml(プロジェクトローカル)

/add-dir で「このプロジェクトで記憶する」を選ぶと自動生成され、[workspace].additional_dir に絶対パスが入ります。マシン固有なので .gitignore に入れることが推奨されています。

mcp.json

ユーザーレベル ~/.kimi-code/mcp.json とプロジェクトレベル .kimi-code/mcp.json の2階層で、同名はプロジェクト側が優先します。

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "/tmp"]
    },
    "linear": {
      "url": "https://mcp.linear.app/mcp"
    },
    "legacy-events": {
      "transport": "sse",
      "url": "https://mcp.example.com/sse"
    }
  }
}
フィールド 対象 内容
command / args stdio ローカルコマンド
url HTTP / SSE エンドポイント。transport 未指定ならHTTP
transport "sse" を明示する場合
envcwd stdio 子プロセスの環境変数と作業ディレクトリ
headersbearerTokenEnvVar HTTP / SSE 静的認証
enabled 全て false で無効化
startupTimeoutMstoolTimeoutMs 全て サーバー単位のタイムアウト
enabledToolsdisabledTools 全て ツールの許可/拒否リスト

OAuthが必要なサーバーは /mcp-config login <server-name> でブラウザ認可します。MCPツール名は mcp__<server>__<tool> で、権限ルールでは mcp__github__* のようにワイルドカードが使えます。信頼していないフォルダのプロジェクトレベルstdioサーバーはセッション開始時にローカルコマンドを実行するため、ワークスペース信頼プロンプトで内容を確認してから許可してください。

12. プロバイダ設定(他社モデルを使う)

providerstype が通信プロトコルを決めます。

type プロトコル 用途 認証キー名(env サブテーブル)
kimi OpenAI互換 Kimi Code管理サービス、Kimi Platform APIキー KIMI_API_KEYKIMI_BASE_URL(既定 https://api.moonshot.ai/v1
anthropic Anthropic Messages Claude系 ANTHROPIC_API_KEYANTHROPIC_BASE_URL
openai Chat Completions OpenAIおよび互換サービス(DeepSeek、Qwen、One APIなど) OPENAI_API_KEYOPENAI_BASE_URL
openai_responses Responses API OpenAIの新API 同上
google-genai Google GenAI Gemini API GOOGLE_API_KEY
vertexai GenAI on Vertex Vertex AI(ADC認証) GOOGLE_CLOUD_PROJECTGOOGLE_CLOUD_LOCATION
[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

補足事項は以下です。

  • openai タイプはサードパーティ推論モデルの reasoning_contentreasoning_effort 注入を自動処理します
  • google-genai / vertexaibase_url はホストルートのみを書きます(SDKが /v1beta/... を付与するため)
  • vertexai のプロジェクトIDとリージョンは [providers.vertexai.env] に書く必要があり、シェルの export は読まれません。GOOGLE_APPLICATION_CREDENTIALS だけは例外的にシステム環境変数から読まれます
  • TUIの /provider ではmodels.devカタログからの取り込みと、カスタムレジストリ(api.json + Bearer)からの一括取り込みができます。OAuth管理アカウントは /provider に出ず、/login / /logout で管理します

設定ファイルを触らずに一時的にモデルを切り替えるなら、第13章の KIMI_MODEL_* 環境変数が使えます。優先順位は -m フラグ > KIMI_MODEL_* > config.tomldefault_model です。

13. 環境変数全一覧

コアパスとテレメトリ

変数 内容
KIMI_CODE_HOME データルート(既定 ~/.kimi-code
KIMI_DISABLE_TELEMETRY 1 / true / yes / y でテレメトリ停止
KIMI_CODE_CUSTOM_HEADERS 全モデルリクエストに付与するヘッダ。改行区切りの Name: Value。認証用途には使わないこと

OAuth・管理サービス

変数 既定
KIMI_CODE_OAUTH_HOST KIMI_OAUTH_HOST へフォールバック
KIMI_OAUTH_HOST https://auth.kimi.com
KIMI_CODE_BASE_URL https://api.kimi.com/coding/v1(OAuth後の管理API。APIキー直結用の KIMI_BASE_URL とは別物)

KIMI_MODEL_*(一時的なモデル定義)

KIMI_MODEL_NAME を設定すると、メモリ上に一時プロバイダとエイリアスが合成されます。設定ファイルには書き戻されません。

変数 必須 内容 既定
KIMI_MODEL_NAME Yes モデルID(有効化スイッチ)
KIMI_MODEL_API_KEY Yes APIキー
KIMI_MODEL_PROVIDER_TYPE No kimi / anthropic / openai kimi
KIMI_MODEL_BASE_URL No ベースURL タイプ別既定
KIMI_MODEL_MAX_CONTEXT_SIZE No コンテキスト長 262144
KIMI_MODEL_CAPABILITIES No カンマ区切りの能力タグ image_in,thinking
KIMI_MODEL_DISPLAY_NAME No 表示名 KIMI_MODEL_NAME
KIMI_MODEL_MAX_OUTPUT_SIZE No 出力上限(anthropic のみ) モデル既定
KIMI_MODEL_REASONING_KEY No 推論フィールド名(openai のみ) 自動検出
KIMI_MODEL_THINKING_EFFORT No effort
KIMI_MODEL_ADAPTIVE_THINKING No 適応的Thinking(anthropic のみ) モデル名から推定
export KIMI_MODEL_NAME="kimi-for-coding"
export KIMI_MODEL_API_KEY="<YOUR_API_KEY>"
export KIMI_MODEL_BASE_URL="https://api.kimi.com/coding/v1"
export KIMI_MODEL_MAX_CONTEXT_SIZE="262144"
kimi

ランタイムスイッチ

変数 内容
KIMI_CODE_PASSWORD kimi web の並列認証情報。loopback外にバインドする際に推奨
KIMI_CODE_BACKGROUND_KEEP_ALIVE_ON_EXIT 終了時にバックグラウンドタスクを残す
KIMI_CODE_BACKGROUND_MAX_RUNNING_TASKS 同時バックグラウンドタスク上限
KIMI_IMAGE_MAX_EDGE_PX / KIMI_IMAGE_READ_BYTE_BUDGET 画像圧縮
KIMI_CODE_PLUGIN_MARKETPLACE_URL /plugins が読むマーケットプレイスJSON
KIMI_CODE_AGENT_SWARM_MAX_CONCURRENCY Swarmの同時実行上限
KIMI_SUBAGENT_TIMEOUT_MS / KIMI_CODE_SWARM_TIMEOUT_MS サブエージェント / Swarmのタイムアウト
KIMI_CODE_IDENTITY_NAME / KIMI_CODE_IDENTITY_SLUG エージェント識別名
KIMI_CODE_BUILTIN_PRODUCT_SKILLS 組み込み製品Skillの提示
KIMI_CODE_TUI_FULL_SCREEN 1 で実験的なフルスクリーンUI(スクロール、マウス選択、Ctrl-Shift-F 検索)
KIMI_CODE_EXPERIMENTAL_SECONDARY_MODEL サブエージェントモデルプール(既定有効、falsyで無効)
KIMI_CODE_EXPERIMENTAL_SUBAGENT_FORK Agent / AgentSwarm の実験的 fork パラメータ(呼び出し元の履歴スナップショットから開始)
KIMI_CODE_EXPERIMENTAL_REMOTE_CONTROL Remote Controlを有効化
KIMI_MCP_STARTUP_TIMEOUT_MS / KIMI_MCP_TOOL_TIMEOUT_MS MCPタイムアウト
KIMI_LOOP_MAX_STEPS_PER_TURN / KIMI_LOOP_MAX_ATTEMPTS_PER_STEP ループ制御
KIMI_CODE_INFINITE_RETRY LLMリクエスト失敗を無限リトライ(指数バックオフ32秒上限、Retry-After 尊重)
KIMI_TOKEN_COUNTING_STRATEGY トークン数表示方式
KIMI_WEB_SEARCH_BASE_URL / KIMI_WEB_SEARCH_API_KEY 検索サービス
KIMI_WEB_FETCH_BASE_URL / KIMI_WEB_FETCH_API_KEY フェッチサービス
KIMI_CODE_EXPERIMENTAL_FLAG 登録済みの全実験機能を有効化
KIMI_CODE_LEGACY_FLAG agent-core エンジンで動作(既定は agent-core-v2
KIMI_SHELL_PATH WindowsでのGit Bashパス
KIMI_MODEL_MAX_COMPLETION_TOKENS ステップごとの max_completion_tokens 上限(kimi のみ)
KIMI_MODEL_TEMPERATURE / KIMI_MODEL_TOP_P サンプリング(kimi のみ、グローバル)
KIMI_MODEL_THINKING_EFFORT effortを強制(kimi のみ)
KIMI_MODEL_THINKING_KEEP Thinking保持の上書き
KIMI_CODE_NO_AUTO_UPDATE 更新チェックを完全停止(旧 KIMI_CLI_NO_AUTO_UPDATE も可)
KIMI_DISABLE_CRON 1 でスケジュールタスクを無効化
KIMI_CODE_DANGEROUS_COMMAND_GUARD false で危険コマンドガードを無効化

診断ログ

変数 既定
KIMI_LOG_LEVEL infooff / error / warn / info / debug
KIMI_LOG_GLOBAL_MAX_BYTES / KIMI_LOG_GLOBAL_FILES 6MB / 5世代
KIMI_LOG_SESSION_MAX_BYTES / KIMI_LOG_SESSION_FILES 5MB / 3世代

プロキシ

HTTP_PROXY / HTTPS_PROXY / ALL_PROXY / NO_PROXY(小文字も可)を全アウトバウンド通信で尊重します。socks5:// などのSOCKSは通常 ALL_PROXY に設定します。loopbackは常にプロキシをバイパスします。stdio型MCP子プロセスは、Node 22.21以上または24.5以上で NODE_USE_ENV_PROXY を介してHTTPプロキシを引き継ぎます。

システム環境変数

HOMEVISUAL / EDITORPATHrgfdgit の検出)、NO_COLOR / FORCE_COLORCI(非空でダークテーマ固定)、TERM_PROGRAM / TERM / TMUXDISPLAY / WAYLAND_DISPLAY / XDG_SESSION_TYPEWSL_DISTRO_NAME / WSLENVLOCALAPPDATA を検出用に読みます。

14. カスタマイズ

AGENTS.md(指示ファイル)

Claude Codeの CLAUDE.md に相当するのが AGENTS.md です。探索場所は次の通りです。

  • グローバル: $KIMI_CODE_HOME/AGENTS.md(既定 ~/.kimi-code/AGENTS.md)、ツール横断で ~/.agents/AGENTS.md
  • プロジェクト: AGENTS.md または .kimi-code/AGENTS.md

/init を実行するとコードベースを解析して AGENTS.md を自動生成します。K3公式ブログが「勝手に判断する傾向があるので AGENTS.md で行動制約を明示せよ」と述べている通り、クライアント案件では最初に用意しておくべきファイルです。サイズが大きすぎると agents-md-oversized の警告が出ます。

SYSTEM.md(メインAgentのシステムプロンプト上書き)

$KIMI_CODE_HOME/SYSTEM.md が存在して空でなければ、組み込み既定のシステムプロンプトを丸ごと置き換えます。frontmatter不要のMarkdownで、${var} プレースホルダが展開されます。

変数 内容
${skills} マージされたSkillsの注入
${agents_md} ワークスペース指示ファイルの内容
${cwd} / ${cwd_listing} 作業ディレクトリとその一覧
${os} / ${shell} / ${now} OS、シェル、現在時刻
${additional_dirs_info} 追加ワークスペース
${base_prompt} 組み込み既定プロンプト全体
${plugin_sections} 有効プラグインが提供する指示ブロック
${windows_notes} / ${additional_dirs_section} / ${skills_section} 事前合成ブロック

既定プロンプトの挙動を保ちつつ追記したいなら ${base_prompt} を埋め込み、丸ごと置き換えるなら少なくとも ${plugin_sections} を入れてプラグインの指示を残す、という使い分けです。

Agent Skills

SkillはYAML frontmatter付きのMarkdownです。ディレクトリ形式(<name>/SKILL.md + 補助ファイル)が推奨で、フラット形式(<name>.md)も使えます。

frontmatterフィールド 内容
name Skill名(ディレクトリ形式では必須)
description モデルが呼び出し判断に使う1行要約(ディレクトリ形式では必須)
type prompt(既定)/ inline(同義)/ flow(手動呼び出しのみ)
whenToUse 発動条件の説明。when-to-use / when_to_use も可
disableModelInvocation true でモデルの自動呼び出しを禁止
arguments 名前付き引数。本文で $<name> として参照

本文プレースホルダは $ARGUMENTS(全引数)、$ARGUMENTS[0] / $0(位置引数、クォート対応)、$<name>${KIMI_SKILL_DIR} です。

探索場所と優先順位は「Project > User > Extra > Built-in」です。

階層 パス
User $KIMI_CODE_HOME/skills/~/.agents/skills/
Project .kimi-code/skills/.agents/skills/.git のある最寄りディレクトリが起点)
Extra config.tomlextra_skill_dirs
Built-in CLI同梱

~/.agents/skills/ はKimi固有ではない共有ディレクトリなので、Claude Codeなど他ツールとSkillsを共用したい場合はここに置くのが良いです。

---
name: review-pr
description: チーム標準に従ってPRをレビューし、構造化レポートを出す
type: prompt
whenToUse: PRレビュー、差分の検査、コミット品質の評価を求められたとき
arguments:
  - pr_ref
---

対象PR: $pr_ref

1. 差分全体を読む
2. テスト、公開APIドキュメント、新規依存、エラーハンドリングを確認する
3. `references/checklist.md` を参照する
4. 結論 / 必須修正 / 推奨改善 / 良い点 の順で報告する

~/.kimi-code/skills/review-pr/SKILL.md に保存して新規セッションを開くと /skill:review-pr #1234 で呼び出せます。

カスタムエージェント

サブエージェントは組み込みで3種類あります。

名前 内容
coder 既定。ファイル読み書き、コマンド実行、検索ができる汎用エンジニア
explore 読み取り専用。コードベース探索と要約
plan 実装計画・設計専用。シェルも使えない

組み込みの3種はさらにサブエージェントを起動できないため、委譲チェーンは必ず終端します。カスタムエージェントは subagents 許可リストを明示すれば深いチェーンを組めます。

エージェント定義もfrontmatter付きMarkdownで、本文がシステムプロンプトです。

フィールド 必須 内容
name No kebab-case。省略でファイル名
description Yes メインAgentが委譲判断に使う説明
whenToUse No 追加ヒント
override No 同名の組み込みエージェントを置き換えるか(既定 false
tools No 許可リスト。* で全許可、[] で全禁止。MCPは mcp__github__* のglob
disallowedTools No 拒否リスト
subagents No 委譲可能なサブエージェント。省略で coder / explore / plan

探索場所の優先順位は「--agent-file > Project > Extra > User > Plugin > Built-in」です。パスはSkillsと同じ構造で agents/ になります(~/.kimi-code/agents/~/.agents/agents/.kimi-code/agents/.agents/agents/extra_agent_dirs)。

Claude Code形式(カンマ区切り toolsmodel フィールド)やOpenCode形式(name なし、mode フィールド)のエージェントファイルも、未知フィールドを無視する形でそのまま読み込めます。

セキュリティ上の注意として、プロジェクト配下の agent.mdoverride: true を書くとメインAgentのシステムプロンプト全体が置き換わります。クローンしたばかりの信頼できないリポジトリでは、.kimi-code/agents/.agents/agents/ をスクリプトと同じ慎重さで確認してください。

# 起動時にメインAgentを差し替える
kimi --agent reviewer
kimi -p --agent reviewer "Review the changes on this branch"
kimi --agent-file ./agents/strict-reviewer.md

Hooks

config.toml[[hooks]] に書きます。フィールドは4つだけで、余計なキーがあると設定ファイル自体の読み込みが失敗します。

フィールド 必須 内容
event Yes イベント名
matcher No 対象を絞る正規表現
command Yes 実行するシェルコマンド
timeout No 秒(1〜600、既定30)

スクリプトはstdinでJSON(hook_event_namesession_idsession_titleclient_typecwd + イベント固有フィールド)を受け取り、終了コードで意思を返します。0 は許可、2 はブロック(stderrが理由)、それ以外と例外・タイムアウトは全て「許可」です。fail-open設計なので、Hooksを唯一の安全装置にしてはいけません。

stdoutでJSONを返してブロックすることもできます。

{"hookSpecificOutput": {"permissionDecision": "deny", "permissionDecisionReason": "Please use rg instead of grep"}}
イベント matcherの対象 ブロック可 タイミング
UserPromptSubmit 送信テキスト Yes ユーザー送信時。返したテキストはコンテキストに追記
UserPromptQueued キューされたテキスト ターン中の送信がキューされたとき
PreToolUse ツール名 Yes ツール呼び出し前(権限チェックより前)
Stop Yes ターン終了直前。ブロックで続行させられる
TurnStarted 起点種別(user / task / system_trigger ターン開始
PostToolUse / PostToolUseFailure ツール名 ツール成功 / 失敗後
PermissionRequest / PermissionResult ツール名 承認待ち直前 / 承認完了後
SessionStart / SessionEnd startup / resumeexit / archive セッション開始 / 終了
SessionHeartbeat 60秒ごと(設定時のみタイマー稼働)
SubagentStart / SubagentStop サブエージェント名 サブエージェント開始 / 完了
TaskStarted agent / process / question バックグラウンドタスク開始
StopFailure エラー種別 ターンがエラーで失敗
Interrupt ユーザー割り込み(Stop の代わりに発火)
PreCompact / PostCompact manual / auto compact前後
Notification 通知種別(task.completed など) バックグラウンドタスクの状態変化
[[hooks]]
event = "PreToolUse"
matcher = "Bash"
command = "node ~/.kimi-code/hooks/block-dangerous-bash.mjs"
timeout = 5
// ~/.kimi-code/hooks/block-dangerous-bash.mjs
let input = '';
process.stdin.on('data', (c) => { input += c; });
process.stdin.on('end', () => {
  const payload = JSON.parse(input);
  const command = payload.tool_input?.command ?? '';
  if (command.includes('rm -rf')) {
    console.error('Dangerous command detected, blocked');
    process.exit(2);
  }
});

Plugins

プラグインはSkills、カスタムエージェント、システムプロンプトへの指示、MCPサーバー、Hooks、スラッシュコマンドをひとまとめにした配布単位です。

/plugins で開くマネージャはInstalled / Official / Curated / Customの4タブで、Tab で切り替え、Space で有効/無効、D で削除、M でMCP管理、R で再読み込み、I で詳細、Enter でインストール/更新です。

コマンド 内容
/plugins list インストール済み一覧
/plugins install <path-or-url> ローカルディレクトリ、zip URL、GitHub URLから
/plugins marketplace [source] 公式マーケットプレイス、またはカスタムJSON
/plugins info <id> 詳細と診断
/plugins enable <id> / disable <id> 有効/無効
/plugins remove <id> 削除(確認あり)
/plugins reload installed.json と全マニフェストを再読み込み
/plugins mcp enable <id> <server> / disable プラグイン宣言のMCPサーバーを制御

GitHubからは https://github.com/<owner>/<repo>(最新リリース)、.../tree/<ref>.../releases/tag/<tag>.../commit/<sha> の4形式で指定できます。通信は github.comcodeload.github.com のみで、api.github.com は使いません。変更は /reload か新規セッションで反映され、実体は $KIMI_CODE_HOME/plugins/managed/<id>/ にコピーされます。現状はユーザー単位のインストールのみで、プロジェクト単位はありません。

マニフェストは <plugin_root>/kimi.plugin.json(または .kimi-plugin/plugin.json)です。

フィールド 内容
name 必須。[a-z0-9][a-z0-9_-]{0,63}
version / description / keywords / author / homepage / license 表示メタデータ
interface /plugins 表示用(displayNameshortDescription など)
skills Skillsディレクトリ(./ 相対、複数可)。省略時はルートの SKILL.md
agents エージェントディレクトリ。省略時は agents/ を自動検出
sessionStart.skill セッション開始時に読み込むSkill
skillInstructions このプラグインのSkill読み込み時に付加する指示
systemPrompt / systemPromptPath システムプロンプトへの指示(各32KBまで、全プラグイン合計64KBまで)
mcpServers MCPサーバー宣言(mcp.json と同じスキーマ、既定で有効)
hooks Hooksルール(プラグイン有効時のみ動作、作業ディレクトリはプラグインルート)
commands スラッシュコマンド用Markdownの場所。/<plugin>:<command> として登録

公式プラグインは3つあります。

プラグイン 内容
Kimi Datasource 金融市場データ、マクロ指標、企業登記、学術文献、中国法令などを自然言語で照会。OAuthログイン必須、呼び出しごとにクォータ消費
Kimi WebBridge 普段使いのブラウザ(ログイン状態込み)をAIが操作。別途Chrome/Edge拡張のインストールが必要
Kimi Computer Use デスクトップアプリをAIが操作(macOSはバックグラウンド、Windowsはマウス・キーボードを一時的に占有)

Computer Useについては、決済・アカウント変更・投稿など不可逆で影響の大きい操作を渡さないよう公式が明記しています。

カスタムテーマ

/themeauto / dark / light / カスタムテーマ名を切り替え、/custom-theme で対話的にテーマを作成・編集できます。設定は tui.tomltheme に入ります。

15. IDE連携・Web UI・Remote Control・Server API

ACPでのIDE連携(Zed、JetBrains)

Kimi Code CLIはAgent Client Protocolのサーバーとして動作し、kimi acp をIDEがサブプロセスとして起動します。ターミナルで一度 /login しておけば追加ログインは不要です。

Zedの場合は ~/.config/zed/settings.json に次を追加します。

{
  "agent_servers": {
    "Kimi Code CLI": {
      "type": "custom",
      "command": "kimi",
      "args": ["acp"],
      "env": {}
    }
  }
}

JetBrainsもACPクライアントとして同じ kimi acp を登録します(具体的な設定ファイルはIDEのバージョンで異なるため、公式の「Using Kimi Code CLI in IDEs」を参照してください)。

ACPの実装範囲は、コア3メソッド(initialize / authenticate / logout)とセッション11メソッド(session/new / load / resume / list / fork / close / delete / prompt / cancel / set_mode / set_config_option)を全て実装し、クライアント側リバースRPCは11中10(elicitation/complete 以外)です。画像プロンプトと埋め込みリソースに対応し、音声は未対応。IDEが渡すMCPサーバー設定はhttp / stdio / sseを転送し、acp型は破棄されます。

VS Code拡張

Visual Studio Marketplaceで「Kimi Code」(moonshot-ai.kimi-code)を検索してインストールします。サイドバーのログインボタンでOAuth接続し、入力欄のドロップダウンでモデルを切り替えます。拡張が表示されない場合は「Developer: Reload Window」を実行してください。公式ドキュメントにはQuick Start / Core Operations / Configuration / Customizationの4ページがあり、CLIと同じ ~/.kimi-code/ の設定を共有します。

Web UI(kimi web

kimi web でローカルサーバーとブラウザUIが起動します。セッション管理、ファイル参照、コードハイライト、diffプレビュー、Tower(実験的マルチエージェント協調)などがブラウザ上で使えます。既定はloopbackのみで、Bearerトークン認証です。LAN公開する場合は --host に加えて KIMI_CODE_PASSWORD の設定が推奨されています。

Remote Control(実験的)

自分のマシンで動くKimi Codeを、スマホや別PCのブラウザから操作する機能です。

  1. export KIMI_CODE_EXPERIMENTAL_REMOTE_CONTROL=1 を設定します(常用するなら ~/.zshrc などに追記)。
  2. kimi rc(または kimi web --remote-control、セッション内なら /rc)を実行します。
  3. 表示されたURL(https://code-rc.kimi.com/devices/<device ID>/)かQRコードを別端末で開き、同じKimiアカウントでログインします。
  4. デバイス一覧からホスト名を選んでセッションを操作します。

制約は次の通りです。

  • 有料メンバーシップが必要です
  • 1マシン1インスタンス、1アカウント約3デバイスまで
  • マシンがスリープ・オフラインになると使えません(タスク自体はローカルで動き続けます)
  • --dangerous-bypass-auth とは併用不可、--host でのLAN共有も不可(Kimiのリレー経由のみ)
  • 停止は起動したターミナルで Ctrl+C。見失った場合は ~/.kimi-code/server/rc.json のpidを kill

Web UIとの違いは、Web UIがlocalhost / LAN向けでローカルトークン認証なのに対し、Remote Controlはインターネット越しでKimiアカウント認証、という点です。どちらも実行はローカルで、ブラウザは窓に過ぎません。

Server API(実験的)

kimi web が提供するREST(/api/v1、一部 /api/v2)とWebSocket(/api/v1/ws)です。安定性は保証されておらず、正確なスキーマは稼働中サーバーの /openapi.json/asyncapi.json が正です。主なリソース群を挙げます。

  • サーバー: healthz(認証不要)、metashutdown
  • ログイン・使用量: oauth/login(デバイスコードフロー)、oauth/usageoauth/userinfooauth/region
  • 設定: GET/POST /api/v1/config(マージパッチ、event.config.changed を配信)
  • モデル・プロバイダ: modelsproviderscatalog/providers(models.devプロキシ)
  • セッション: 作成・一覧・profile・:fork / :compact / :undo / :abort / :btw / :archive / :restorechildrenstatusgoalsnapshotexport
  • メッセージ・トランスクリプト: messagestranscripttranscript/ops(差分追従)、transcript/plan
  • プロンプト: 送信、:steer:abort
  • 承認・質問: approvalsquestions:dismiss
  • バックグラウンドタスク: tasks:cancel:detach
  • Skills・ツール・MCP: skillsskills/{name}:activatetoolsmcp/servers

レスポンスは { code, msg, data, request_id } のエンベロープで、HTTPステータスはほぼ200固定、業務結果は code で判断します(0 成功、400xx 不正、401xx 認証、404xx 未検出、409xx 競合、410xx 期限切れ、413xx サイズ超過、429xx レート制限、500xx 内部)。最小の流れは「/api/v1/meta で疎通 → POST /api/v1/sessions → WebSocketで subscribePOST .../promptsturn.started / assistant.delta / tool.call.started / tool.result / turn.ended を受信」です。

社内ツールに組み込む場合、ACPは「エディタが主役」、Server APIは「自作UIやワークフローが主役」という使い分けになります。

16. 他のコーディングエージェントからKimiのモデルを使う

メンバーシップのAPI Keyを使えば、Kimi Code CLI以外のツールからもKimiのモデルを呼べます。公式ドキュメントにはClaude Code、OpenCode、Codex、Hermes Agentの手順があります。ここではClaude Codeを例にします。

Claude Codeでの設定

  1. Kimi Code ConsoleでAPI Keyを発行します。
  2. Claude Codeをインストールしますが、まだ起動しません。
  3. 公式が配布しているNodeスクリプトを実行し、~/.claude.jsonhasCompletedOnboarding などを書き込んでAnthropicのログインをスキップし、~/.claude/settings.jsonenv から古い ANTHROPIC_* / CLAUDE_CODE_* エントリを削除します。シェルの .zshrc などに残った ANTHROPIC_*export も消します。
  4. ~/.claude/settings.jsonenv に次を書きます(k3-256k の例)。
{
  "env": {
    "ANTHROPIC_BASE_URL": "https://api.kimi.com/coding/",
    "ANTHROPIC_API_KEY": "<YOUR_KIMI_CODE_API_KEY>",
    "ANTHROPIC_MODEL": "k3-256k",
    "ANTHROPIC_DEFAULT_FABLE_MODEL": "k3-256k",
    "ANTHROPIC_DEFAULT_OPUS_MODEL": "k3-256k",
    "ANTHROPIC_DEFAULT_SONNET_MODEL": "k3-256k",
    "ANTHROPIC_DEFAULT_HAIKU_MODEL": "k3-256k",
    "CLAUDE_CODE_SUBAGENT_MODEL": "k3-256k",
    "CLAUDE_CODE_EFFORT_LEVEL": "high",
    "CLAUDE_CODE_AUTO_COMPACT_WINDOW": "262144",
    "CLAUDE_CODE_MAX_CONTEXT_TOKENS": "262144"
  }
}
  1. Claude Codeを再起動し、/status でBase URLが https://api.kimi.com/coding/ になっていることを確認します。

要点は次の通りです。

  • K3の1Mコンテキストを使う場合のみ、モデル名を k3[1m] と書き、CLAUDE_CODE_AUTO_COMPACT_WINDOWCLAUDE_CODE_MAX_CONTEXT_TOKENS1048576 にします。この [1m] 記法はClaude Codeの環境変数専用で、他のツールでは k3 と書きます
  • ANTHROPIC_DEFAULT_*_MODELCLAUDE_CODE_SUBAGENT_MODEL を一部だけ設定すると、該当ティア(タイトル生成やサブエージェント)が黙って失敗します。全部同じ値にしてください
  • settings.jsonenv はターミナルの環境変数より優先されるため、「設定が効かない」ときはまずここを疑います
  • Claude Code側の /effort でeffortを切り替えられ、mediumhighxhighmax にマッピングされます。Thinkingを切るとK2.6に落ちます
  • Claude CodeのVS Code拡張から使う場合は、ログイン画面の「Run claude in terminal」でフォルダ信頼とAPIキー確認を済ませ、VS Codeを完全終了して再起動する必要があります

プラン別に使えるモデルは、Andanteが kimi-for-coding のみ、Moderatoが k3 / k3-256k / kimi-for-coding(256Kまで)、Allegretto以上が全モデル(K3は1M)です。

OpenCode / Codex / Hermes Agent

いずれも「Base URLを https://api.kimi.com/coding/v1(OpenAI互換)または https://api.kimi.com/coding/(Anthropic互換)にし、モデルIDに kimi-for-codingk3 を指定する」という構造は同じです。ツールごとの設定ファイルの書き方は公式の各ページを参照してください。

17. 運用上の注意点とトレードオフ

公式ドキュメントを通読して見えた、実務で判断が必要なポイントを整理します。

安全性はOSサンドボックスではなく承認フローで担保する

Kimi Code CLIの安全装置は、権限モード、[[permission.rules]]、危険コマンドガード、Hooksの4層です。Codexのようなカーネルレベルのサンドボックスは公式ドキュメントに記述がありません。したがって、無人運用で使うなら次の組み合わせが現実的です。

  • default_permission_mode = "yolo"(Never Askは避ける)
  • [[permission.rules]]deny を明示(Bash(rm -rf*)Bash(git push*) など)
  • [tools].disabled で不要なツールを消す
  • PreToolUse Hookは補助として使い、fail-openであることを前提にする
  • コンテナ内で実行し、KIMI_CODE_HOME を分離する

K3はハーネス依存が強い

K3は思考履歴を保持するモードで学習されており、[thinking].keep = "all" が崩れたり、別モデルのセッション途中でK3に切り替えたりすると品質が不安定になると公式が明言しています。モデルを変えるときは /new で新規セッションを開く、を徹底してください。同じ理由でreasoning effortの頻繁な切り替えもキャッシュを失効させます。

クォータは「週次 + 5時間窓 + メンバーシップ月間」の三重構造

Kimi Code専用の週次クォータと5時間窓に加えて、Kimiメンバーシップ全体の月間クレジットが上限に達するとKimi Codeも凍結されます。チャット側でK2.6の会話を多用しているとKimi Codeが使えなくなる、という事態が起こり得ます。/usage とConsoleを定期的に確認し、上限到達時はExtra Usageパック(従量課金)で逃がす運用を決めておくべきです。

認証情報は設定ファイルに平文で置く設計

CLIはシェルの環境変数から認証情報を読まず、config.toml に平文で書く設計です。dotfilesを公開リポジトリで管理している人は config.toml を除外する必要があります。CIでは KIMI_MODEL_* 環境変数(こちらは環境変数から読む唯一の経路)か、kimi provider add でレジストリから注入する方が扱いやすいです。

開発速度が速く、破壊的変更が続いている

kimi server の廃止(0.28.0)、thinking キーの変更(0.21.0)、loop_control のリネーム(0.32.0)、権限モードの改名(Manual → Always Askなど)と、数ヶ月単位で設定キーが変わっています。kimi doctor をCIに組み込み、アップデート後に設定ファイルの検証を自動化しておくと安全です。自動更新を止めたい環境では KIMI_CODE_NO_AUTO_UPDATE=1 を設定してください。

データの所在

Remote ControlとKimi Code管理サービスはKimiのリレー・API(kimi.com)を経由します。クライアント案件のコードを扱う場合は、Kimi Businessの契約範囲や、セルフホストのK3(オープンウェイト)を openai タイプのプロバイダとして繋ぐ選択肢まで含めて検討が必要です。

18. まとめ

Kimi Code CLIは、単一バイナリ配布、動画入力、1Mコンテキスト、モデル非依存のプロバイダ設計、ACP / Web UI / Remote Controlという広い接続面を持つ、機能面ではClaude CodeやCodexと同等以上のハーネスです。一方で、安全性が承認フロー中心であること、K3のハーネス依存、三重構造のクォータ、平文の認証情報といった運用上の癖もあります。

まず試すなら次の順序をおすすめします。

  1. curl -fsSL https://code.kimi.com/kimi-code/install.sh | bash でインストールし、/login でOAuth接続する
  2. /initAGENTS.md を作り、行動制約を書き足す
  3. config.toml[[permission.rules]]deny[secondary_model] を設定する
  4. kimi-for-coding で日常タスク、難問だけ k3-256k/model で切り替える(切り替え時は /new
  5. Claude Codeユーザーなら /import-from-cc-codex で既存資産を取り込む

本記事は2026年9月10日時点の公式ドキュメントに基づいています。設定キーの変更が頻繁なため、実際に設定する前に kimi doctor と公式ドキュメントの該当ページを確認してください。

参考リンク

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?