Catalog PyPI
Back to packageRELEASE DETAILS

0.1.0

PyPI

ai-commit-helper

AI-powered Git commit message generator

Published15 Apr 2026
Direct dependencies13
Transitive dependenciesNot calculated

README

Version 0.1.0 documentation

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

📞 联系

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Declared dependencies 13

Native requirements
13 direct targetsNot calculated transitive count
Package / targetRequirementRelationship
requests
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
requests>=2.28.0runtime
PyYAML
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
PyYAML>=6.0runtime
fastapi
Environment
{
  "extras": "",
  "marker": "extra == \"web\"",
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
fastapi>=0.104.0; extra == "web"runtime
uvicorn
Environment
{
  "extras": "standard",
  "marker": "extra == \"web\"",
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
uvicorn[standard]>=0.24.0; extra == "web"runtime
pydantic
Environment
{
  "extras": "",
  "marker": "extra == \"web\"",
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
pydantic>=2.0.0; extra == "web"runtime
pytest
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
pytest>=7.0.0; extra == "dev"runtime
pytest-cov
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
pytest-cov>=4.0.0; extra == "dev"runtime
black
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
black>=23.0.0; extra == "dev"runtime
flake8
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
flake8>=6.0.0; extra == "dev"runtime
mypy
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
mypy>=1.0.0; extra == "dev"runtime
twine
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
twine>=4.0.0; extra == "dev"runtime
build
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
build>=1.0.0; extra == "dev"runtime
colorama
Environment
{
  "extras": "",
  "marker": "extra == \"color\"",
  "requires_python": ">=3.7",
  "evaluation": "NOT_EVALUATED"
}
colorama>=0.4.0; extra == "color"runtime

Distribution files

2 collected
ai_commit_helper-0.1.0-py3-none-any.whl

bdist_wheel · 18.55 KB · Python py3

Source file
ai_commit_helper-0.1.0.tar.gz

sdist · 20.21 KB · Python source

Source file

Repository

PENDING
fscyc/ai-commit-helper

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 21 Oct, 10:14 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package_version:425b42bfc384bf02d93430a6f79c2ea75facbae43bc08b02eacdbcc90f40a700

Other collected versions

View all collected versions →