Gitpulse – 從終端生成AI驅動的常規提交
Gitpulse是一個命令列工具,利用AI分析暫存更改,生成符合Conventional Commits格式的提交資訊。支援OpenCode、OpenAI、Ollama等AI提供商,提供互動式和全自動模式,並可安裝Git鉤子簡化流程。
Gitpulse 是一款專為開發者設計的命令列工具,旨在解決提交資訊撰寫的痛點。它透過讀取 Git 暫存區的更改內容,呼叫AI模型生成符合 Conventional Commits 標準(如 feat(scope): description)的提交資訊,並將標題長度嚴格控制在72個字元以內。該工具由 erico964-blip 開發,採用 MIT 許可證釋出,在 GitHub 上開源。
工具的核心功能包括:利用AI理解程式碼差異並生成有意義的提交資訊;強制遵循 Conventional Commits 格式;提供互動式模式(確認、編輯、中止)和全自動模式(--auto 引數)。使用者可以透過一條命令安裝 Git 鉤子(git pulse init),使每次提交時自動生成並預填提交資訊,從而大幅提升開發效率。
Gitpulse 支援多種AI提供商:預設使用 OpenCode(本地或遠端),也可切換到 OpenAI(需設定 OPENAI_API_KEY)或 Ollama(需設定 OLLAMA_API_URL)。使用者可以在執行時透過 --provider、--model、--api-url 和 --api-key 引數覆蓋預設設定。這種靈活性使得 Gitpulse 能夠適應不同使用者的需求和偏好。
安裝方式極為簡單:執行 pip install gitpulse-commit 即可。配置完成後,執行 git add . 暫存更改,然後執行 git pulse 即可看到生成的提交資訊,例如 feat(auth): add JWT token validation。對於持續整合場景,使用 --auto 引數可實現無人值守提交,無需人工確認。此外,使用者還可以透過 git pulse init 安裝 prepare-commit-msg 鉤子,此後每次執行 git commit 時,鉤子會自動檢查暫存更改、生成提交資訊並開啟編輯器預填,進一步簡化工作流。
從技術實現來看,Gitpulse 的工作原理包括:提取 git diff --cached 的輸出,將其與精心設計的系統提示一同傳送至AI介面,解析響應後去除多餘格式並截斷至72字元。系統提示經過專門設計,確保AI僅返回提交資訊本身,不包含任何額外內容。開發方面,專案基於 Python 3.8+,僅依賴 requests 庫,輕量且易於擴充套件。開發者可以克隆倉庫後透過 pip install -e . 進行可編輯安裝,測試功能即將推出。
總之,Gitpulse 為開發者提供了一種高效、一致且標準化的提交資訊生成方案,透過AI技術減輕了編寫提交資訊的負擔,特別適用於需要遵循 Conventional Commits 規範的專案。無論是個人開發者還是團隊協作,都能從中受益。