Gemini CLI 使用手冊
首頁
命令列介面
核心概念
工具執行
開源貢獻
報名課程
首頁
命令列介面
核心概念
工具執行
開源貢獻
報名課程
  • 歡迎使用 Gemini CLI 使用手冊
  • 執行與部署
  • 架構總覽
  • 檢查點 (Checkpointing)
  • 擴充功能
  • 可觀測性指南
  • 疑難排解指南
  • 服務條款與隱私權聲明
  • 套件總覽
  • 整合測試
  • 配額與定價
  • 沙盒功能
  • 解除安裝 CLI

架構總覽

本文件提供 Gemini CLI 架構的高階總覽。

核心元件

Gemini CLI 主要由兩個主要套件組成,並附帶一套系統在處理命令列輸入過程中可使用的工具:

  1. CLI 套件 (packages/cli):

    • 用途: 此套件包含 Gemini CLI 面向使用者的部分,例如處理初始使用者輸入、呈現最終輸出以及管理整體使用者體驗。
    • 套件中包含的主要功能:
      • 輸入處理
      • 歷史記錄管理
      • 顯示渲染
      • 主題與 UI 自訂
      • CLI 設定
  2. 核心套件 (packages/core):

    • 用途: 此套件作為 Gemini CLI 的後端。它接收從 packages/cli 傳送的請求,協調與 Gemini API 的互動,並管理可用工具的執行。
    • 套件中包含的主要功能:
      • 用於與 Google Gemini API 通訊的 API 用戶端
      • 提示建構與管理
      • 工具註冊與執行邏輯
      • 對話或工作階段的狀態管理
      • 伺服器端設定
  3. 工具 (packages/core/src/tools/):

    • 用途: 這些是擴充 Gemini 模型功能的個別模組,使其能夠與本機環境互動(例如,檔案系統、shell 指令、網路擷取)。
    • 互動: packages/core 根據 Gemini 模型的請求叫用這些工具。

互動流程

與 Gemini CLI 的典型互動遵循以下流程:

  1. 使用者輸入: 使用者在終端機中輸入提示或指令,由 packages/cli 管理。
  2. 向核心發出請求: packages/cli 將使用者的輸入傳送至 packages/core。
  3. 請求已處理: 核心套件:
    • 為 Gemini API 建構適當的提示,可能包含對話記錄和可用的工具定義。
    • 將提示傳送至 Gemini API。
  4. Gemini API 回應: Gemini API 處理提示並傳回回應。此回應可能是直接回答或使用其中一個可用工具的請求。
  5. 工具執行(如果適用):
    • 當 Gemini API 請求工具時,核心套件會準備執行它。
    • 如果請求的工具可以修改檔案系統或執行 shell 指令,則會先向使用者提供工具及其引數的詳細資訊,並且使用者必須核准執行。
    • 唯讀作業(例如讀取檔案)可能不需要使用者明確確認即可繼續。
    • 一旦確認,或者如果不需要確認,核心套件會在相關工具中執行相關動作,然後核心套件會將結果傳回給 Gemini API。
    • Gemini API 會處理工具結果並產生最終回應。
  6. 回應 CLI: 核心套件將最終回應傳回給 CLI 套件。
  7. 向使用者顯示: CLI 套件會格式化並在終端機中向使用者顯示回應。

主要設計原則

  • 模組化: 將 CLI(前端)與核心(後端)分開,可實現獨立開發和未來的潛在擴充(例如,相同後端搭配不同的前端)。
  • 可擴充性: 工具系統設計為可擴充,可新增功能。
  • 使用者體驗: CLI 專注於提供豐富且互動的終端機體驗。
Last Updated: 7/6/25, 2:17 PM
Contributors: doggy8088
Prev
執行與部署
Next
檢查點 (Checkpointing)
本網站由 Will 保哥 翻譯、建置與維護,歡迎追蹤我的
歡迎追蹤我的 Will 保哥的技術交流中心 粉絲團