Skip to content

iwen-conf/ai-commit

Repository files navigation

AI Commit

AI Commit Logo

使用 AI 自动生成符合 Conventional Commits 规范的 Git 提交信息。

✨ 特性

  • 🤖 智能生成:基于暂存的代码改动自动生成提交信息
  • 🌐 兼容多种 AI:支持 OpenAI、Claude、本地模型等任何兼容 OpenAI API 的服务
  • 📝 规范格式:自动生成符合 Conventional Commits 格式的中文提交信息
  • 一键操作:在 Git 源代码管理面板点击 ✨ 按钮即可生成
  • 🎨 主题适配:完美支持亮色和暗色主题
  • 🔒 安全可靠:API Key 本地存储,不会上传到任何服务器

📦 安装

  1. 在 VSCode 扩展市场搜索 "AI Commit"
  2. 点击安装
  3. 重新加载窗口

或者从 .vsix 文件安装:

code --install-extension ai-commit-0.0.1.vsix

🚀 快速开始

1. 配置 AI 服务

首次使用需要配置 AI 服务:

  1. Cmd+Shift+P (macOS) 或 Ctrl+Shift+P (Windows/Linux)
  2. 输入 "AI Commit: 设置"
  3. 填写以下信息:
    • API Base URL:如 https://api.openai.com/v1 或其他兼容服务
    • API Key:你的 API 密钥(可选,取决于服务商要求)
    • 模型 ID:如 gpt-4o-miniclaude-haiku-4-5-20251001
    • 提示词:已预置中文 Conventional Commits 格式(可自定义)

2. 使用扩展

  1. 在 Git 仓库中修改代码
  2. 暂存改动(Stage Changes)
  3. 在源代码管理面板点击 ✨ 按钮
  4. 等待 AI 生成提交信息
  5. 审查并提交

📖 提交信息格式

生成的提交信息遵循 Conventional Commits 规范:

<类型>[可选范围]: <描述>

[可选正文]

[可选页脚]

常见类型

  • feat: 新功能
  • fix: 修复 bug
  • docs: 文档更新
  • style: 代码格式调整
  • refactor: 代码重构
  • perf: 性能优化
  • test: 测试相关
  • chore: 构建或辅助工具的变动

示例

feat(用户): 添加登录页面

实现了用户登录功能,包括:
- 邮箱和密码验证
- 记住登录状态
- 错误提示

Closes #123

⚙️ 配置

默认提示词

扩展预置了以下提示词:

你是一个编写 Git 提交信息的助手。请根据暂存的 diff (staged diff),生成一条符合 Conventional Commits (标准提交格式) 的提交信息。

请严格遵守以下要求:

必须使用中文 撰写。

你的回复只包含最终生成的 commit 信息,不要有任何额外的解释。

commit 信息应严格遵循格式:<类型>[可选范围]: <描述>

例如:feat(用户): 添加登录页面

或:fix: 修复订单重复提交的 bug

主体(body)和页脚(footer)是可选的,但如果提供,也必须使用中文并遵循格式。

你只需要返回commit信息即可

你可以根据团队规范自定义提示词。

支持的 AI 服务

  • OpenAI (GPT-4, GPT-3.5 等)
  • Anthropic Claude
  • 本地部署的兼容模型(Ollama、LM Studio 等)
  • 任何提供 OpenAI 兼容 API 的服务

🔧 常见问题

Q: 按钮点击后没有反应?

A: 请检查:

  1. 是否已暂存改动(Staged Changes)
  2. API 配置是否正确
  3. 网络连接是否正常
  4. 查看 VSCode 开发者工具的控制台是否有错误

Q: 如何使用本地模型?

A: 使用 Ollama 或 LM Studio 等工具:

  1. 启动本地服务
  2. 在设置中填写本地 API 地址(如 http://localhost:11434/v1
  3. 填写模型名称(如 llama3
  4. API Key 留空

Q: 生成的提交信息不满意怎么办?

A: 你可以:

  1. 直接在输入框中编辑
  2. 修改提示词以获得更符合需求的结果
  3. 重新点击 ✨ 按钮再次生成

Q: 点击后按钮变灰是正常的吗?

A: 是的,这是为了防止重复点击。生成完成后按钮会自动恢复。

🤝 贡献

欢迎提交 Issue 和 Pull Request!

📄 许可证

MIT License

🙏 致谢

  • 感谢 OpenAI、Anthropic 等提供优秀的 AI 模型
  • 感谢 VSCode 团队提供强大的扩展 API
  • 感谢所有使用和贡献的开发者

享受 AI 辅助的 Git 提交体验!

About

AI Commit 是一个 VS Code 扩展,它可以直接从源代码管理视图中使用 AI 生成高质量的 Git 提交信息。无需再为写提交信息而烦恼,让 AI 根据你的代码变更自动生成清晰、专业的提交描述。

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors