AI CommitPilot
AI CommitPilot 是一个面向团队提交规范的 VS Code 插件:读取当前仓库的 Git 暂存区 diff,调用 OpenAI 兼容接口生成提交信息,并支持确认后直接提交。
使用方法
npm install
npm run compile
- 在 VS Code 中按
F5 启动扩展开发主机。
- 先暂存文件,再从命令面板执行:
AI CommitPilot:生成提交信息:生成、编辑并复制到剪贴板。
AI CommitPilot:生成并提交:生成后确认,自动执行 git commit。
在 Git 项目的“源代码管理”视图顶部,会出现玫瑰形 AI 生成图标。点击后会分析暂存区变更,并将结果自动填入 Git 的提交消息输入框;如果 Git 扩展 API 不可用,则自动复制到剪贴板。
玫瑰图标旁提供提交类型切换按钮。点击后可从中文列表选择“自动判断”“需求 ✨”“Bug 修复 🐛”“优化 ⚡️”等类型。切换会立即更新当前提交信息的 Emoji 和英文 type,同时约束后续 AI 生成结果;选择“自动判断”则恢复由 AI 分析类型。
配置
默认情况下,AI CommitPilot 会直接读取本机 Codex 配置目录(Windows 通常是 %USERPROFILE%\\.codex)中的 config.toml 和 auth.json,使用 Codex 当前的模型、Provider、Base URL 和认证信息,不需要重复填写 API Key。命令面板中的“AI CommitPilot:打开设置”可以打开配置页面。
在设置中将 commitPilot.provider 切换为 custom,即可改用自定义 OpenAI 兼容接口;此时配置 commitPilot.apiKey、commitPilot.endpoint 和 commitPilot.model。也可以使用环境变量 COMMITPILOT_API_KEY。
可配置项包括 endpoint、model、language、maxDiffChars、commitFormat 和 useEmoji。useEmoji 默认为 true,在 Conventional Commits 格式下根据提交类型自动添加 Emoji 前缀;设为 false 可关闭。plain 格式没有 type,因此不添加 Emoji。
提交信息规范
默认使用 type(scope): subject 格式:
feat:新增 feature
fix:修复 bug
docs:仅修改文档,例如 README
style:仅修改逗号、缩进、空格等格式,不改变代码逻辑
refactor:代码重构,不新增功能或修复 bug
perf:性能或用户体验优化
test:单元测试、集成测试等测试用例
chore:构建流程、依赖库或工具变更
revert:版本回滚
ci:CI 流水线配置
build:打包构建相关
Emoji 前缀映射为:feat → ✨、fix → 🐛、docs → 📝、style → 🎨、refactor → ♻️、perf → ⚡️、test → ✅、chore → 🔧、revert → ⏪️、ci → 👷、build → 📦️。
“生成并提交”命令和源代码管理图标使用同一套映射,最终写入 Git 的提交信息也会带上对应 Emoji,例如 ✨ feat(scope): subject。
其中 scope 表示影响范围,例如 views、component、utils、test;subject 是 commit 目的的简短描述。
AI 生成中文提交说明时会优先识别业务类型,例如用户、订单、支付、权限、内容、配置或基础设施。若变更属于公共代码,还会说明公共组件名称和覆盖的公共业务;无法从代码变更判断时会标注“业务类型:待确认”,避免生成无依据的描述。
安全说明
插件只发送 git diff --cached 的内容,不会读取未暂存的文件内容。请确认你的 API 服务商符合项目代码和数据的隐私要求。