最近登場した「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_KEYGOOGLE_CLOUD_PROJECTGOOGLE_APPLICATION_CREDENTIALS… GCP 用 -
GEMINI_SANDBOXSEATBELT_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