Skip to content

Latest commit

 

History

History
145 lines (105 loc) · 9.67 KB

File metadata and controls

145 lines (105 loc) · 9.67 KB

AI Commit

使用 OpenAI / Azure OpenAI / DeepSeek / Grok / Gemini / Claude (Anthropic) API 审查 Git 暂存区修改,生成符合 Conventional Commit 规范的提交消息,简化提交流程,保持提交规范一致。

English · 简体中文 · 报告问题 · 请求功能

✨ 特性

  • 🤯 支持使用 OpenAI / Azure OpenAI / DeepSeek / Grok / Gemini / Claude (Anthropic) API 根据 git diffs 自动生成提交信息
  • 🧠 支持 OpenAI Responses API,可配置推理强度(reasoning effort)和输出详细程度
  • 🗺️ 支持多语言提交信息
  • 😜 支持添加 Gitmoji
  • 🛠️ 支持自定义系统提示词
  • 📝 支持 Conventional Commits 规范

📦 安装

  1. 在 VSCode 中搜索 "AI Commit" 并点击 "Install" 按钮。
  2. Visual Studio Code Marketplace 直接安装。

Note
请确保 Node.js 版本 >= 16

🤯 使用

  1. 确保您已经安装并启用了 AI Commit 扩展。
  2. VSCode 设置中,找到 "ai-commit" 配置项,并根据需要进行配置:
  3. 在项目中进行更改并将更改添加到暂存区 (git add)。
  4. (可选) 如果您想为提交消息提供额外的上下文,请在点击 AI Commit 按钮之前,在源代码管理面板的消息输入框中输入上下文。
  5. Source Control 面板的提交消息输入框旁边,单击 AI Commit 图标按钮。点击后,扩展将生成 Commit 信息(如果提供了额外上下文,将会考虑在内)并填充到输入框中。
  6. 审核生成的 Commit 信息,如果满意,请提交更改。

Note
如果超过最大 token 长度请分批将代码添加到暂存区。

⚙️ 配置

Note Version >= 0.0.5 不需要配置 EMOJI_ENABLEDFULL_GITMOJI_SPEC,默认提示词为 prompt/without_gitmoji.md,如果不需要使用 Gitmoji,请将 SYSTEM_PROMPT 设置为您的自定义提示词, 请参考 prompt/without_gitmoji.md

VSCode 设置中,找到 "ai-commit" 配置项,并根据需要进行配置

配置 类型 默认 必要 备注
AI_PROVIDER string openai Yes 选择 AI 提供商:openaigeminiclaude
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 推理强度:minimallowmediumhigh。仅在 OPENAI_API_TYPEresponse 时生效
OPENAI_TEXT_VERBOSITY string medium Responses API 输出详细程度:low(~1000 tokens)、medium(~4000 tokens)、high(~16000 tokens)
GEMINI_API_KEY string None AI_PROVIDERgemini 时必填。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_PROVIDERclaude 时需配置
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,大展身手,向我们展示你的奇思妙想。

💗 感谢我们的贡献者

🔗 链接

Credits


📝 License

This project is MIT licensed.