gac 命令列使用

June 22, 2026 · View on GitHub

English | 简体中文 | 繁體中文 | 日本語 | 한국어 | हिन्दी | Tiếng Việt | Français | Русский | Español | Português | Norsk | Svenska | Deutsch | Nederlands | Italiano

本文件介紹了 uvx gac CLI 工具的所有可用標誌和選項。

目錄

基本使用

uvx gac init
# 然後按照提示以互動方式設定你的提供者、模型和 API 金鑰
uvx gac

為暫存的變更生成 LLM 驅動的提交訊息並提示確認。確認提示接受:

  • yyes - 繼續提交
  • nno - 取消提交
  • rreroll - 使用相同的上下文重新生成提交訊息
  • eedit - 編輯提交訊息。預設情況下,開啟帶 vi/emacs 鍵繫結的就地 TUI。設定 GAC_EDITOR 以開啟您偏好的編輯器(例如,GAC_EDITOR=code gac 用於 VS Code,GAC_EDITOR=vim gac 用於 vim)
  • 任何其他文字 - 使用該文字作為回饋重新生成(例如,讓它更短專注於效能
  • 空輸入(只按 Enter)- 再次顯示提示

核心工作流程標誌

標誌 / 選項簡寫描述
--add-all-a在提交之前暫存所有變更
--stage-S使用基於樹的 TUI 互動式選擇要暫存的檔案
--group-g將暫存的變更分組為多個邏輯提交
--push-p提交後推送變更到遠端
--yes-y自動確認提交而不提示
--dry-run顯示會發生什麼而不進行任何變更
--message-only只輸出產生的提交訊息,本身不對 git 進行任何提交
--no-verify提交時跳過 pre-commit 和 lefthook 鉤子
--skip-secret-scan跳過暫存變更中的密鑰安全掃描
--no-verify-ssl跳過 SSL 證書驗證(適用於企業代理)
--signoff新增 Signed-off-by 行到提交訊息(DCO 合規)
--interactive-i就變更提問以獲得更好的提交

注意:--stage--add-all 互斥。使用 --stage 互動式選擇要暫存的檔案,使用 --add-all 一次性暫存所有變更。

**注意:**組合 -a-g(即 -ag)以先暫存所有變更,然後將它們分組為提交。

**注意:**使用 --group 時,最大輸出權杖限制會根據正在提交的檔案數量自動縮放(1-9 個檔案為 2 倍,10-19 個檔案為 3 倍,20-29 個檔案為 4 倍,30+ 個檔案為 5 倍)。這確保 LLM 有足夠的權杖來生成所有分組提交而不會被截斷,即使對於大型變更集也是如此。

注意:--message-only--group 是互斥的。需要將提交訊息提供給外部腳本或工具處理時,請使用 --message-only;需要在目前的 git 工作流程中組織多個提交時,請使用 --group

注意:--interactive 標誌透過就你的變更提問,為 LLM 提供額外上下文,從而產生更準確、更詳細的提交訊息。這特別適用於複雜變更,或者當你希望確保提交訊息捕捉到工作的完整上下文時。

訊息客製化

標誌 / 選項簡寫描述
--one-liner-o生成單行提交訊息
--verbose-v生成包含動機、架構和影響的詳細提交訊息
--hint <text>-h新增提示以引導 LLM
--model <model>-m指定用於此次提交的模型
--language <lang>-l覆蓋語言(名稱或代碼:'Spanish'、'es'、'zh-CN'、'ja')
--scope-s為提交推斷適當的範圍
--50-72對提交訊息格式應用 50/72 規則

注意:--50-72 標誌應用 50/72 規則,其中:

  • 主題行:最多 50 個字符
  • 正文行:每行最多 72 個字符
  • 這使得提交訊息在 git log --oneline 和 GitHub 的 UI 中保持可讀性

你還可以在 .gac.env 文件中設置 GAC_USE_50_72_RULE=true 以始終應用此規則。

**注意:**你可以透過在確認提示符處簡單地輸入來互動式提供回饋 - 無需前綴 'r'。輸入 r 進行簡單的重新生成,e 編輯訊息(預設就地 TUI,或設定了 $GAC_EDITOR 時使用該編輯器),或直接輸入你的回饋,如 讓它更短

輸出和詳細程度

標誌 / 選項簡寫描述
--quiet-q抑制除錯誤外的所有輸出
--log-level <level>設定日誌級別(debug、info、warning、error)
--show-prompt列印用於提交訊息生成的 LLM 提示

說明和版本

標誌 / 選項簡寫描述
--version顯示 gac 版本並退出
--help顯示說明訊息並退出

範例工作流程

  • 暫存所有變更並提交:

    uvx gac -a
    
  • 一步提交並推送:

    uvx gac -ap
    
  • 生成單行提交訊息:

    uvx gac -o
    
  • 生成包含結構化部分的詳細提交訊息:

    uvx gac -v
    
  • 為 LLM 新增提示:

    uvx gac -h "重構身份驗證邏輯"
    
  • 為提交推斷範圍:

    uvx gac -s
    
  • 將暫存的變更分組為邏輯提交:

    uvx gac -g
    # 僅分組你已經暫存的檔案
    
  • 分組所有變更(暫存 + 未暫存)並自動確認:

    uvx gac -agy
    # 暫存所有內容,分組,並自動確認
    
  • 僅為此次提交使用特定模型:

    uvx gac -m anthropic:claude-haiku-4-5
    
  • 以特定語言生成提交訊息:

    # 使用語言代碼(較短)
    uvx gac -l zh-CN
    uvx gac -l ja
    uvx gac -l es
    
    # 使用完整名稱
    uvx gac -l "Simplified Chinese"
    uvx gac -l Japanese
    uvx gac -l Spanish
    
  • 演練(檢視會發生什麼):

    uvx gac --dry-run
    
  • 只取得提交訊息(供腳本整合使用):

    uvx gac --message-only
    # 範例輸出:feat: add user authentication system
    
  • 以單行格式取得提交訊息:

    uvx gac --message-only --one-liner
    # 範例輸出:feat: add user authentication system
    
  • 使用互動模式提供上下文:

    uvx gac -i
    # 這些變更的主要目的是什麼?
    # 你在解決什麼問題?
    # 有什麼實作細節值得一提嗎?
    
  • 互動模式配合詳細輸出:

    uvx gac -i -v
    # 提問並生成詳細的提交訊息
    

進階

  • 組合標誌以獲得更強大的工作流程(例如,uvx gac -ayp 以暫存、自動確認和推送)
  • 使用 --show-prompt 偵錯或檢視傳送給 LLM 的提示
  • 使用 --log-level--quiet 調整詳細程度

跳過 Pre-commit 和 Lefthook 鉤子

--no-verify 標誌允許你跳過專案中設定的任何 pre-commit 或 lefthook 鉤子:

uvx gac --no-verify  # 跳過所有 pre-commit 和 lefthook 鉤子

在以下情況下使用 --no-verify

  • Pre-commit 或 lefthook 鉤子暫時失敗
  • 使用耗時的鉤子
  • 提交尚未通過所有檢查的進行中工作程式碼

**注意:**謹慎使用,因為這些鉤子維護程式碼品質標準。

安全掃描

uvx gac 包含內建的安全掃描,在任何 AI API 呼叫之前自動檢測暫存變更中的潛在密鑰和 API 金鑰。如果檢測到密鑰,工作流程將立即中止 — 不會進行任何 API 呼叫。這確保了您的敏感資料永遠不會傳送到任何 AI 模型。掃描程式使用基於正則表達式的模式匹配,而非 LLM,因此掃描速度快且完全在本機執行。

跳過安全掃描:

uvx gac --skip-secret-scan  # 為此次提交跳過安全掃描

**要永久停用:**在你的 .gac.env 檔案中設定 GAC_SKIP_SECRET_SCAN=true

何時跳過:

  • 提交帶有佔位符密鑰的範例程式碼
  • 使用包含虛擬憑證的測試裝置
  • 當你已經驗證變更是安全的

**注意:**掃描程式使用基於正則表達式的模式匹配(而非 LLM)來檢測常見的密鑰格式。它在任何 AI API 呼叫之前執行 — 如果發現密鑰,則不會進行任何 API 呼叫。在提交之前,始終檢視你的暫存變更。

二進位檔案偵測

uvx gac 包含對暫存變更中二進位檔案的自動偵測功能,防止意外提交編譯檔案、圖片和其他通常不應放在版本控制中的二進位資產。偵測器使用多種策略:

  • 基於副檔名的偵測 - 快速識別 60 多種二進位檔案類型
  • 空位元組偵測 - 二進位內容的可靠指示器
  • UTF-8 有效性檢查 - 文字檔案應為有效的 UTF-8 或 ASCII
  • 魔數識別 - 從檔案簽章偵測檔案類型

支援的二進位類型:

  • 可執行檔案: .exe, .dll, .so, .dylib, .bin, .o, .obj, .lib, .a
  • 壓縮檔: .zip, .tar, .gz, .bz2, .7z, .rar, .xz, .zst
  • 圖片: .png, .jpg, .jpeg, .gif, .bmp, .ico, .tiff, .webp
  • 媒體: .mp3, .wav, .ogg, .flac, .m4a, .aac, .mp4, .avi, .mkv, .mov, .wmv
  • 字型: .ttf, .otf, .woff, .woff2, .eot
  • 文件: .pdf, .doc, .docx, .xls, .xlsx, .ppt, .pptx
  • 資料庫: .db, .sqlite, .sqlite3, .mdb, .accdb
  • 編譯程式碼: .class, .jar, .war, .ear, .pyc, .pyd, .pyo, .beam, .hi

偵測到二進位檔案時:

uvx gac
# 輸出:
# BINARY FILE WARNING: Binary files detected!
#
#   • image.png
#     Type: Image file
#     Size: 2.3 MB
#
# Binary files should typically be excluded from version control.
# Use .gitignore to prevent accidental commits of binary files.
#
# Options:
#   [a] Abort commit (recommended)
#   [c] Continue anyway (you know what you're doing)
#   [r] Unstage binary file(s) and continue(取消暫存二進位檔案)
#
# Choose an option [a]:

最佳實務:

  1. 將二進位模式新增到 .gitignore:

    # Compiled files
    *.exe
    *.dll
    *.so
    *.dylib
    *.o
    *.a
    
    # Images
    *.png
    *.jpg
    *.jpeg
    *.gif
    
    # Archives
    *.zip
    *.tar.gz
    
    # Python
    *.pyc
    __pycache__/
    
  2. 對必須追蹤的大型二進位檔案使用 Git LFS:

    git lfs track "*.psd"
    git lfs track "*.zip"
    
  3. 僅在必要時提交二進位檔案:

    • 作為程式碼庫一部分的圖示和資產
    • 需要版本控制的測試裝置
    • 文件圖片

**注意:**二進位偵測在提交工作流程期間自動執行(類似於秘密掃描)。沒有標誌可以停用它,因為二進位檔案通常不應該提交,除非有特定原因。如果需要提交二進位檔案,請選擇 "Continue anyway" 選項或確保它在專案指南中有適當的文件說明。

SSL 證書驗證

--no-verify-ssl 標誌允許你跳過 API 調用的 SSL 證書驗證:

uvx gac --no-verify-ssl  # 跳過此次提交的 SSL 驗證

**要永久設定:**在你的 .gac.env 檔案中設定 GAC_NO_VERIFY_SSL=true

在以下情況下使用 --no-verify-ssl

  • 企業代理攔截 SSL 流量(MITM 代理)
  • 開發環境使用自簽名證書
  • 遇到因網路安全設定導致的 SSL 證書錯誤

**注意:**僅在你信任的網路環境中使用此選項。停用 SSL 驗證會降低安全性,可能使你的 API 請求容易受到中間人攻擊。

Signed-off-by 行(DCO 合規)

uvx gac 支援向提交訊息新增 Signed-off-by 行,這在許多開源專案中是 Developer Certificate of Origin (DCO) 合規所必需的。

新增 signoff :

uvx gac --signoff  # 新增 Signed-off-by 行到提交訊息(DCO 合規)

要永久啟用 : 在您的 .gac.env 檔案中設定 GAC_SIGNOFF=true,或將 signoff=true 新增到您的設定中。

功能 :

  • 在提交訊息中新增 Signed-off-by: 您的姓名 <your.email@example.com>
  • 使用您的 git 設定(user.nameuser.email)來填充該行
  • Cherry Studio、Linux 核心和其他使用 DCO 的專案需要此功能

設定 git 身份資訊 :

確保您的 git 設定具有正確的姓名和電子郵件 :

git config --global user.name "Your Full Name"
git config --global user.email "your.email@example.com"

注意 : Signed-off-by 行是在提交時由 git 新增的,而不是在訊息生成時由 AI 新增的。您在預覽中看不到它,但它會在最終提交中(使用 git log -1 檢查)。

設定說明

  • 設定 gac 的推薦方法是執行 uvx gac init 並按照互動式提示操作。
  • 已經設定好語言,只想切換提供者或模型?執行 uvx gac model,它會跳過所有語言相關的問題。
  • 使用 Claude Code? 請參閱Claude Code 設定指南取得 OAuth 驗證說明。
  • 使用 ChatGPT OAuth? 請參閱 ChatGPT OAuth 設定指南 取得瀏覽器驗證說明。
  • 使用 GitHub Copilot? 請參閱GitHub Copilot 設定指南取得 Device Flow 驗證說明。
  • gac 按以下優先順序順序載入設定:
    1. CLI 標誌
    2. 專案級 .gac.env
    3. 使用者級 ~/.gac.env
    4. 環境變數

進階設定選項

你可以使用這些可選的環境變數自訂 gac 的行為:

  • GAC_EDITOR=code --wait - 覆寫在確認提示符處按 e 時使用的編輯器。預設情況下,e 開啟就地 TUI;設定 GAC_EDITOR 將切換到外部編輯器。支援任何帶參數的編輯器命令。對於已知的 GUI 編輯器(VS Code、Cursor、Zed、Sublime Text),等待標誌(--wait/-w)會自動插入,以便程序在關閉檔案前一直阻塞
  • GAC_ALWAYS_INCLUDE_SCOPE=true - 自動推斷並在提交訊息中包含範圍(例如,feat(auth): vs `feat:)
  • GAC_ALWAYS_GROUPED=true - 始終使用分組提交模式(相當於始終傳遞 -g--group 標誌)
  • GAC_VERBOSE=true - 生成包含動機、架構和影響部分的詳細提交訊息
  • GAC_USE_50_72_RULE=true - 始終對提交訊息應用 50/72 規則(主題 ≤50 字符,正文行 ≤72 字符)
  • GAC_SIGNOFF=true - 始終在提交中新增 Signed-off-by 行(用於 DCO 合規)
  • GAC_TEMPERATURE=0.7 - 控制 LLM 創造力(0.0-1.0,較低 = 更專注)
  • GAC_REASONING_EFFORT=medium - 控制支援延伸思考模型之推理/思考深度(low、medium、high、max)。勿設定則使用各模型預設值。僅傳送至相容之提供者(OpenAI 風格;非 Anthropic)。
  • GAC_MAX_OUTPUT_TOKENS=4096 - 生成訊息的最大權杖數(使用 --group 時根據檔案數量自動縮放 2-5 倍;覆蓋以提高或降低)
  • GAC_WARNING_LIMIT_TOKENS=4096 - 當提示超過此權杖數時發出警告
  • GAC_SYSTEM_PROMPT_PATH=/path/to/custom_prompt.txt - 使用自訂系統提示進行提交訊息生成
  • GAC_LANGUAGE=Spanish - 以特定語言生成提交訊息(例如,Spanish、French、Japanese、German)。支援完整名稱或 ISO 代碼(es、fr、ja、de、zh-CN)。使用 uvx gac language 進行互動式選擇
  • GAC_TRANSLATE_PREFIXES=true - 將常規提交前綴(feat、fix 等)翻譯為目標語言(預設值:false,保持前綴為英語)
  • GAC_SKIP_SECRET_SCAN=true - 停用暫存變更中的密鑰自動安全掃描(謹慎使用)
  • GAC_NO_VERIFY_SSL=true - 跳過 API 調用的 SSL 證書驗證(適用於攔截 SSL 流量的企業代理)
  • GAC_DISABLE_STATS=true - 停用使用統計追蹤(不讀取或寫入統計檔案;現有資料將保留)。僅 truthy 值停用統計;設定為 false/0/no/off 保持統計啟用,與不設定變數相同

檢視 .gac.env.example 了解完整的設定範本。

有關建立自訂系統提示的詳細指導,請參閱 docs/CUSTOM_SYSTEM_PROMPTS.md

設定子命令

以下子命令可用:

  • uvx gac init — 提供者、模型和語言設定的互動式設定精靈
  • uvx gac model — 提供者/模型/API 金鑰設定,無語言提示(適合快速切換)
  • uvx gac auth — 顯示所有提供者的 OAuth 驗證狀態
  • uvx gac auth claude-code login — 使用 OAuth 登入 Claude Code(開啟瀏覽器)
  • uvx gac auth claude-code logout — 從 Claude Code 登出並刪除儲存的權杖
  • uvx gac auth claude-code status — 檢查 Claude Code 身份驗證狀態
  • uvx gac auth chatgpt login — 使用 OAuth 登入 ChatGPT(開啟瀏覽器)
  • uvx gac auth chatgpt logout — 從 ChatGPT 登出並刪除儲存的權杖
  • uvx gac auth chatgpt status — 檢查 ChatGPT 身份驗證狀態
  • uvx gac auth copilot login — 使用 Device Flow 登入 GitHub Copilot
  • uvx gac auth copilot login --host ghe.mycompany.com — 登入 GitHub Enterprise 實例上的 Copilot
  • uvx gac auth copilot logout — 從 Copilot 登出並刪除儲存的令牌
  • uvx gac auth copilot status — 檢查 Copilot 身份驗證狀態
  • uvx gac config show
  • uvx gac config set KEY VALUE — 在 $HOME/.gac.env 中設定設定金鑰
  • uvx gac config get KEY — 獲取設定值
  • uvx gac config unset KEY — 從 $HOME/.gac.env 中刪除設定金鑰
  • uvx gac language(或 uvx gac lang)— 提交訊息的互動式語言選擇器(設定 GAC_LANGUAGE)
  • uvx gac editor(或 uvx gac edit)— 確認提示符中 e 鍵的互動式編輯器選擇器(設定 GAC_EDITOR)
  • uvx gac diff — 顯示過濾的 git diff,具有暫存/未暫存變更、顏色和截斷選項
  • uvx gac serve — 將 GAC 作為 MCP 伺服器 啟動,用於 AI 代理整合(stdio 傳輸)
  • uvx gac stats show — 檢視你的 gac 使用統計(總計、連續使用、每日和每週活動、令牌使用量、帶平均檔案數的熱門專案、帶速度和延遲的熱門模型)
  • uvx gac stats models — 所有模型的詳細統計,包含令牌細分、速度、延遲和每次提交延遲對比圖表
  • uvx gac stats projects — 所有專案的統計,包含令牌細分和每次 gac 平均檔案數
  • uvx gac stats recent — 最近 10 次 gac 的歷史記錄,包含令牌、速度、延遲、檔案數(-n 20 查看更多)
  • uvx gac stats reset — 重置所有統計資料為零(需要確認)
  • uvx gac stats reset model <model-id> — 重置特定模型的統計資料(不區分大小寫)

互動模式

--interactive (-i) 標誌透過就你的變更提出有針對性的問題,改進 gac 的提交訊息生成。這種額外的上下文幫助 LLM 創建更準確、詳細且符合上下文的提交訊息。

工作原理

當你使用 --interactive 時,gac 會提出如下問題:

  • 這些變更的主要目的是什麼? - 幫助理解高層目標
  • 你在解決什麼問題? - 提供關於動機的上下文
  • 有什麼實作細節值得一提嗎? - 捕獲技術規格
  • 有破壞性變更嗎? - 識別潛在的影響問題
  • 這與某個 issue 或 ticket 相關嗎? - 連接到專案管理

何時使用互動模式

互動模式特別適用於:

  • 複雜變更,僅從 diff 無法清楚了解上下文
  • 重構工作,跨越多個檔案和概念
  • 新功能,需要解釋總體目的
  • 錯誤修復,根本原因不是立即可見
  • 效能優化,邏輯不直觀
  • 程式碼審查準備 - 問題幫助你思考你的變更

使用範例

基本互動模式:

uvx gac -i

這將:

  1. 顯示暫存變更的摘要
  2. 就變更提出問題
  3. 使用你的答案生成提交訊息
  4. 請求確認(或與 -y 組合時自動確認)

互動模式配合暫存變更:

uvx gac -ai
# 暫存所有變更,然後提問以獲得更好的上下文

互動模式配合特定提示:

uvx gac -i -h "使用者設定檔的資料庫遷移"
# 在提供特定提示以聚焦 LLM 的同時提問

互動模式配合詳細輸出:

uvx gac -i -v
# 提問並生成詳細、結構化的提交訊息

自動確認的互動模式:

uvx gac -i -y
# 提問但自動確認生成的提交

問答工作流程

互動工作流程遵循此模式:

  1. 變更審查 - gac 顯示你正在提交的內容摘要
  2. 回答問題 - 用相關細節回答每個提示
  3. 上下文改進 - 你的答案被添加到 LLM 提示中
  4. 訊息生成 - LLM 創建具有完整上下文的提交訊息
  5. 確認 - 審查並確認提交(或用 -y 自動確認)

有用答案的技巧:

  • 簡潔但完整 - 提供重要細節而不過於冗長
  • 專注於"為什麼" - 解釋你變更背后的推理
  • 提及限制 - 注意限制或特殊考慮
  • 連結到外部上下文 - 引用 issues、文件或設計文件
  • 空答案也可以 - 如果問題不適用,只需按 Enter

與其他標誌組合

互動模式與大多數其他標誌配合良好:

# 暫存所有變更並提問
uvx gac -ai

# 提問並配合詳細輸出
uvx gac -i -v

最佳實踐

  • 用於複雜的 PR - 特別適用於需要詳細解釋的 pull requests
  • 團隊協作 - 問題幫助你思考其他人將要審查的變更
  • 文件準備 - 你的答案可以幫助形成發布說明的基礎
  • 學習工具 - 問題強化提交訊息的良好實踐
  • 跳過簡單變更 - 對於瑣碎的修復,基本模式可能更快

使用統計

uvx gac 追蹤輕量級使用統計,讓你可以檢視提交活動、連續使用天數、令牌使用量和最活躍的專案及模型。統計資料本地儲存在 ~/.gac_stats.json 中,不會傳送到任何地方 — 無遙測。

追蹤內容: gac 執行總次數、提交總次數、提示和完成令牌總數、首次/末次使用日期、每日和每週計數(gac、提交、令牌)、當前和最長連續使用天數、每個專案的活動(gac、提交、提示 + 完成令牌)以及每個模型的活動(gac、提示 + 完成令牌)。

不追蹤的內容: 提交訊息、程式碼內容、檔案路徑、個人資訊,或任何超出計數、日期、專案名稱(從 git 遠端或目錄名衍生)和模型名稱的資料。

選擇加入或退出

uvx gac init 會詢問是否啟用統計,並詳細說明儲存的內容。你可以隨時改變主意:

  • 啟用統計: 取消設定 GAC_DISABLE_STATS 或設定為 false/0/no/off/空。
  • 停用統計:GAC_DISABLE_STATS 設定為 truthy 值(true1yeson)。

uvx gac init 中拒絕統計時,如果偵測到現有的 ~/.gac_stats.json,將提供刪除選項。

統計子命令

命令描述
uvx gac stats顯示你的統計(等同於 uvx gac stats show
uvx gac stats show顯示完整統計:總計、連續使用、每日和每週活動、令牌使用量、熱門專案、熱門模型
uvx gac stats models所有使用模型的詳細統計,包含令牌細分、速度、延遲和每次提交延遲圖表
uvx gac stats projects所有專案的統計,包含令牌細分和每次 gac 平均檔案數
uvx gac stats recent最近 10 次 gac(-n 20 查看更多),包含令牌、速度、延遲、檔案數
uvx gac stats reset重置所有統計資料為零(需要確認)
uvx gac stats reset model <model-id>重置特定模型的統計資料(不區分大小寫)

範例

# 檢視你的總體統計
uvx gac stats

# 所有已使用模型的詳細分析
uvx gac stats models

# 所有專案的統計
uvx gac stats projects

# 最近的 gac 歷史
uvx gac stats recent -n 20

# 重置所有統計(需要確認)
uvx gac stats reset

# 重置特定模型的統計資料
uvx gac stats reset model wafer:deepseek-v4-pro

你將看到的內容

執行 uvx gac stats 將顯示:

  • gac 使用總次數和提交總次數 — 你使用 gac 的次數和它建立的提交數
  • 當前和最長連續使用天數 — 連續使用 gac 的天數(5 天及以上顯示 🔥)
  • 活動摘要 — 今日和本週的 gac 使用、提交和令牌數與你的峰值日和峰值週對比
  • 熱門專案 — 按 gac 使用 + 提交數排列的 5 個最活躍倉庫,包含每次 gac 平均檔案數和令牌使用量
  • 熱門模型 — 5 個最常用模型及其全時段速度、延遲和令牌使用量

執行 uvx gac stats projects 顯示所有專案(不僅僅是前 5 個),包含:

  • 所有專案表格 — 每個專案按活動排序,包含 gac 次數、提交次數、每次 gac 提交比率、每次 gac 平均檔案數、提示令牌、完成令牌、推理令牌、總令牌和總 gac 佔比
  • 活動條形圖 — 水平條形顯示每個專案的相對 gac 次數
  • 令牌使用量條形圖 — 水平條形顯示每個專案的相對令牌消耗量

執行 uvx gac stats models 顯示所有模型(不僅僅是前 5 個),包含:

  • 所有模型表格 — 每個已使用的模型按活動排序,包含 gac 次數、提交次數、全時段速度(令牌/秒)、全時段延遲、提示令牌、完成令牌、推理令牌和總令牌
  • 速度對比(30天)圖表 — 最近(過去 30 天)模型速度的水平條形圖,從最快到最慢排序,按速度百分位著色(🟡 極速、🟢 快速、🔵 中等、🔘 慢速)
  • 延遲對比(30天)圖表 — 最近每次呼叫延遲的水平條形圖,從最短到最長排序
  • 每次提交延遲(30天)圖表 — 最近延遲除以提交次數的水平條形圖,顯示每次提交的實際等待時間(在 10 秒 gac 中完成 5 次提交的模型每次提交耗時 2 秒 vs 在 25 秒 gac 中完成 1 次提交的模型每次提交耗時 25 秒)
  • 高分慶祝 — 🏆 在你創造新的每日、每週、令牌或連續使用紀錄時獲得獎盃;🥈 在追平紀錄時獲得
  • 鼓勵訊息 — 基於你活動的上下文鼓勵

執行 uvx gac stats recent 顯示你最近 10 次 gac(可透過 -n 設定):

  • 最近 gac 表格 — 每次 gac 包含相對時間、專案、模型、提交次數、檔案數、速度、延遲和每次 gac 的令牌明細

停用統計

GAC_DISABLE_STATS 環境變數設定為 truthy 值:

# 停用統計追蹤
export GAC_DISABLE_STATS=true

# 或在 .gac.env 中
GAC_DISABLE_STATS=true

Falsy 值(false0nooff、空)保持統計啟用 — 與不設定變數相同。

停用後,gac 將跳過所有統計記錄 — 不會讀取或寫入檔案。現有資料將保留,但在重新啟用之前不會更新。


Discord Webhook 通知

gac 可以在每次提交時透過您頻道整合設定中的 Webhook URL 向 Discord 頻道發送通知。此整合是選用的:在您明確設定 Webhook URL 之前,它不會執行任何動作。

設定

使用專用的 discord 子指令群組:

uvx gac discord setup     # 以互動方式設定 Webhook URL
uvx gac discord show      # 顯示是否已設定 Webhook(URL 已遮蔽)
uvx gac discord test      # 向已設定的 Webhook 發送測試通知
uvx gac discord remove    # 刪除已設定的 Webhook URL

或者,直接在 $HOME/.gac.env(或 ./.gac.env)中設定變數:

GAC_DISCORD_WEBHOOK_URL='https://discord.com/api/webhooks/XXXX/YYYY'

行為

  • 在每次成功提交後觸發(單個和分組的工作流)。在 --dry-run--message-only 時跳過。
  • 發布帶有綠色條紋的 GitHub 風格 嵌入,倉庫 + 分支作為作者行,提交主題作為標題,提交正文作為描述,短 SHA 在頁腳中。
  • 使用 gac 頭像和使用者名稱 gac
  • Webhook 失敗會以 WARNING 級別記錄,並且從不阻擋您的提交。
  • GAC_DISCORD_WEBHOOK_URL 保持未設定(或為空)以停用。gac init 不受影響 — Discord 設定僅位於 gac discord 下。

取得協助