Files
ai-guide/translations/zh-TW/Vibe Coding 零基础教程/10 编程工具/工具实战/Gemini CLI 首测:免费开源很香,但坑点很多!.md
T

351 lines
13 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Gemini CLIGoogle 的免費 AI 命令列工具實測
你好,我是魚皮。
Google 推出了一個很有意思的 AI 命令列工具 —— Gemini CLI,直接把 AI 塞進了終端裡。
![](https://pic.yupi.icu/1/1750927083919-e42152fe-9df9-4686-b813-388ae261b738.png)
根據 [官方介紹](https://github.com/google-gemini/gemini-cli),這個工具能:
- 處理大型程式碼庫(高達 100 萬的 Token 上下文)
- 有多模態能力:能從 PDF 或草圖生成新應用
- 能自動化維運:幫你查詢程式碼合併請求、處理複雜的程式碼合併
- 整合了大量工具:支援連接 MCP 伺服器,支援圖像、影片、音訊生成
- 還有內建搜尋等等
對標 Claude Code,現在還有免費使用額度、而且最好的是程式碼開源!
![](https://pic.yupi.icu/1/image-20260112165459541.png)
截止到 2026 年 1 月,Gemini CLI 已經有 **9 萬+ GitHub Stars**,火箭式漲星!
那這個工具到底怎麼樣呢?我來帶大家實際體驗一下,說說我自己真實的使用感受。
⭐️ 推薦觀看影片版:[https://bilibili.com/video/BV1LuKdzjEAc](https://www.bilibili.com/video/BV1LuKdzjEAc/)
## 一、安裝和啟動
按照官方提供的文件,我們要先安裝 Node.js 執行環境,直接去 [官網](https://nodejs.org/) 安裝就好了,**注意版本要 >= 20**2026 年最新要求)。
然後打開終端,輸入一行命令全域安裝工具:
```bash
npm install -g @google/gemini-cli
```
或者用 Homebrew 安裝(macOS/Linux):
```bash
brew install gemini-cli
```
安裝完成後,輸入 `gemini` 命令,做一些基礎的設定:
![](https://pic.yupi.icu/1/1750927215041-aef86c7f-90b6-41e1-8509-cb53809372dd.png)
接下來是關鍵了,需要經過一波帳號驗證,個人用戶選第一項就好。
![](https://pic.yupi.icu/1/1750927255279-3b2d860a-c514-492a-8b27-a8abe27b4b31.png)
這裡大家可能會遇到 2 種驗證失敗的情況,第一種是網路原因(這個不好搞),第二種是說帳號類型不符合要求,如圖:
![](https://pic.yupi.icu/1/1750927301003-4937f694-3fc9-493f-8309-e169439f59fa.png)
對於第二種情況,解決方案很簡單。進入 [Google Cloud](https://console.cloud.google.com/) 控制台,新建一個專案得到 `project_id`
![](https://pic.yupi.icu/1/1750927486133-ecf76c02-ba82-4f85-adfe-4d168247bee6.png)
然後在終端輸入下列命令設定環境變數,重試就能登入進去了:
```bash
export GOOGLE_CLOUD_PROJECT=<你的 project_id>
```
登入成功後,我們就可以開始使用了。
## 二、實戰測試
接下來我選了 8 個不同的場景來從多個方面驗證它的能力,大家也可以感受下 Gemini CLI 的真實水平到底如何,大家說好才是真的好。
![](https://pic.yupi.icu/1/1750928002955-c44764ed-abd4-4568-ad07-954d909aa360.png)
### 1、基礎問答
輸入提示詞:
```
你好,請問你能做些什麼?有什麼優勢?
```
結果沒想到,一上來就報錯了?而且各種胡言亂語。
![](https://pic.yupi.icu/1/1750928093701-0a2cdf6c-483c-4198-8933-00268b7ca2af.png)
過了一會兒,終於滿屏飄紅了,看報錯的意思是我沒開啟 API 權限:
![](https://pic.yupi.icu/1/1750928146165-9359e7e2-0dfa-4b7e-b3bb-31bfcf94b540.png)
直接訪問錯誤資訊中的網址,就能去控制台開啟 API 權限了,開一下開一下:
![](https://pic.yupi.icu/1/1750928172586-6ec6dd3b-db41-4fb3-b096-e933936e1e37.png)
再來!這次 AI 的回覆就對味了,他說自己是個AI軟體工程師,確保操作的透明和安全。結果還可以,就是速度有點小慢啊,這麼一個簡單的問題花了 20 秒,這也是智能體的一個副作用吧。
![](https://pic.yupi.icu/1/1750928224341-15221ba1-7dd2-462a-91f2-f9d832eda07c.png)
### 2、網頁搜尋
輸入提示詞,讓 AI 自動上網下載表情包:
```markdown
請幫我獲取 10 張健康的熊貓頭表情包,並且下載到當前目錄下
```
結果 AI 給我推薦了幾個表情包網站,無法直接下載:
![](https://pic.yupi.icu/1/1750928294365-8a9833e9-a05a-413f-8090-af944d2b4daf.png)
是不是不支援下載工具啊?
我們輸入下 `/` 鍵,就可以看到 Gemini CLI 支援的命令:
![](https://pic.yupi.icu/1/1750928337773-c1fec292-a628-4b3d-93e4-a8846ab7b5b2.png)
進入查看工具列表,發現好像沒有網頁資源下載工具,也是難為 AI 了。但是它支援編寫 Shell 腳本,所以我們不妨引導 AI 編寫腳本來實現資源下載。
![](https://pic.yupi.icu/1/1750928445912-9ba1f2bd-2262-499b-bec0-0f5caf967a47.png)
提示詞:
```markdown
請幫我獲取 10 張健康的熊貓頭表情包,並且下載到當前目錄下,你可以通過編寫可執行腳本來實現圖片的下載
```
這次就可以看到智能體開始自主規劃任務了,先創建了一個腳本,然後「寫文件」操作需要我們確認,這裡建議選擇僅允許一次,安全一些:
![](https://pic.yupi.icu/1/1750928484880-802fa820-8ebe-44d2-963e-34b4eeca590c.png)
遇到問題它會嘗試 **重新規劃** 然後重試,這也是智能體的一個關鍵能力:
![](https://pic.yupi.icu/1/1750928516938-edbd9bb5-1507-4835-a83f-fa64ab5bed4d.png)
任務執行完後還記得清理腳本,這個很不錯。
![](https://pic.yupi.icu/1/1750928581541-3e1fdfc3-f18b-4202-9b74-b7e351cce7fd.png)
好了,大功告成,我們看看下載好的文件,這個尺寸是認真的麼?果然翻車了,下載的圖片根本不對!
![](https://pic.yupi.icu/1/1750928679026-e945b956-7b1c-40ae-b941-5c41afbab70f.png)
### 3、文件操作
輸入下列提示詞,讓 AI 幫忙處理我本地的表情包文件:
```markdown
幫我把所有的表情包尺寸放大 1 倍,並且轉換為 WEBP 格式,然後將所有表情包組合在一起生成為 GIF
```
然後應該要指定文件路徑吧,不然 AI 可能不知道要處理什麼。
結果當我輸入 `@` 鍵指定文件路徑時,好傢伙,輸入框直接卡死了?該說不說,這個互動體驗不夠好,我每次選擇文件都會卡,而且選擇不了目錄。
![](https://pic.yupi.icu/1/1750928995135-adc3d93a-6afc-4c0e-b971-5ba627ec3fc5.png)
經過一番折騰,我發現 得慢點選擇,跟著程序列舉出的目錄樹進行選擇,就先選一個圖片吧:
![](https://pic.yupi.icu/1/1750929221785-9d4261ea-92e5-439e-b038-54ccb9bcfa33.png)
好,這次 AI 聰明了,問我是不是要處理多個文件,必須的:
![](https://pic.yupi.icu/1/1750929281202-176c6599-3e3c-4b0c-93ba-2462c91bf375.png)
然後 AI 發現無法處理圖片,要下載一個圖片處理工具,然後它說要利用 Mac 上的軟體包管理工具來安裝,同意即可:
![](https://pic.yupi.icu/1/1750929456285-d75c4e55-2593-424c-8bf0-1e52222305eb.png)
經過漫長的等待,等了快 10 分鐘竟然還沒好?!
![](https://pic.yupi.icu/1/1750929498503-93b9d475-97a3-4979-92b5-c1538dce9396.png)
可能是我自己的網路原因吧,但我實在等不下去了。老實說測到這裡,我心態都已經有點崩了,凌晨兩點半隔這兒等軟體安裝?
![](https://pic.yupi.icu/1/1750929564667-ba06cda8-cd5e-44b5-afac-28c62e3af961.png)
不是,這玩意你寫個簡單的 Python 腳本不就搞定了?
感覺這個工具還是得給程式設計師用,要稍微加一些引導,比如我們讓 AI 利用 Python 腳本實現任務:
```markdown
幫我把所有的表情包尺寸放大 1 倍,並且轉換為 WEBP 格式,然後將所有表情包組合在一起生成為 GIF,使用 Python 腳本實現
```
可以看到 AI 安裝了圖像處理庫,然後創建了一個虛擬環境,你別說它對安全性的考慮還是 ok 的:
![](https://pic.yupi.icu/1/1750929702268-23a76696-f001-444f-8986-f28ad42d3b39.png)
然後編寫腳本並執行:
![](https://pic.yupi.icu/1/1750929740570-990bbe0f-f685-4e7d-be7f-ef53402882e5.png)
任務成功完成,看下效果:
![](https://pic.yupi.icu/1/1750929779663-14caecd9-ae80-4727-bc3f-0542fbdf71fe.png)
尺寸確實放大了,格式也轉換成功了,GIF 也成功生成了。終於順利完成了一次任務,還不戳。通過這種方式處理本地圖片確實是要比網頁端的 AI 應用方便很多。
### 4、生成程式碼
輸入下列提示詞,讓 AI 幫我做個像素攝影網站:
```markdown
請幫我製作一個網站,能夠調用攝像頭進行拍照,並將照片轉為像素風,支援下載,要求界面簡潔炫酷
```
這次生成速度還是挺快的,就是過程中得多次進行人工確認:
![](https://pic.yupi.icu/1/1750929959173-97f40707-bbcc-4cba-a021-4e3c9e7372d4.png)
我們來看下生成的網站效果:
![](https://pic.yupi.icu/1/1750930213995-9ca12c77-e2f4-4626-9da4-8f2783d73eeb.png)
可以調整像素的密度,還可以一鍵下載照片,效果還是挺不錯的,這次任務 AI 也順利完成了~
![](https://pic.yupi.icu/1/1750930254795-38b8adcb-3a87-44dd-99d4-0b37532ae1fc.png)
### 5、解釋程式碼
給剛剛生成的專案補充一個學習指南,輸入提示詞:
```markdown
幫我生成該專案的學習指南,幫助新開發者快速上手
```
由於 AI 有上下文,它直接 get 到了我想讓他分析哪個專案,然後很快生成了一個專案文件。
![](https://pic.yupi.icu/1/1750930402860-d39c7707-0e3d-4cc8-aaeb-dbf9344589e4.png)
然後我讓 AI 幫我打開文件文件:
![](https://pic.yupi.icu/1/1750930530481-8b8f0abf-30fd-48ff-b36c-61b168af2cde.png)
本來是想讓 AI 直接打開 Markdown 閱讀軟體的,但沒想到它直接給我輸出了一堆無關的內容,我表示不理解。
![](https://pic.yupi.icu/1/1750930702812-27e5e920-9e3c-48f7-8957-60025b80b773.png)
那我自己打開好了吧,生成的文件內容還是過關的,標準的 GitHub 開源專案文件。
![](https://pic.yupi.icu/1/1750930759557-f4b0a16f-d1c8-46fe-b0e5-21910a2bf752.png)
### 6、生成架構圖
好,鑒於剛剛的任務完成得還可以,我們加大難度。讓 AI 生成一個專案的分層架構圖:
```markdown
幫我針對當前專案,生成分層架構圖
```
結果就有點烏龍了,AI 給我生成了一個架構設計文件:
![](https://pic.yupi.icu/1/1750930929870-b368fc52-c779-42f0-9ad5-fb056b99ef84.png)
你管這純英文文件叫做架構圖?
![](https://pic.yupi.icu/1/1750930979557-8ab249fe-727e-4041-99b7-9e154a742090.png)
那我再發揮一下僅存的專業性,讓他幫我生成架構圖的繪圖程式碼:
```markdown
幫我針對當前專案,生成分層架構圖的 draw.io 程式碼
```
這次看著靠譜多了:
![](https://pic.yupi.icu/1/1750931031112-0247644b-2626-459a-ae81-a240ad782400.png)
來,我們把 AI 生成的架構圖程式碼文件拖到 draw.io 中打開。
不是哥們?你管這叫架構圖?
![](https://pic.yupi.icu/1/1750931055227-1e674680-468c-4c4d-b182-8bd3026c993e.png)
來,同樣的任務,我們用 Cursor + Claude 4 試一試。
哎,你看人家 Claude 很有自信,說「我可以為您生成一個更完整和詳細的分層架構圖」:
![](https://pic.yupi.icu/1/1750931203239-924cc09e-c80f-4acf-9855-66d6b4102cac.png)
好,看下生成後的效果,是不是高下立判啊!
![](https://pic.yupi.icu/1/1750931312134-a573f7ff-07ca-4852-830a-07d74bc21690.png)
### 7、生成可視化圖表
讓 AI 幫我分析專案的提交記錄,輸入提示詞:
```markdown
根據當前專案的提交記錄,生成可視化圖表,便於我來分析專案的發展歷程
```
可以看到 AI 使用 git log 命令查看程式碼提交記錄,然後開始生成圖表。
![](https://pic.yupi.icu/1/1750931424995-0e5cd8c2-1dfe-4f09-ac29-c08b1c1388b4.png)
等等?圖表在哪兒呢???
我的預期肯定是生成一個圖片,或者起碼是一個字符畫,看著像圖也行啊,有點為難他了。
### 8、多模態
等驗證到多模態的時候已經是凌晨 3 點,我都已經麻了,唉,最後再堅持試試多模態吧。
輸入生成圖片提示詞:
```markdown
幫我基於當前目錄下的圖片,生成一個風格相似的新圖片
```
這次 AI 乾脆直接拒絕了,不支援圖片創作,你倒是寫個腳本啊?!你不用 AI,用個圖像處理也行對不對?
![](https://pic.yupi.icu/1/1750931630520-47da3d4e-c55e-4b1c-9507-17dd0f08cb1e.png)
那再解釋個圖片試試,輸入解釋圖片提示詞:
```markdown
幫我解釋當前目錄下所有的圖片
```
這倒是解釋出來了,吐槽一下,竟然還是英文輸出,可能跟程序本身的語言設定有關吧,體驗沒有那麼好。
![](https://pic.yupi.icu/1/1750931670952-251c1eb3-487a-44ca-b217-194f92a5442a.png)
Gemini CLI 背後用的應該是 Gemini 2.5 Pro 模型,是具有原生多模態輸入能力的,也就是說能識圖,但是並不能創作圖片,包括創作音訊和影片應該都是通過第三方大模型(或者 MCP 工具實現的)。
最後再讓他解釋個 PDF 吧,輸入提示詞:
```markdown
幫我總結 PDF 的內容,並生成一個新的 PDF
```
結果出乎我意料了,AI 提示輸入超出了 token 限制?