appleboy/CodeGPT

A CLI written in Go language that writes git commit messages or do a code review brief for you using ChatGPT AI (gpt-4.1, gpt-4o model) and automatically installs a git prepare-commit-msg hook.

CodeGPT 是什麼?

CodeGPT 是一個以 Go 編寫的命令列工具,透過與大型語言模型 API(OpenAI、Azure OpenAI、Gemini、Anthropic、Ollama、Groq、OpenRouter)通訊,協助開發者完成兩個日常的 Git 任務:

  1. 產生提交訊息 – 它讀取你暫存變更的 git diff,將差異傳送給選定的 LLM,並回傳符合 Conventional Commits 格式的提交訊息。該工具還可安裝 prepare-commit-msg Git 鈎子,使得當你執行 git commit 時,AI 產生的訊息會自動插入。
  2. 總結程式碼審查 – 它可以產生類似拉取請求風格的簡短變更摘要。

這兩個功能均支援串流輸出(令牌逐個產生並顯示)、語言翻譯(英文、繁體中文、簡體中文、日文),以及自訂提示範本。


如何取得?

  • macOSbrew tap appleboy/tap && brew install codegpt
  • Windowschoco install codegpt
  • 任意系統 – 執行提供的安裝腳本,或從 GitHub 發布頁面下載預先編譯的二進位檔。
  • 從原始碼建置go install github.com/appleboy/CodeGPT/cmd/codegpt@latest
  • VS Code devcontainer – 在 devcontainer.json 中加入 ghcr.io/kvokka/features/codegpt 功能。

它是如何運作的?

  1. 設定 – 透過環境變數、.codegpt.yaml 檔案或內建的 API 金鑰助手 功能提供 API 金鑰(或動態取得金鑰的命令)。設定檔位於 $HOME/.config/codegpt/,可設定:
    • 提供者(openaiazuregeminianthropicollamagroqopenrouter
    • 基礎 URL、模型名稱、溫度、最大令牌數、代理設定等。
    • Git 特定選項,如在差異中包含多少上下文行,以及要排除的檔案。
  2. 執行 CLIcodegpt commit(或 codegpt review)讀取差異,根據選定的範本建構提示,呼叫 LLM 端點,並列印結果。使用 --stream 標誌可逐個查看回應令牌。
  3. Git 鈎子codegpt hook install 會寫入一個 prepare-commit-msg 腳本,自動呼叫 CLI,因此每次執行 git commit 時都會自動填入 AI 產生的訊息。

哪些人會用到它?

  • 希望無需手動撰寫即可獲得一致、符合規範的提交訊息的開發者。
  • 需要快速、易讀的程式碼變更摘要,用於拉取請求描述或內部審查的團隊。
  • 需要使用多個 LLM 提供者的人(例如,為合規性偏好 Azure OpenAI,或希望使用 Ollama 本地運行)——CodeGPT 將提供者抽象為單一 CLI。

它的限制是什麼?

  • 它僅是 客戶端;生成文字的品質完全取決於你所指向的底層模型。
  • 該工具需要網路連線(或本地 Ollama 伺服器)以及所選提供者的有效 API 金鑰。
  • 它不執行任何靜態分析或 linting;僅是將差異轉送給模型。
  • Git 鈎子會原樣插入 AI 文字;你仍應在最終提交前審查訊息。

快速入門範例

# 安裝(macOS 範例)
brew tap appleboy/tap && brew install codegpt

# 導出你的 OpenAI 金鑰(或透過 `codegpt config set` 設定)
export OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxx

# 為暫存變更產生提交訊息
codegpt commit

# 或安裝鈎子,讓 `git commit` 自動執行
codegpt hook install

如何了解更多?


以上所有資訊均直接取自專案的 README;未推測任何額外功能。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案