AI Commit Message Generator
基于AI的Git提交信息生成工具,帮助开发者自动生成专业、规范的提交信息。
✨ 功能特性
- 🤖 智能分析:理解代码变更的意图和上下文
- 📝 多种格式:支持Conventional Commits、中文、emoji风格等多种格式
- 🔄 批量处理:一次生成多个提交信息
- 🎯 历史学习:基于项目历史优化生成结果
- 🎨 自定义模板:支持团队规范和个性化配置
- 🌐 多平台:命令行、VS Code扩展、Web界面、API接口
🚀 快速开始
安装
# 从PyPI安装
pip install ai-commit-helper
# 或从源码安装
git clone https://github.com/fscyc/ai-commit-helper.git
cd ai-commit-helper
pip install -e .
基本使用
# 生成当前暂存区的提交信息
aicommit
# 生成指定文件的提交信息
aicommit --file path/to/file.py
# 使用中文格式
aicommit --format zh
# 使用emoji风格
aicommit --format emoji
# 批量生成多个提交信息
aicommit --batch 5
VS Code扩展
- 在VS Code扩展商店搜索 "AI Commit Helper"
- 点击安装
- 在Git面板中,点击 "Generate Commit Message" 按钮
Web界面
访问:https://ai-commit-helper.fscyc.github.io
🛠️ 开发
项目结构
ai-commit-helper/
├── src/ # 核心Python代码
├── web/ # Web界面代码
├── vscode-extension/ # VS Code扩展
├── tests/ # 单元测试和集成测试
├── docs/ # 文档
├── examples/ # 使用示例
├── configs/ # 配置文件
└── scripts/ # 构建和部署脚本
环境设置
# 克隆仓库
git clone https://github.com/fscyc/ai-commit-helper.git
cd ai-commit-helper
# 创建虚拟环境
python -m venv venv
source venv/bin/activate # Linux/Mac
# 或
venv\Scripts\activate # Windows
# 安装开发依赖
pip install -r requirements-dev.txt
运行测试
pytest tests/
🔧 配置
创建配置文件 ~/.aicommit/config.yaml:
# DeepSeek API配置
deepseek:
api_key: "your-api-key"
model: "deepseek-chat"
base_url: "https://api.deepseek.com"
# 生成选项
generation:
default_format: "conventional"
max_length: 100
temperature: 0.7
include_emoji: true
# 模板配置
templates:
conventional: |
{{type}}({{scope}}): {{description}}
{{body}}
{{footer}}
zh: |
{{type}}({{scope}}): {{description}}
{{body}}
📖 API文档
Python API
from ai_commit_helper import generate_commit_message
# 生成提交信息
result = generate_commit_message(
code_diff="...git diff output...",
format="conventional",
history=None
)
print(result.message)
REST API
启动本地服务器:
aicommit serve --port 8000
API端点:
POST /generate- 生成提交信息GET /formats- 获取支持的格式列表POST /batch- 批量生成
🤝 贡献
欢迎贡献代码、报告问题或提出建议!
- Fork 项目
- 创建功能分支 (
git checkout -b feature/amazing-feature) - 提交更改 (
git commit -m 'Add some amazing feature') - 推送到分支 (
git push origin feature/amazing-feature) - 打开 Pull Request
📄 许可证
本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。
💖 赞助
如果这个工具对你有帮助,请考虑赞助支持:
📞 联系
- GitHub Issues: 问题反馈
- 邮箱: 5888161@qq.com
Metadata
Release files for ai-commit-helper 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| ai_commit_helper-0.1.0.tar.gz | 20.7 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ai_commit_helper-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 39.7 kB
Release files / ai_commit_helper-0.1.0.tar.gz
| Download URL | ai_commit_helper-0.1.0.tar.gz |
|---|---|
| Size | 20.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ce8d1a02a1f998dd68ec078b061b5c15a238b5c53207d52293b023c9208acfc8
|
|
BLAKE2b-256 checksum How to use checksums |
c8ca894a134bd486431f43db21c65c259c0222235c7e1c03cf50bf03a526e9f3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.4
|
Release files / ai_commit_helper-0.1.0-py3-none-any.whl
| Download URL | ai_commit_helper-0.1.0-py3-none-any.whl |
|---|---|
| Size | 19.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b30f386e4ab4e254e4b411674a954893629e359d5752408a8d8ec7d527ac99c9
|
|
BLAKE2b-256 checksum How to use checksums |
bb30665e42e6cc735420a43b88476f5cf69f0b4e0a6afa45715d378031a8594d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.4
|
Security for ai-commit-helper 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.