😄

Gemini-CLIのドキュメントを読んでおもしろそうだったところまとめ

に公開

Gemini-CLIのドキュメントまとめ

最終更新 : 2025/06/26 00:06

足早にですが、ドキュメントを読んだ中で面白そうだった部分をまとめていきます。

人力で読んでいますので、間違いがある場合があります。

正確な情報は公式ドキュメントを参照してください

Gemini-CLI概要

  • 2025/06/25公開
  • 公式ドキュメントはこちら
  • 現状(2025/06/25)は無料枠 1000セッション/1日 まで利用可能
  • APIを設定しても利用ができる

インストール方法

  • Node.jsのバージョン18以上が必要です。
  • Node.jsはこちらからダウンロードできます。
# npmでインストール
npm install -g @google/gemini-cli

# geminiと入力して起動
gemini

アカウント連携(認証)方法

  • 公式ドキュメント(認証)はこちら
  • 認証方法は以下の4つがある
    1. Google(Gemini Code Assist)でログイン
    2. Gemini APIキーを利用してログイン
    3. Google Workspaceアカウントでログイン
    4. Vertex AIでログイン

コマンド情報(簡易)

  • コマンドの全容はこちら
  • ここでは実際に使用頻度が高そうなコマンドを紹介する

1. /chat

  • Gemini-CLIとの会話履歴を保存・分岐・再開できるコマンド
  • /chat listで会話履歴とそのタグを確認できる。
  • /chat save <tag>で<tag>の会話履歴を保存できる。
  • /chat resume <tag>で<tag>の会話を再開できる。

2. /clear

  • CLIに表示されているセッション履歴をクリアする。
  • Ctrl + Lでも実行できる。
  • (要検証) 視覚的にクリアされるだけで、詳細な情報はクリアされない?

3. /compress

  • 今までの会話のコンテキストを圧縮して要約する
  • Claude Codeでいう/compact

4. /memory

  • GEMINI.mdを管理するコマンド
  • /memory add <追加したい内容>でGEMINI.mdに追加できる
  • /memory show で現在追加されているコンテキストをGeminiに認識させられる
  • /memory refreshですべてのGEMINI.mdを再読込する

5. /restore

  • プロジェクトをツールが実行される直前の状態に復元するコマンド.
  • /restore [tool-call-id]でその状態まで戻すことができる。
  • revert機能みたいなもの?

6. /tools

  • Gemini-CLIが利用可能なtoolのリストを表示する
  • /tool descで各ツールの詳細な説明を表示
  • /tool nodescでツール名だけを表示
  • Gemini-CLI toolsについてはこちらを参照
  • 特にWeb fetch toolgoogle_web_searchが使えるので、Web検索が優秀

@機能

  • ファイルパスを指定できることでおなじみ@機能です。
  • だいたい他のAgentと同じような使い方だと思うので一旦割愛

シェルモードとパススルーモード

  • !<実行したいコマンド>と入力すると、ターミナルで実行したいコマンドが動作します。

    • ex) !ls -lals -laを実行してからGemini-CLIに戻る
  • Gemini-CLIのチャットに!を入力すると、シェルコマンドを実行できるモードになる

  • もう一回!を押すともとのチャットモードに戻る

構成の優先順位

  • 構成の優先順位は以下の通り
    1. デフォルト値
    2. ユーザーの設定ファイル : ~/.gemini/settings.jsonにおいてあるファイル
    3. プロジェクトの設定ファイル : .gemini/settings.jsonにあるファイル
    4. 環境変数
    5. 起動時のコマンドライン引数
  • ユーザーの設定ファイルにあるsettings.jsonは、環境変数を読める
    • $VARNAMEまたは${VARNAME}で環境変数を読める
    • "apiKey": "$MY_API_TOKEN"のように使えるということです。

settings.jsonで利用できる設定一覧

  • settings.jsonの中に書くとgemini-cliが色々認識してくれるらしい
  • 面白そうなものをピックアップして紹介します。

1.contextFileName

  • "contextFileName": "AGENTS.md"のように記述すると、AGENTS.mdをコンテキストファイルとして認識してくれる
  • デフォルト値はGEMINI.md

2. coreTools / excludeTools

  • Gemini-CLIが利用できるツールを設定できる。

  • coreToolsはモデルが利用できるツールを設定可能です。

    • デフォルト値はすべてのツールが適用されている
  • excludeToolsはモデルから除外するツールを設定可能です

    • デフォルト値では何も設定されていません
  • coreToolsとexcludeToolsの両方に書かれているツールはモデルから除外されます。

    • たぶんexcludeが優先されるということ

3. autoAccept

  • ユーザーの確認なしにCLIが安全と思われるツール呼び出しを実行できるようにする
  • "autoAccept": trueでtrueにできる。
    • デフォルト値はfalse

4. mcpServers

  • 他のAgentと設定は同じなので詳細は割愛します。
  • 詳しくは公式ドキュメントを確認してください。

5. checkpointing

  • 会話とファイルを復元できるチェックポイント機能を有効化する
  • チェックポイント機能についてはこちら
  • デフォルト値はfalse
{
  "checkpointing" : {
  "enabled" : true
  }
}

のようにするとチェックポイント機能が有効化される

  • 起動する際に gemini --checkpointingとしても有効化される。

6. telemetry

  • Gemini-CLIのログとメトリクスを取れる
  • デフォルト値は{"enabled": false, "target": "local", "otlpEndpoint": "http://localhost:4317", "logPrompts": true}になっている。
  • Telemetryの詳細についてはこちら
  • プロパティの詳細は以下の通り:
    • enabled(ブール値): テレメトリが有効になっているかどうか。
    • target(文字列):収集されたテレメトリの場所。localかgcpがサポートされている。
    • otlpEndpoint(文字列):OTLPエクスポーターのエンドポイント。
    • logPrompts(ブール):ユーザープロンプトのコンテンツをログに含めるかどうか。

シェルコマンドのログの場所

  • ~/.gemini/tmp/<project_hash>/shell_historyにシェルコマンドのログを残してくれている。便利~!

まとめ

  • ついに現れたGemini-CLIのドキュメントを一旦流し読みをしたものです。
  • 初めての記事公開なので、不足点や改善点があればぜひコメントをお願いいたします。

Discussion