CommitAgent
一个运行在 VS Code 中的 AI 提交信息助手:自动根据当前 Git 变更(包括工作区未暂存和暂存区的改动)生成高质量的提交信息。支持多种主流 AI 模型服务商与提交格式规范,助你轻松写出清晰、规范、一致的 Git 提交记录。
1. 核心功能
- 一键生成提交信息:在 VS Code 的「源代码管理」面板中,点击按钮即可自动生成
- 智能识别变更内容:同时分析暂存区(
git diff --cached)和工作区(git diff)的差异
- 多模型服务商支持:
- OpenAI(含官方与兼容接口)
- Azure OpenAI
- Google Gemini
- Anthropic(Claude 系列)
- 灵活配置:
- 支持为每个服务商配置多个 API Key、自定义 API 地址和可用模型
- 可设置默认服务商、默认模型、输出语言和提交格式
- 多种提交风格:
- 流式生成体验:提交信息实时写入输入框,可随时中断或手动修改
- 团队规范支持:通过项目内的
.commitagent-rules/*.md 文件统一团队提交风格
2. 安装与启用
- 在 VS Code 扩展市场搜索
CommitAgent 并安装
- 确保已启用 VS Code 内置的 Git 功能(左侧「源代码管理」面板正常显示变更)
- 首次使用前,请先完成模型服务商配置(见下文)
3. 配置模型服务商
打开配置面板
添加服务商
- 点击「添加模型服务商」
- 选择类型(如 OpenAI、Gemini 等),填写名称(如“公司内部网关”)
- 填写 API 密钥(支持多个,用逗号或空格分隔)
- (可选)填写 API 地址(部分类型会自动填充默认值)
- 点击「检测」验证配置是否有效
管理模型列表
- 手动添加:直接输入模型 ID(如
gpt-4o-mini、claude-3-5-sonnet-20241022)
- 自动拉取:点击模型区域右上角的 🔄 按钮,从服务端获取最新模型列表
💡 建议至少为一个服务商配置好密钥和模型,并设为默认,以便快速生成提交。
4. 设置默认行为
在配置面板底部的「默认设置」区域,可指定:
- 默认模型服务商 和 默认模型
- 提交信息语言:简体中文 或 English
- 提交格式:
- 系统默认(自由格式)
- Conventional Commits(如
feat: add login button)
- Gitmoji(如
:sparkles: add login button)
- 自定义提示词:添加额外规则,例如:
- “标题不超过 72 字符”
- “必须用中文描述”
- “Body 部分需说明改动原因”
5. 团队规范:工作区规则
若希望整个团队使用统一的提交风格,可在项目根目录创建:
.commitagent-rules/
├── commit-style.md
└── backend-guidelines.md
插件会自动读取这些 .md 文件内容,并优先将其作为生成提交信息的指导规则。
✅ 提示词优先级:
工作区规则 > 自定义提示词 > 内置模板(根据语言和格式自动选择)
6. 生成提交信息
推荐方式:SCM 面板按钮
- 打开 VS Code 左侧「源代码管理」面板
- 确保有未提交的变更
- 点击标题栏中的
CommitAgent 提交日志 按钮
(也可点击 Select Model & Generate Commit 临时切换模型)
插件将自动:
- 获取所有变更内容
- 调用 AI 模型生成提交信息
- 实时填充到提交输入框中
其他方式:命令面板
按 Ctrl/Cmd+Shift+P,输入以下命令:
CommitAgent 提交日志 → 使用默认配置生成
Select Model & Generate Commit → 选择模型后生成
Stop Generate → 中断正在生成的内容
7. 常见问题
请确保:
- 已添加至少一个服务商
- 该服务商已启用、配置了有效 API Key 和至少一个模型
- 在「默认设置」中选择了默认服务商和模型
❓ 如何查看日志或调试?
打开 VS Code 的 输出面板(Output),选择 “CommitAgent” 通道即可查看详细日志。
❓ 能中断生成吗?
可以!点击 SCM 面板中的 Stop Generate 按钮,或通过命令面板执行同名命令。
8. 使用建议
- ✅ 首次使用前:配置好默认服务商和模型,提升日常效率
- ✅ 团队协作时:在项目中添加
.commitagent-rules/ 目录,固化提交规范
- ✅ 生成后检查:AI 生成的是草稿,建议快速浏览并微调,确保准确性和专业性
CommitAgent 的目标是:让写提交信息变得轻松,而不牺牲质量。
无论是个人开发还是团队协作,它都能帮你写出更清晰、更规范的 Git 历史。
| |