Gemini CLI 淺探


今天開始淺潛 Gemini CLI 。原來只是用網頁版的 Gemini,而且處理的是文字為主;現在既然已經升級到 Gemini Pro,那麼就充分地運用。

其實我一直都對於太尖端的東西有一點保留。因為以前不管是DOS 、 Windows、 Linux、 Android,反正先吃螃蟹的不是吃到怪味就是吃到拉肚子,什麼東西都不穩不通,要花很多時間來處理奇奇怪怪的問題。所以到後來,新科技基本上要到第三代我才願意用;要不然時間都浪費在搞那些不穩定的問題,反而拖後腿。

Gemini CLI 在2025年6月推出,本來應該算是相當的新,但在這個 AI 快速換代的年代,這已經不算新了;不過,由於快速換代的關係,在網上找到的一些裝設教學,基本上跟現在版本都已經有了代溝,特別是跟 Github MCP Server 的連接,花了許久才打通。

打通後,就把 GitHub 上一個我在幾年前寫的 Python 程式拿來試試。從程式碼重構 (refactoring)、檔案位置移動、加單元測試(unit test,CLI 自己加的)、換 build system、加授權文件檔(License)、最後指向目錄路徑自動儲存、簡化進入介面成單一視窗、把 stdout 轉到視窗裡一個區域、然後每步都推回 Github。整個過程,全都是指揮 CLI 完成。除了下指令外,我唯一真正用鍵盤打字的時候是編修 README.md 檔!


以下是 CLI 對本次對談開發過程與 GitHub 活動的完整總結:

  1. 專案結構標準化與重組:建立了標準的 Python 專案目錄(src/、assets/、tests/),並將原始碼移至 src/tablet_sync_epub/ 套件中,提升了專案的可維護性。

  2. 核心程式碼類別化重構:將原本程序導向的腳本重構為類別架構(EBookSyncApp),並引進 pathlib 進行跨平台路徑管理,使程式碼更具擴展性。

  3. 設定持久化 (AppData) 實作:使用 platformdirs 函式庫,將使用者路徑設定儲存於系統 AppData 目錄中(settings.json),確保程式在安裝後仍能穩定讀寫設定並記憶路徑。

  4. 建置系統遷移 (Briefcase):成功將打包工具從 PyInstaller 遷移至 Briefcase (BeeWare),並配置了 pyproject.toml,使專案能生成原生的 Windows MSI 安裝程式。

  5. 介面簡化與視窗行為優化:移除初始的裝置選擇視窗,簡化為單一主視窗操作;同時透過 transient() 與 grab_set() 修復了子視窗被遮擋的 GUI 顯示問題。

  6. 品牌更名與路徑客製化:將專案中的裝置名稱從 Kindle 逐步更名為 KOReader,並統一將預設同步路徑設定為 H:/Books,以符合您的實際使用場景。

  7. 新增即時執行日誌顯示:在主介面新增了「活動日誌(Activity Log)」文字區塊,並將 stdout(標準輸出)重定向至該區域,讓使用者能實時查看同步與清理進度。

  8. 完善授權與說明文件:新增了 MIT 授權條款 (LICENSE.md)、編寫了單元測試、精簡了 README.md,並建立了詳細的開發上下文文件 GEMINI.md。

GitHub 同步活動摘要:

  • 總共推送 (Push) 提交次數:8 次 Commits。

  • 主要提交內容包含:

    • 專案重構 (67ab5e6)、遷移至 Briefcase (2fa1922)、新增 MIT 授權 (2f285fa)、README 清理 (629b21a)、AppData 設定與介面修復 (e482e02)、KOReader 更名 (42d86bb)、介面簡化 (a9d42f8) 以及新增活動日誌 (c593a29)。



張貼留言

0 留言