https://github.com/ArnoChenFx/autocommit
AutoCommit 是一个自动生成 Git 提交信息的命令行工具。它使用 AI 模型分析您的 Git diff,并生成符合约定的提交信息。
https://github.com/ArnoChenFx/autocommit
Last synced: about 2 months ago
JSON representation
AutoCommit 是一个自动生成 Git 提交信息的命令行工具。它使用 AI 模型分析您的 Git diff,并生成符合约定的提交信息。
- Host: GitHub
- URL: https://github.com/ArnoChenFx/autocommit
- Owner: ArnoChenFx
- License: mit
- Created: 2024-09-06T15:19:56.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-12-23T12:30:29.000Z (3 months ago)
- Last Synced: 2026-01-17T10:05:53.756Z (about 2 months ago)
- Language: Rust
- Size: 41 KB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome - ArnoChenFx/autocommit - AutoCommit 是一个自动生成 Git 提交信息的命令行工具。它使用 AI 模型分析您的 Git diff,并生成符合约定的提交信息。 (Rust)
README
# AutoCommit
AutoCommit 是一个自动生成 Git 提交信息的命令行工具。它使用 AI 模型分析您的 Git diff,并生成符合约定的提交信息。
## 功能
- 自动分析 Git diff
- 使用 AI 模型生成提交信息
- 支持自定义提示词配置
- 支持从文件导入 diff
- 支持流式输出生成的提交信息
## 命令行参数
AutoCommit 支持以下命令行参数:
```
Usage: autocommit [OPTIONS]
Options:
-c, --config 配置文件路径(可选), 缺省时会从当前目录和autocommit程序所在的目录中寻找"config.json"
-p, --prompt 选择预设提示词(可选), 缺省时为"default"
-f, --file 从文件导入 diff(可选), 缺省时使用当前目录的`git diff --cached`结果
-h, --help 显示帮助信息
```
## 配置文件结构
配置文件使用 JSON 格式,包含以下字段:
```json
{
"api_url": "API 端点 URL",
"api_key": "API 密钥",
"model": "使用的 AI 模型名称",
"prompts": [
{
"name": "预设名称",
"prompt": [
{
"role": "角色(system/user)",
"content": [
"提示词内容,可以是多行"
]
}
]
}
]
}
```
### 字段说明
- `api_url`: AI API 的端点 URL
- `api_key`: 用于认证的 API 密钥
- `model`: 要使用的 AI 模型名称
- `prompts`: 预设提示词数组
- `name`: 预设名称,用于命令行参数中选择
- `prompt`: 提示词数组
- `role`: 消息角色,可以是 "system" 或 "user"
- `content`: 提示词内容,可以是多行字符串数组
您可以在配置文件中定义多个预设提示词,并通过命令行参数 `-p` 或 `--prompt` 来选择使用哪个预设。