使用 OpenAI / Azure OpenAI / DeepSeek / Grok / Gemini / Claude (Anthropic) API 审查 Git 暂存区修改,生成符合 Conventional Commit 规范的提交消息,简化提交流程,保持提交规范一致。
- 🤯 支持使用 OpenAI / Azure OpenAI / DeepSeek / Grok / Gemini / Claude (Anthropic) API 根据 git diffs 自动生成提交信息
- 🧠 支持 OpenAI Responses API,可配置推理强度(reasoning effort)和输出详细程度
- 🗺️ 支持多语言提交信息
- 😜 支持添加 Gitmoji
- 🛠️ 支持自定义系统提示词
- 📝 支持 Conventional Commits 规范
- 在 VSCode 中搜索 "AI Commit" 并点击 "Install" 按钮。
- 从 Visual Studio Code Marketplace 直接安装。
Note
请确保 Node.js 版本 >= 16
- 确保您已经安装并启用了
AI Commit扩展。 - 在
VSCode设置中,找到 "ai-commit" 配置项,并根据需要进行配置: - 在项目中进行更改并将更改添加到暂存区 (git add)。
- (可选) 如果您想为提交消息提供额外的上下文,请在点击 AI Commit 按钮之前,在源代码管理面板的消息输入框中输入上下文。
- 在
Source Control面板的提交消息输入框旁边,单击AI Commit图标按钮。点击后,扩展将生成 Commit 信息(如果提供了额外上下文,将会考虑在内)并填充到输入框中。 - 审核生成的 Commit 信息,如果满意,请提交更改。
Note
如果超过最大 token 长度请分批将代码添加到暂存区。
Note Version >= 0.0.5 不需要配置
EMOJI_ENABLED和FULL_GITMOJI_SPEC,默认提示词为 prompt/without_gitmoji.md,如果不需要使用Gitmoji,请将SYSTEM_PROMPT设置为您的自定义提示词, 请参考 prompt/without_gitmoji.md。
在 VSCode 设置中,找到 "ai-commit" 配置项,并根据需要进行配置
| 配置 | 类型 | 默认 | 必要 | 备注 |
|---|---|---|---|---|
| AI_PROVIDER | string | openai | Yes | 选择 AI 提供商:openai、gemini 或 claude |
| OPENAI_API_KEY | string | None | 是 | OpenAI 令牌 |
| OPENAI_BASE_URL | string | None | 否 | 如果使用 Azure,填入:https://{resource}.openai.azure.com/openai/deployments/{model} |
| OPENAI_MODEL | string | gpt-4o | 是 | OpenAI 模型,可通过运行 Show Available OpenAI Models 命令从列表中选择 |
| AZURE_API_VERSION | string | None | 否 | Azure API 版本号 |
| OPENAI_TEMPERATURE | number | 0.7 | 否 | 控制输出随机性。范围:0–2。较低:更集中,较高:更有创造性(仅 Chat Completions) |
| OPENAI_API_TYPE | string | completion | 否 | 选择 API 类型:completion(Chat Completions)或 response(Responses API) |
| OPENAI_REASONING_EFFORT | string | medium | 否 | Responses API 推理强度:minimal、low、medium、high。仅在 OPENAI_API_TYPE 为 response 时生效 |
| OPENAI_TEXT_VERBOSITY | string | medium | 否 | Responses API 输出详细程度:low(~1000 tokens)、medium(~4000 tokens)、high(~16000 tokens) |
| GEMINI_API_KEY | string | None | 是 | AI_PROVIDER 为 gemini 时必填。Gemini API key |
| GEMINI_MODEL | string | gemini-2.0-flash-001 | 是 | Gemini 使用的模型 |
| GEMINI_TEMPERATURE | number | 0.7 | 否 | 控制输出随机性。范围:0–2。较低:更集中,较高:更有创造性 |
| CLAUDE_API_KEY | string | None | 否 | Anthropic API 密钥。留空可使用 Claude CLI(通过 claude setup-token 认证)。AI_PROVIDER 为 claude 时需配置 |
| CLAUDE_MODEL | string | claude-sonnet-4-5-20250929 | 否 | Claude 使用的模型 |
| CLAUDE_TEMPERATURE | number | 0.7 | 否 | 控制输出随机性。范围:0–1 |
| AI_COMMIT_LANGUAGE | string | English | 是 | 支持 19 种语言 |
| SYSTEM_PROMPT | string | None | 否 | 自定义系统提示词 |
可以使用 Github Codespaces 进行在线开发:
或者,可以克隆存储库并运行以下命令进行本地开发:
$ git clone https://github.com/sitoi/ai-commit.git
$ cd ai-commit
$ npm install在 VSCode 中打开项目文件夹。按 F5 键运行项目。会弹出一个新的 Extension Development Host 窗口,并在其中启动插件。
我们非常欢迎各种形式的贡献。如果你对贡献代码感兴趣,可以查看我们的 GitHub Issues,大展身手,向我们展示你的奇思妙想。
- auto-commit - https://github.com/lynxife/auto-commit
- opencommit - https://github.com/di-sukharev/opencommit
This project is MIT licensed.