0
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?

Gemini CLI v0.24.0 Update

0
Posted at

Gemini CLI v0.24.0 アップデート

Gemini CLI v0.24.0は、2026年1月14日にリリースされた大規模なアップデートで、85以上のプルリクエストがマージされました。このリリースの主要なテーマは以下の通りです。

  • Agent Skills: 専門知識とワークフローをモジュール式に拡張できる新しいスキルシステムの導入
  • セキュリティ強化: フォルダトラスト、ポリシーエンジン、環境変数のリダクションなど
  • リモートエージェント: 複数エージェントのサポートとTOMLベースの設定
  • アーキテクチャの刷新: MessageBus移行、ツール実行の統合、モデル解決の標準化
  • 開発者体験の向上: Google Cloud Monitoringダッシュボード、画像UX改善、UI/UXの洗練

主要機能の詳細

1. Agent Skills - 専門知識のモジュール化

Agent Skillsは、Gemini CLIに専門的なタスク固有の知識を動的にロードできる新しいシステムです。これにより、汎用的なプロンプトに頼るのではなく、構造化された再利用可能な知識でタスクを実行できます。

実装されたPR

  • コアスキルインフラストラクチャと階層的検出 [#15698]
  • 自律的なアクティベーションツールとコンテキスト注入 [#15725]
  • エージェント統合とシステムプロンプト認識 [#15728]
  • ステータスバーへのスキル数表示 [#15741]
  • 表現の統一と集中ロード [#15833]
  • 拡張機能サポートとセキュリティ開示 [#15834]
  • /skills CLI管理コマンド [#15837]
  • /skills reload コマンド [#15865]
  • 初期ドキュメントとチュートリアル [#15869]

スキルの構造
スキルは以下の基本構造を持ちます

  • name: スキル名
  • description: Geminiモデルがスキルを使用する条件の説明
  • instructions: 具体的な実行手順
  • enabled: スキルの有効/無効

スキルはMarkdown (.md) ファイルで定義され、~/.gemini/skills/ または .gemini/skills/ に配置されます。

使用例

# スキル一覧表示
/skills list

# スキルの有効化/無効化
/skills enable <skill-name>
/skills disable <skill-name>

# スキルのリロード
/skills reload

2. リモートエージェントとマルチエージェント対応

v0.24.0では、リモートエージェントマルチエージェントTOMLファイルのサポートが追加されました。

関連PR

  • リモートエージェントとマルチエージェントTOMLファイルのサポート [#15437]
  • リモートエージェントをエージェントレジストリに追加 [#15711]
  • リモートエージェントのサポート [#16013]
  • A2Aクライアントマネージャーとテスト [#15485]

これにより、チーム全体で共有できるエージェント設定を作成し、一貫したワークフローを実現できます。


3. セキュリティとポリシーエンジンの強化

セキュリティは今回のリリースの重要なテーマで、複数の機能が追加・強化されました。

3.1 フォルダトラスト機能

デフォルトで無効ですが、有効化すると、プロジェクトフォルダーを信頼するかどうかを明示的に選択する必要があります。

仕組み:

  1. 初回実行時にダイアログが表示される
  2. 選択肢:
    • Trust folder: 現在のフォルダーを信頼
    • Trust parent folder: 親ディレクトリ全体を信頼
    • Don't trust: 信頼しない(制限モードで動作)

信頼されていないフォルダーの制限

  • ワークスペース設定(.gemini/settings.json)が無視される
  • 環境変数(.env)がロードされない
  • 拡張機能の管理が制限される
  • カスタムコマンドがロードされない

設定方法

// ~/.gemini/settings.json
{
  "security": {
    "folderTrust": {
      "enabled": true
    }
  }
}

デフォルトを「信頼しない」に変更 [#15943]
v0.24.0では、セキュリティ強化のため、フォルダトラストのデフォルト設定が「untrusted」に変更されました。

3.2 環境変数のリダクション

機密情報を含む環境変数を自動的にリダクションする機能が追加されました [#15348]。

設定例

{
  "security": {
    "environmentVariableRedaction": {
      "enabled": true,
      "allowed": ["NODE_ENV", "PATH"],
      "blocked": ["AWS_SECRET_KEY", "DATABASE_PASSWORD"]
    }
  }
}

3.3 ポリシーエンジンの進化

  • 粒度の細かいシェルコマンド許可リスト [#15601]
  • レガシー確認設定の非推奨化とポリシーエンジンの強制 [#15626]
  • シェルセキュリティポリシーの統合 [#15770]
  • 動的モード対応ポリシー評価 [#15307]
  • リモート管理者設定とsecureModeEnabled/mcpEnabledの実装 [#15935]
  • ポリシーでの'modes'のサポート [#15977]

4. フックシステムの強化

フックシステムは、ツール実行前後にカスタムスクリプトを実行できる機能です。

主要な改善

  • STOP_EXECUTIONと意思決定処理の強化 [#15685]
  • エージェントフックの重複排除とクロスプラットフォーム統合テスト [#15701]
  • ツール入力の変更サポート [#15492]
  • 粒度の細かい停止とブロック動作 [#15824]
  • フック実行のビジュアルインジケーター [#15408]
  • hooks.enabled設定 [#15933]
  • SessionStartフック経由のコンテキスト注入 [#15746]

フックは .gemini/hooks/ ディレクトリに配置され、以下のようなライフサイクルイベントをサポートします

  • UserPromptSubmit
  • Stop
  • SubagentStop
  • PreCompact
  • SessionStart
  • SessionEnd
  • BeforeTool
  • AfterTool

5. コアアーキテクチャのリファクタリング

5.1 モデル解決の標準化 [#15228]

PR #15228では、モデル解決ロジックが標準化されました。

変更内容

  • getEffectiveModelresolveModel に置き換え
  • フォールバックハンドラーロジックの簡素化
  • 内部クライアントメソッドの名称変更(例: _getActiveModelForCurrentTurn

この変更により、コアとCLIパッケージ全体でモデル解決が一貫性を持つようになりました。

5.2 MessageBus の段階的移行

MessageBusの強制的な注入を実現するため、3段階のマイグレーションが実施されました

フェーズ1: MessageBusの任意性を復元(ソフトマイグレーション) [#15774]
フェーズ2: ツールとエージェント呼び出しコンストラクタの標準化 [#15775]
フェーズ3: MessageBusの強制注入(ハードマイグレーション) [#15776]

5.3 編集ツールの統合

EditToolとSmartEditToolが統合され、単一のeditツールになりました。

変更PR

  • EditToolとSmartEditToolの統合 [#15857]
  • smart-editからeditへの名称変更 [#15923]

SmartEdit/Editツールの仕組み
Gemini CLIの編集ツールは、複数の検索戦略を使用してLLMのミスに寛容です

  1. 厳密一致: old_stringの完全一致を検索
  2. 正規化一致: 空白の量に柔軟な一致
  3. LLM自己修正: すべての戦略が失敗した場合、instructionパラメータを使用してLLMに修正を依頼
{
  file_path: string,
  instruction: string,  // 変更の目的を説明(自己修正機能で使用)
  old_string: string,
  new_string: string
}

6. モデル永続化とセッション管理

モデルの自動永続化 [#13199]
/modelコマンドで選択したモデルが、Gemini CLIセッション間で自動的に保存・復元されるようになりました。

関連PR:

  • 自動/model永続化 [#13199]
  • フォールバックモデルを永続化しない [#15483]
  • /modelからのモデル永続化をオプトイン方式に [#15820]
  • フォールバックモードをログに記録 [#15817]
  • フッターに表示される手動モデル文字列を削除 [#15967]

7. Google Cloud Monitoring ダッシュボード

v0.24.0の目玉機能の一つが、事前構成済みのGoogle Cloud Monitoringダッシュボードです。
機能:

  • 月次・日次アクティブユーザー数
  • インストール数
  • 追加・削除されたコード行数
  • トークン消費量
  • APIとツール呼び出し
  • ユーザーごとの使用状況

設定方法

  1. Gemini CLIプロジェクトでOpenTelemetryを設定
  2. データをGoogle Cloudにエクスポート
  3. Google Cloud Monitoring Dashboard Templatesから「Gemini CLI Monitoring」を選択

OpenTelemetryの利点

  • ユニバーサル互換性: Google Cloud、Jaeger、Prometheus、Datadogなど、任意のバックエンドにエクスポート可能
  • 標準化されたデータ: GenAI OpenTelemetry規則に準拠
  • ベンダーロックインなし: バックエンドの切り替えが容易

直接GCPエクスポーターの導入
中間OTLPコレクタを経由せず、.gemini/settings.jsonを更新するだけで設定可能。


8. 画像UXの改善

画像のユーザー体験が大幅に向上しました。

画像パスの簡潔化 [#4924]
プロンプトボックス内の画像が折りたたまれ、視認性が向上しました。

画像トークン推定の修正 [#16004]
画像のトークン推定が正確になりました。


9. シェル出力効率の向上

enableShellOutputEfficiency設定 [#15560]
シェルツールのトークン使用量を削減する機能が追加されました。

この設定を有効にすると、Gemini CLIは以下を推奨します:

  • 静かなフラグの使用 (例: npm install --silent)
  • 大きな出力を一時ファイルにリダイレクトし、選択的に検査

設定方法:

{
  "tools": {
    "shell": {
      "enableShellOutputEfficiency": true
    }
  }
}

または /settings UIから設定可能。


10. 拡張機能とMCPサーバー

10.1 実験的な拡張機能インストール/アンインストール

CLI内で拡張機能の管理が可能になりました [#15178]。

gemini extensions install <extension-url>
gemini extensions uninstall <extension-name>
gemini extensions list

10.2 MCP関連の改善

  • MCPServerConfigにtypeフィールドを追加 [#15465]
  • スキーマ検証エラーを非致命的に [#15487]
  • MCPリソース表示をデフォルトで10件に制限 [#15489]
  • mcp-client-managerの未処理プロミスリジェクションを処理 [#14701]

10.3 注目の拡張機能: Choicely

Gemini CLI Choicely Extension は、ターミナルから直接、ネイティブiOSおよびAndroidアプリをビルド、デプロイ、スケールできる拡張機能です。

インストール:

gemini extensions install https://github.com/choicely/choicely-gemini-cli-extension

11. UI/UX の改善

11.1 /settings に説明を追加 [#15936]

設定ダイアログに各設定項目の説明が表示されるようになりました。

11.2 /dir add コマンドのディレクトリサジェスチョン [#15724]

/dir add コマンドで、ディレクトリのオートコンプリート候補が表示されるようになりました。 reddit

11.3 ターミナル互換性の向上

  • tmux用のmodifyOtherKeysプロトコルサポート [#15524]
  • Windowsターミナルのペースト問題を解決 [#15932]
  • 終了時にキーボードモードを適切に無効化 [#16006]

11.4 祝日テーマとアニメーション

降雪アニメーションの表示 [#15494] - 祝日テーマで降雪アニメーションが追加されました。


12. バグ修正とエラーハンドリング

主要なバグ修正

  • readStdinクリーンアップでの未処理EIOエラーによるクラッシュを防止 [#15410]
  • ide-client.tsでの未処理プロミスリジェクションを解決 [#15587]
  • GitService.initializeでのcheckIsRepo失敗を処理 [#15574]
  • settings.jsonスキーマにenableShellOutputEfficiencyを追加 [#15560]
  • ブラウザ認証をキャンセルした際のターミナルハングを修正 [#15748]
  • SDKログ出力で.textゲッターにアクセスしないようにして警告を回避 [#15706]
  • デフォルト設定を適用 [#15354]
  • Windowsで/dev/ttyをスキップして/copyのクラッシュを防止 [#15657]
  • writeTodoの構築を修正 [#16014]
  • システムプロンプトの正しいインタラクティブチェックを使用 [#15020]

開発者向け情報

リリースサイクル

Gemini CLIは以下のリリースサイクルを採用しています

  • Stable: 毎週火曜日 UTC 20:00にリリース(前週のpreviewリリースの正式版 + バグ修正)

    npm install -g @google/gemini-cli@latest
    
  • Preview: 毎週火曜日にリリース(新機能とテスト)

    npm install -g @google/gemini-cli@preview
    
  • Nightly: 毎日 UTC 00:00にリリース(mainブランチの最新変更)

    npm install -g @google/gemini-cli@nightly
    

破壊的変更

  • ポリシーエンジンの強制化: レガシー確認設定が非推奨になりました [#15626]
  • フォルダトラストのデフォルト変更: untrustedがデフォルトになりました [#15943]
  • BeforeToolHookOutputから非推奨の権限エイリアスを削除 [#14855]

パフォーマンスと最適化

OpenTelemetryイベントの変更

gemini_cli.smart_edit_strategy および gemini_cli.smart_edit_correctiongemini_cli.edit_* にリネームされました。

コードアシストメトリクスのタイムスタンプ記録 [#15439]

コードアシストメトリクスにタイムスタンプが記録されるようになりました。

デバッグログの改善 [#15443]

スタートアッププロファイラーログが debugLogger.debug を使用するようになりました。


セキュリティ関連の注意事項

コマンドインジェクション脆弱性の修正

Cyera Research Labsにより、2つのセキュリティ脆弱性が発見され、修正されました

  1. 拡張機能のコマンドインジェクション - ファイル名を介した任意のコマンド実行
  2. プロンプトインジェクション経由のシェルコマンド検証バイパス - バッククォート(`)を使用したコマンド置換

Googleは迅速に対応し、Vulnerability Rewards Program (VRP)を通じて修正をリリースしました。


今後の展望

Agent Skillsの今後

Agent Skillsは現在プレビュー段階ですが、以下の機能が計画されています:

  • マーケットプレイスでのスキル配布: 拡張機能マーケットプレイスを通じてスキルをインストール可能に
  • チーム全体でのスキル共有: プロジェクトリポジトリにスキルをコミットして共有

Gemini 3 Proのサポート

v0.16.x以降、Gemini 3 Proがサポートされています。これにより、より高度な推論と複雑なエンジニアリング作業が可能になります。


まとめ

Gemini CLI v0.24.0は、おおよそ以下のようなリリースです:

  1. Agent Skills: モジュール式の専門知識システム
  2. セキュリティ強化: フォルダトラスト、ポリシーエンジン、環境変数リダクション
  3. リモートエージェント: マルチエージェントとTOML設定のサポート
  4. アーキテクチャの近代化: MessageBus移行、ツール統合、モデル解決の標準化
  5. 開発者体験: Google Cloud Monitoring、画像UX、シェル効率化

参照

0
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
0
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?