我构建了一个使用本地 AI(Ollama)编写 Git 提交信息的 CLI 工具
Source: Dev.to
Introduction
开发者经常遇到的一个常见问题是编写好的 Git 提交信息。经过长时间的编码后,很多人会写出类似下面的提交信息:
fix stuff
update code
changes
final fix
这些信息虽然能用,但并没有真正解释到底改了什么以及为什么要改。随着时间推移,这会让项目历史变得难以理解。
AI Commit: A Local AI‑Powered CLI Tool
AI Commit 是一个 CLI 工具,使用本地 AI 模型(Ollama)自动生成有意义的 Git 提交信息。
How It Works
- 检测已暂存的 Git 更改
- 将 diff 发送给本地 AI 模型
- 生成结构化的提交信息
- 让开发者审阅并提交
Git diff
↓
AI Commit CLI
↓
Local Ollama Model
↓
Generated Commit Message
生成的提交信息可以采用不同的格式,例如:
- Conventional commits(约定式提交)
- Semantic commit messages(语义化提交)
- Detailed commit descriptions(详细提交描述)
Installation
该工具已发布在 PyPI。
pip install ollama-git-commit
Prerequisites
- Python 3.8+
- 已安装 Git
- 已安装并运行 Ollama
启动 Ollama:
ollama serve
拉取模型(示例):
ollama pull llama3
Usage
进入任意 Git 仓库并暂存你的更改:
git add .
运行工具:
ai-commit
工具将会:
- 分析已暂存的更改
- 生成提交信息
- 允许你审阅或修改它
Benefits of a Local Solution
许多 AI 开发者工具依赖云端 API,这可能带来:
- API 成本
- 对互联网的依赖
- 隐私问题
通过使用 Ollama 的本地大模型,AI Commit 将所有内容保留在本机,提供:
- 无需 API 密钥
- 离线运行
- 隐私优先的工作流
Project Details
- GitHub Repository:
- PyPI Package:
如果你觉得项目有用,欢迎在 GitHub 上给它点个 ⭐。
What I Learned
- 使用 Python 构建 CLI 工具
- 使用 Ollama 集成本地 LLM
- 将 Python 库打包并发布到 PyPI
- 设计开发者生产力工具
Planned Features
- Git hook 支持
- 更好的提交风格检测
- 配置文件支持
- VS Code 集成
Conclusion
良好的提交信息对于维护清晰、易懂的项目历史至关重要。AI Commit 是利用本地 AI 简化这一过程的一小步。欢迎提供反馈和贡献代码。