Skip to main content

AI-powered Git commit message generator

Project description

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扩展

  1. 在VS Code扩展商店搜索 "AI Commit Helper"
  2. 点击安装
  3. 在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 - 批量生成

🤝 贡献

欢迎贡献代码、报告问题或提出建议!

  1. Fork 项目
  2. 创建功能分支 (git checkout -b feature/amazing-feature)
  3. 提交更改 (git commit -m 'Add some amazing feature')
  4. 推送到分支 (git push origin feature/amazing-feature)
  5. 打开 Pull Request

📄 许可证

本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。

💖 赞助

如果这个工具对你有帮助,请考虑赞助支持:

GitHub Sponsors

📞 联系

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ai_commit_helper-0.1.0.tar.gz (20.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ai_commit_helper-0.1.0-py3-none-any.whl (19.0 kB view details)

Uploaded Python 3

File details

Details for the file ai_commit_helper-0.1.0.tar.gz.

File metadata

  • Download URL: ai_commit_helper-0.1.0.tar.gz
  • Upload date:
  • Size: 20.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for ai_commit_helper-0.1.0.tar.gz
Algorithm Hash digest
SHA256 ce8d1a02a1f998dd68ec078b061b5c15a238b5c53207d52293b023c9208acfc8
MD5 05242d45f690665b2f8cd0341b1a6141
BLAKE2b-256 c8ca894a134bd486431f43db21c65c259c0222235c7e1c03cf50bf03a526e9f3

See more details on using hashes here.

File details

Details for the file ai_commit_helper-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for ai_commit_helper-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b30f386e4ab4e254e4b411674a954893629e359d5752408a8d8ec7d527ac99c9
MD5 232b6f5457eb1d4d72c84830725b4344
BLAKE2b-256 bb30665e42e6cc735420a43b88476f5cf69f0b4e0a6afa45715d378031a8594d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page