讓我看看,誰還沒有用上 Gemini CLI?
- 免費額度:個人 Google 賬户可享受每分鐘 60 次請求的免費額度,足以滿足日常開發中的交互需求。
- 強大的模型支持:由 Gemini 2.5 Pro 模型驅動,擁有高達一百萬 token 的上下文窗口,能夠處理和理解大型代碼庫或複雜的文檔。
- 內置工具集:集成了多種實用工具,包括使用 Google 搜索來提供有時效性的回答、執行文件系統操作、運行 shell 命令以及獲取網頁內容。
- 可擴展性:支持模型上下文協議(Model Context Protocol, MCP),為開發者創建自定義工具集成提供了可能。
- 終端優先設計:完全為那些以命令行作為主要工作環境的開發者量身打造。
- 開源許可:項目基於 Apache 2.0 許可證開源,保證了其透明度和社區參與度。
Gemini CLI 部署起來也很容易,用 ServBay 一鍵安裝好 Node.js 20或者更高的版本,直接通過npm就可以安裝Gemini CLI。
npm install -g @google/gemini-cli
之所以推薦 ServBay ,是因為它提供了一個隔離的集成開發環境,允許開發者通過圖形化界面一鍵部署和管理包括 Node.js、Rust 在內的多種服務。這種方式避免了使用版本管理器(如 nvm)在系統全局範圍內頻繁切換的複雜性,也杜絕了傳統包管理器(如 Homebrew)可能帶來的依賴混亂,乾淨又衞生。
安裝完畢,便可以開始探索 Gemini CLI 的功能。
初始配置:建立與項目的連接
首次在項目中使用 Gemini CLI,需要執行幾個基礎命令來完成初始化和配置。
- /init: 在項目根目錄執行此命令,是與 Gemini CLI 建立聯繫的第一步。它會分析項目結構,為後續的交互提供上下文基礎。
- /auth: 此命令用於處理身份驗證。首次執行時,它會引導用户完成 Google 賬户的登錄與授權流程,確保 CLI 擁有訪問 AI 服務的權限。
- /about: 查詢當前 Gemini CLI 的版本、所使用的底層模型以及配置的身份驗證方法。這個命令有助於瞭解工具的當前狀態。
- /help & /docs: 遇到疑問時,
/help提供了一個快速的命令列表。而/docs則會在瀏覽器中打開官方文檔,供查閲更詳盡的信息。
核心功能:日常工作流中的命令
熟悉基本配置後,以下這些命令將成為日常開發中的得力工具。
- ! (Shell 命令前綴) :這是一個極為實用的功能。在輸入框中以
!開頭,可以直接執行 shell 命令。更進一步,可以結合自然語言讓 Gemini 解釋或生成命令,這對於處理那些複雜或不常用的命令尤為有效。 - /tools: 執行此命令可以列出 Gemini 當前可用的所有工具集。瞭解其能力邊界,有助於提出更精準、更有效的問題。
- /editor:對於需要輸入大段代碼或複雜問題的場景,終端的單行輸入框顯得捉襟見肘。通過
/editor命令配置一個外部文本編輯器(如 VS Code 或 Vim),之後使用Ctrl+X快捷鍵即可在熟悉的環境中編寫提示,完成後保存退出,內容便會自動發送。
會話管理:保存與追溯思路
與 Gemini 的交互是一個連續的對話過程,保留這些上下文對於解決複雜問題非常有價值。
- /chat:這是一個功能強大的會話管理命令。使用
/chat save <name>可以將當前的對話保存下來,以便日後通過/chat resume <name>繼續。它還支持list和delete等操作來管理所有已保存的會話。 - /clear:當需要開始一個全新的話題時,此命令可以清空當前的對話歷史和屏幕,提供一個乾淨的交互界面。
實際應用場景
下面通過幾個具體的例子,展示 Gemini CLI 在實際工作中的應用。
代碼重構建議
假設有一個用於數據驗證的函數,其邏輯雖然正確但不夠簡潔。
// file: validation.js
function checkUserAccess(userObject) {
if (userObject && userObject.isActive && userObject.permissions.level > 1) {
return true;
}
return false;
}
可以向 Gemini CLI 提出請求:
@validation.js Please refactor the checkUserAccess function to be more concise.
Gemini 可能會返回一個更精煉的版本:
// Suggested refactoring
const checkUserAccess = (userObject) =>
!!userObject && userObject.isActive && userObject.permissions.level > 1;
生成 Git 提交信息
編寫規範的 Git commit message 是一項耗時的任務。可以藉助 Gemini CLI 自動化這個過程。首先,查看暫存區的代碼變更:
!git diff --staged
然後,基於這些變更請求生成提交信息:
From the diff above, write a Conventional Commit message.
這將產出一條格式良好、內容準確的提交信息,大大節省了思考和撰寫的時間。
解釋複雜的 Shell 命令
當遇到一段從網絡上覆制的、不甚明瞭的 shell 命令時,直接運行存在風險。可以讓 Gemini 先行解釋。
> Explain this command: awk -F',' '{print $1, $3}' data.csv
Gemini 會提供一個清晰的逐段解釋:
✦ Certainly. This command uses `awk` to process a CSV file. Here is a breakdown:
* `awk`: This is the command-line utility being invoked, designed for text processing.
* `-F','`: The `-F` option sets the field separator. Here, it's set to a comma (`,`), which means `awk` will treat each line as a series of comma-separated fields.
* `'{print $1, $3}'`: This is the action `awk` will perform on each line of the input. It instructs `awk` to print the first field (`$1`) followed by a space, and then the third field (`$3`).
* `data.csv`: This is the input file for the command.
In summary, the command reads the `data.csv` file, splits each line by commas, and prints the first and third columns from each line to the standard output.
結語
將 Gemini CLI 集成到開發工作流中,讓你的開發工作從從容容遊刃有餘。使用 ServBay 搭建一個可靠的運行環境開始,到熟練運用其核心命令解決編碼、代碼管理和系統操作中的實際問題,開發者可以獲得更流暢、更專注的工作體驗。掌握這些工具,你就不會匆匆忙忙連滾帶爬。