最近登場した「Gemini CLI」を試したメモ
1. Gemini CLI のセットアップ方法
まずは導入手順です。
手軽に試すなら npx
でも良いですが、継続利用ならインストール推奨です。
1-1. グローバルインストール
ターミナルのどこからでも gemini
を呼び出せます。
npm install -g @google-gemini/cli
1-2. プロジェクトローカルインストール
特定プロジェクトでのみ使いたい場合。
npm install @google-gemini/cli --save-dev
1-3. 認証は API キーがおすすめ
Google AI Studio で API キーを取得し、環境変数へ設定します。
export GOOGLE_API_KEY="取得したAPIキー"
.zshrc
などに追記しておけば毎回読み込まれます。
2. CUI サーバでの OAuth 認証回避テクニック
GUI 無しサーバで gemini auth
が詰まる場合の対処です。
-
xdg-utils
を導入し URL 発行を有効化。sudo apt install xdg-utils
- サーバで表示された認証 URL をローカル PC ブラウザで開く。
- リダイレクト先
http://localhost:ポート/oauth2callback?...
をコピーし、サーバ側でcurl
。curl -v "<http://localhost:34567/oauth2callback?state=>..."
これで CLI に認証コードが渡ります。
3. .env
ファイル運用
機密情報やモデル設定を環境変数で一元管理します。
3-1. 読み込み順序
- カレントディレクトリ
.env
- 親ディレクトリを遡り最初に見つかった
.env
-
~/.env
コマンドライン引数が最優先で、.env
は settings.json
より優先されます。
3-2. グローバル例
# ~/.env
GEMINI_API_KEY=your_api_key_here
GEMINI_MODEL=gemini-1.5-pro
3-3. プロジェクト例
# <プロジェクトルート>/.env
GEMINI_API_KEY=project_specific_api_key
GEMINI_MODEL=gemini-2.5-flash
3-4. 主要環境変数
-
GEMINI_API_KEY
… 必須 -
GEMINI_MODEL
… デフォルトモデル -
GOOGLE_API_KEY
GOOGLE_CLOUD_PROJECT
GOOGLE_APPLICATION_CREDENTIALS
… GCP 用 -
GEMINI_SANDBOX
SEATBELT_PROFILE
… サンドボックス関連
.gitignore
で .env
を除外するのを忘れずに。
4. settings.json
によるカスタマイズ
優先順位は以下です。
- アプリデフォルト
-
~/.gemini/settings.json
-
<プロジェクト>/.gemini/settings.json
- 環境変数
- コマンドライン引数
設定例:
{
"theme": "GitHub",
"sandbox": "docker",
"usageStatisticsEnabled": true
}
5. カスタムインストラクションファイル
GEMINI.md
などに AI への指示を記述できます。
settings.json
の contextFileName
で名称変更可。
{
"contextFileName": "AGENTS.md"
}
優先度はグローバル → プロジェクト → サブディレクトリで内容が結合されます。
管理コマンド
-
/memory show
… 読み込まれた内容表示 -
/memory refresh
… 再スキャン
6. サンドボックス機能
外部コマンドを隔離実行する安全機構です。
- 起動時フラグ:
gemini -s
- 設定:
"sandbox": "docker"
- 環境変数:
GEMINI_SANDBOX=docker
カスタム Dockerfile を .gemini/sandbox.Dockerfile
に置き、
BUILD_SANDBOX=1 gemini -s
で自動ビルドされます。
macOS では SEATBELT_PROFILE
で Seatbelt プロファイルを指定可。
7. MCP(Model-Context Protocol)サーバ連携
外部ツールを統合する拡張機構です。
設定例:
{
"mcpServers": {
"myPythonServer": {
"command": "python",
"args": ["mcp_server.py", "--port", "8080"],
"cwd": "./mcp_tools/python",
"timeout": 5000
}
}
}
MCP サーバは stdin/stdout で JSON RPC を実装し、Gemini Function Calling に準拠します。
まとめ
- インストール:
npm -g
で全体、-save-dev
でプロジェクト単位。 - 認証: API キーが簡単安全。
- CUI サーバでも
curl
で OAuth 認証を完結可能。 - 設定ファイル:
-
.env
→ 機密 & モデル設定。 -
settings.json
→ UI・サンドボックス等細かい挙動。 -
GEMINI.md
→ モデル指示文。
-
- 優先順位: CLI 引数 > 環境変数 > プロジェクト設定 > グローバル設定 > デフォルト。
- サンドボックス と MCP サーバ で安全かつ柔軟に外部ツールを呼び出せる。
公式ドキュメント: https://github.com/google-gemini/gemini-cli/blob/main/docs/cli/configuration.md