はじめに
「Kimi Codeを試してみたいが、Claude Codeと何が違うのか」「kimi-cliとkimi-codeとKimi K2.7 Codeは同じものなのか」「設定ファイルにどこまで書けるのか」。Kimi Codeは開発が非常に速く、日本語の情報は断片的で、名前も紛らわしいため、こうした疑問を持ったまま止まってしまう方が多いはずです。
この記事は、Kimi Codeの公式ドキュメント(kimi.com/code/docs)を全ページ読み込み、起動オプション、サブコマンド、スラッシュコマンド、ショートカット、組み込みツール、設定ファイルの全キー、環境変数、Skills・Agents・Hooks・Pluginsの書式まで、一枚にまとめたリファレンスです。Claude CodeやCodexを使ったことがある方が、対応関係を見ながら短時間でキャッチアップできることを目指しています。
長い記事なので、目次から必要な章だけ読む使い方を想定しています。
目次
- 名称の整理と前提知識
- Kimi Codeというサービスの全体像(契約・認証・クォータ)
- 利用できるモデルとプランの対応
- インストール・ログイン・アップデート
-
kimiコマンドの起動オプション全一覧 - サブコマンド全一覧
- スラッシュコマンド全一覧
- キーボードショートカット全一覧
- 権限モードと各種モード(Plan / Shell / Goal / Swarm)
- 組み込みツール全一覧
- 設定ファイル
config.toml/tui.toml/local.tomlの全キー - プロバイダ設定(他社モデルを使う)
- 環境変数全一覧
- カスタマイズ(AGENTS.md / SYSTEM.md / Skills / Agents / Hooks / Plugins / MCP / Themes)
- IDE連携・Web UI・Remote Control・Server API
- 他のコーディングエージェントからKimiのモデルを使う
- 運用上の注意点とトレードオフ
- まとめと参考リンク
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に配置します。
- macOS / Linux では次を実行します。
curl -fsSL https://code.kimi.com/kimi-code/install.sh | bash
- Homebrewを使う場合は次でも構いません。
brew install kimi-code
- Windows(PowerShell)では次を実行します。Git Bashをシェルとして使うため、事前にGit for Windowsを入れてください。Git Bashを標準以外の場所に入れている場合は
KIMI_SHELL_PATHにbash.exeの絶対パスを設定します。
irm https://code.kimi.com/kimi-code/install.ps1 | iex
- npmで入れる場合はNode.js 22.19.0以上が必要です。
npm install -g @moonshot-ai/kimi-code
# または
pnpm add -g @moonshot-ai/kimi-code
- 新しいシェルで動作確認します。
kimi --version
TUIはtrue colorとリガチャ対応ターミナル(Kitty、Ghosttyなど)での利用が推奨されています。
初回ログイン
- プロジェクトディレクトリで
kimiを起動します。 -
/loginを実行し、「Kimi Code(OAuth)」か「Kimi Platform APIキー」を選びます。 - OAuthの場合はデバイスコードフローで、表示されたURLを任意の端末で開いてコードを入力します。
-
/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.toml の default_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_dirs(config.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.json と GET /asyncapi.json で機械可読な仕様を取得できます。
kimi rc(別名 kimi remote)
Remote Controlを起動します。実験的機能で、環境変数 KIMI_CODE_EXPERIMENTAL_REMOTE_CONTROL=1(または KIMI_CODE_EXPERIMENTAL_FLAG=1)が必要です。詳細は第15章。
kimi doctor
TUIを起動せず、config.toml と tui.toml を検証します。既定では KIMI_CODE_HOME(未設定なら ~/.kimi-code)配下を対象にします。
| コマンド | 内容 |
|---|---|
kimi doctor |
既定の config.toml と tui.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.toml と tui.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 |
確定 |
1 〜 9
|
番号で直接選択 |
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 -rf や shutdown などの危険コマンド、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.toml の default_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 |
要承認 | 作成/上書き。mode に overwrite / append。既存ファイルへの書き込みは事前 Read が必須で、読み取り後にディスク上で変更されていれば拒否 |
Edit |
要承認 |
old_string → new_string の厳密置換。複数一致は replace_all: true が必要。事前 Read 必須 |
Grep |
自動 | ripgrep。output_mode は files_with_matches / content / count_matches。-A -B -C -i -n multiline、offset + head_limit(既定250)。.env や秘密鍵は常に除外 |
Glob |
自動 | 更新日時降順で最大100件。.gitignore 等を尊重、include_ignored=true で含める |
ReadMediaFile |
自動 | 画像・動画をマルチモーダル入力として送信。100MBまで。region / full_resolution で詳細制御 |
「書き込み前に必ずReadしていること」「読んだ後に変更されていないこと」を強制する設計は、並行編集の事故を防ぐ上で重要な特徴です。
シェル
| ツール | 既定の承認 | 内容 |
|---|---|---|
Bash |
要承認 |
command、cwd、timeout(フォアグラウンド既定60秒、最大5分)、run_in_background、description、disable_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 配列(title、status: pending / in_progress / done)。省略で照会、空配列でクリア |
協調
| ツール | 既定の承認 | 内容 |
|---|---|---|
Agent |
自動 | サブエージェントに委譲。prompt、description(3〜5語)、subagent_type(既定 coder)、resume、run_in_background、model(モデルプール設定時) |
AgentSwarm |
Swarmモード中は自動、それ以外は要承認 |
prompt_template + items で一括起動、resume_agent_ids で再開。最大128、既定2時間タイムアウト |
AskUserQuestion |
自動 | 1〜4問の選択式質問(各2〜4択、multi_select、header 12文字まで)。background: true でターン終了後も質問を保持 |
Skill |
自動 |
type = "inline" のSkillを呼び出し。ネストは3段まで |
Agent のタイムアウトは既定2時間([subagent].timeout_ms、KIMI_SUBAGENT_TIMEOUT_MS、printモードでは無制限)。
バックグラウンドタスク
| ツール | 既定の承認 | 内容 |
|---|---|---|
TaskList |
自動 |
active_only(既定true)、limit(既定20、1〜100) |
TaskOutput |
自動 |
task_id の状態と出力。直近32KBをインライン、全文は output_path から Read
|
TaskStop |
要承認 |
task_id、reason
|
WaitFor |
自動 |
timeout(必須、最大600秒)、task_id(省略でいずれか完了まで) |
スケジュールタスク(cron)
同一セッション内で将来のタイミングにプロンプトを再注入する仕組みです。セッションに紐付き、kimi --session で再開すれば有効、新規セッションには引き継がれません。1セッション最大50件。KIMI_DISABLE_CRON=1 で無効化できます。
| ツール | 既定の承認 | 内容 |
|---|---|---|
CronCreate |
要承認 |
cron(5フィールド、ローカルTZ)、prompt(8KBまで)、recurring(既定true) |
CronList |
自動 | 有効なタスク一覧(id、cron、humanSchedule、nextFireAt、recurring、ageDays、stale) |
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.token、server/instances/、server/rc.json
|
Web UI / Remote Control関連 |
プロジェクト側には .kimi-code/mcp.json、.kimi-code/skills/、.kimi-code/agents/、.kimi-code/local.toml、AGENTS.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] に書きます。overrides は max_context_size、display_name、default_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履歴の保持。kimi は thinking.keep、anthropic は clear_thinking_20251015 編集として送信 |
旧キー default_thinking(0.21.0で廃止)と thinking.mode は enabled に置き換わっています。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]
strategy に measured+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_url、api_key、oauth、custom_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(引数パターン)。例: Read、Bash(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]]
event、matcher、command、timeout の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" を明示する場合 |
env、cwd
|
stdio | 子プロセスの環境変数と作業ディレクトリ |
headers、bearerTokenEnvVar
|
HTTP / SSE | 静的認証 |
enabled |
全て |
false で無効化 |
startupTimeoutMs、toolTimeoutMs
|
全て | サーバー単位のタイムアウト |
enabledTools、disabledTools
|
全て | ツールの許可/拒否リスト |
OAuthが必要なサーバーは /mcp-config login <server-name> でブラウザ認可します。MCPツール名は mcp__<server>__<tool> で、権限ルールでは mcp__github__* のようにワイルドカードが使えます。信頼していないフォルダのプロジェクトレベルstdioサーバーはセッション開始時にローカルコマンドを実行するため、ワークスペース信頼プロンプトで内容を確認してから許可してください。
12. プロバイダ設定(他社モデルを使う)
providers の type が通信プロトコルを決めます。
| type | プロトコル | 用途 | 認証キー名(env サブテーブル) |
|---|---|---|---|
kimi |
OpenAI互換 | Kimi Code管理サービス、Kimi Platform APIキー |
KIMI_API_KEY、KIMI_BASE_URL(既定 https://api.moonshot.ai/v1) |
anthropic |
Anthropic Messages | Claude系 |
ANTHROPIC_API_KEY、ANTHROPIC_BASE_URL
|
openai |
Chat Completions | OpenAIおよび互換サービス(DeepSeek、Qwen、One APIなど) |
OPENAI_API_KEY、OPENAI_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_PROJECT、GOOGLE_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_contentとreasoning_effort注入を自動処理します -
google-genai/vertexaiのbase_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.toml の default_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 |
info(off / 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プロキシを引き継ぎます。
システム環境変数
HOME、VISUAL / EDITOR、PATH(rg、fd、git の検出)、NO_COLOR / FORCE_COLOR、CI(非空でダークテーマ固定)、TERM_PROGRAM / TERM / TMUX、DISPLAY / WAYLAND_DISPLAY / XDG_SESSION_TYPE、WSL_DISTRO_NAME / WSLENV、LOCALAPPDATA を検出用に読みます。
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.toml の extra_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形式(カンマ区切り tools、model フィールド)やOpenCode形式(name なし、mode フィールド)のエージェントファイルも、未知フィールドを無視する形でそのまま読み込めます。
セキュリティ上の注意として、プロジェクト配下の agent.md に override: 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_name、session_id、session_title、client_type、cwd + イベント固有フィールド)を受け取り、終了コードで意思を返します。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 / resume、exit / 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.com と codeload.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 表示用(displayName、shortDescription など) |
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については、決済・アカウント変更・投稿など不可逆で影響の大きい操作を渡さないよう公式が明記しています。
カスタムテーマ
/theme で auto / dark / light / カスタムテーマ名を切り替え、/custom-theme で対話的にテーマを作成・編集できます。設定は tui.toml の theme に入ります。
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のブラウザから操作する機能です。
-
export KIMI_CODE_EXPERIMENTAL_REMOTE_CONTROL=1を設定します(常用するなら~/.zshrcなどに追記)。 -
kimi rc(またはkimi web --remote-control、セッション内なら/rc)を実行します。 - 表示されたURL(
https://code-rc.kimi.com/devices/<device ID>/)かQRコードを別端末で開き、同じKimiアカウントでログインします。 - デバイス一覧からホスト名を選んでセッションを操作します。
制約は次の通りです。
- 有料メンバーシップが必要です
- 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(認証不要)、meta、shutdown - ログイン・使用量:
oauth/login(デバイスコードフロー)、oauth/usage、oauth/userinfo、oauth/region - 設定:
GET/POST /api/v1/config(マージパッチ、event.config.changedを配信) - モデル・プロバイダ:
models、providers、catalog/providers(models.devプロキシ) - セッション: 作成・一覧・profile・
:fork/:compact/:undo/:abort/:btw/:archive/:restore、children、status、goal、snapshot、export - メッセージ・トランスクリプト:
messages、transcript、transcript/ops(差分追従)、transcript/plan - プロンプト: 送信、
:steer、:abort - 承認・質問:
approvals、questions(:dismiss) - バックグラウンドタスク:
tasks、:cancel、:detach - Skills・ツール・MCP:
skills、skills/{name}:activate、tools、mcp/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で subscribe → POST .../prompts → turn.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での設定
- Kimi Code ConsoleでAPI Keyを発行します。
- Claude Codeをインストールしますが、まだ起動しません。
- 公式が配布しているNodeスクリプトを実行し、
~/.claude.jsonにhasCompletedOnboardingなどを書き込んでAnthropicのログインをスキップし、~/.claude/settings.jsonのenvから古いANTHROPIC_*/CLAUDE_CODE_*エントリを削除します。シェルの.zshrcなどに残ったANTHROPIC_*のexportも消します。 -
~/.claude/settings.jsonのenvに次を書きます(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"
}
}
- Claude Codeを再起動し、
/statusでBase URLがhttps://api.kimi.com/coding/になっていることを確認します。
要点は次の通りです。
- K3の1Mコンテキストを使う場合のみ、モデル名を
k3[1m]と書き、CLAUDE_CODE_AUTO_COMPACT_WINDOWとCLAUDE_CODE_MAX_CONTEXT_TOKENSを1048576にします。この[1m]記法はClaude Codeの環境変数専用で、他のツールではk3と書きます -
ANTHROPIC_DEFAULT_*_MODELとCLAUDE_CODE_SUBAGENT_MODELを一部だけ設定すると、該当ティア(タイトル生成やサブエージェント)が黙って失敗します。全部同じ値にしてください -
settings.jsonのenvはターミナルの環境変数より優先されるため、「設定が効かない」ときはまずここを疑います - Claude Code側の
/effortでeffortを切り替えられ、medium→high、xhigh→maxにマッピングされます。Thinkingを切るとK2.6に落ちます - Claude CodeのVS Code拡張から使う場合は、ログイン画面の「Run
claudein 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-coding か k3 を指定する」という構造は同じです。ツールごとの設定ファイルの書き方は公式の各ページを参照してください。
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で不要なツールを消す -
PreToolUseHookは補助として使い、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のハーネス依存、三重構造のクォータ、平文の認証情報といった運用上の癖もあります。
まず試すなら次の順序をおすすめします。
-
curl -fsSL https://code.kimi.com/kimi-code/install.sh | bashでインストールし、/loginでOAuth接続する -
/initでAGENTS.mdを作り、行動制約を書き足す -
config.tomlに[[permission.rules]]のdenyと[secondary_model]を設定する -
kimi-for-codingで日常タスク、難問だけk3-256kに/modelで切り替える(切り替え時は/new) - Claude Codeユーザーなら
/import-from-cc-codexで既存資産を取り込む
本記事は2026年9月10日時点の公式ドキュメントに基づいています。設定キーの変更が頻繁なため、実際に設定する前に kimi doctor と公式ドキュメントの該当ページを確認してください。
参考リンク
- Kimi Code公式ドキュメント: https://www.kimi.com/code/docs/en/
- Kimi Code CLIドキュメント(GitHub Pages版): https://moonshotai.github.io/kimi-code/en/
- GitHubリポジトリ: https://github.com/MoonshotAI/kimi-code
- Kimi Code Console(API Key発行・クォータ確認): https://www.kimi.com/code/console
- モデル設定ページ: https://www.kimi.com/code/docs/en/kimi-code/models.html
- Claude Codeからの利用手順: https://www.kimi.com/code/docs/en/third-party-tools/claude-code.html
- Kimi K3技術ブログ: https://www.kimi.ai/blog/kimi-k3
- メンバーシップ料金: https://www.kimi.ai/ja/help/membership/membership-pricing
