3.4 KiB
3.4 KiB
AutoCommit
一个智能的 Git 提交助手,使用 LLM 自动生成规范的提交消息并提交暂存的文件。
✨ 特性
- 智能生成:使用大语言模型自动分析代码变更,生成专业、规范的提交消息
- 🔧 高度可配置:支持多种 LLM 提供商(OpenAI 兼容 API)
- 🎯 规范遵循:自动生成符合 Conventional Commits 规范的消息
- ⚡ 快速便捷:一键生成并提交,提升开发效率
- 🔍 安全检查:内置配置检查和连接测试
- 🎨 美观界面:使用 Rich 库提供美观的命令行界面
- 🔄 异步支持:支持异步操作,响应快速
📦 安装
git clone <repository-url>
cd autocommit
pip install -e .
🚀 快速开始
1. 配置(推荐交互式)
# 交互式配置向导
autocommit config interactive
# 或直接设置
autocommit config set --api-key "sk-your-api-key" --model "qwen3-14b"
2. 测试连接
autocommit check
3. 使用 AutoCommit
# 1. 先将文件添加到暂存区
git add .
# 2. 使用 AutoCommit 生成提交消息并提交
autocommit
# 3. 或者仅生成消息,不自动提交(预览模式)
autocommit --dry-run
📖 详细使用说明
基本使用流程
# 完整工作流示例
git add .
autocommit
命令行选项
# 显示帮助信息
autocommit --help
# 仅生成消息,不实际提交(预览模式)
autocommit --dry-run
# 指定模型生成
autocommit --model "qwen3-14b"
# 检查工具状态
autocommit check
# 测试消息生成
autocommit check --test
⚙️ 配置管理
# 显示当前配置
autocommit config show
# 交互式配置向导
autocommit config interactive
# 设置特定配置项
autocommit config set \
--api-key "sk-your-key" \
--base-url "https://your-api-endpoint.com/v1" \
--model "qwen3-14b" \
--timeout 30
# 清除所有配置
autocommit config clear
配置说明
支持的 LLM 提供商
- OpenAI
- DashScope(通义千问)
- Ollama
- 其他兼容 OpenAI API 的服务
配置文件位置
~/.config/autocommit/config.yaml
示例配置
llm:
api_key: "sk-your-api-key"
base_url: "https://dashscope.aliyuncs.com/compatible-mode/v1"
model: "qwen3-14b"
timeout: 30
max_tokens: 1000
temperature: 0.7
extra_body:
enable_thinking: false
system_prompt: |
你是一个专业开发者,请根据以下 git diff 生成一条符合 Conventional Commits 规范的中文 commit message。
要求:50字以内,不要解释,不要引号,只输出 message 本身。
diff:
auto_save: true
💡 示例代码变更:
def hello_world(): - print("Hello, World!") + print("Hello, OpenAI!")生成的提交消息:
feat: update greeting message
🔧 高级功能
自定义提示词
你可以修改系统提示词以适应特定需求:
autocommit config set --system-prompt "你是一个前端开发者,请根据代码变更生成提交消息,重点描述 UI 变化。"
异步模式
对于大量文件或复杂的代码库,工具会自动使用异步模式提高性能。
多语言支持
通过修改系统提示词,可以支持多种语言的提交消息(如英文、中文、日文等)。