Git Commit Messages for Varcli
根据 Git 变更生成规范的中文提交信息,支持本地规则、OpenAI 及常见 AI 服务,并自动填入 VS Code Source Control。
界面预览
Source Control 生成按钮

功能
- 默认只分析已暂存(staged)的变更,避免提交信息包含未提交代码。
- 默认生成
<emoji> <type>(<scope>): <subject>,自动规范 type 与 Emoji 的搭配。
type 和 subject 必填,scope 和正文可选。
- 推荐通过配置命令将 API Key 保存在 VS Code
SecretStorage;也支持在设置页直接填写。
- 默认使用离线本地规则引擎,无需配置即可生成;也可切换 AI 服务获得更精确的语义总结。
- AI 请求失败时默认自动回退到本地生成,不中断提交流程。
- 支持多工作区 Git 仓库、首次提交、未跟踪文件和请求超时。
- 对提示词注入做基础隔离:diff 被明确标记为不可信数据。
支持的服务
| 服务 |
协议 |
默认地址 |
| 本地规则引擎 |
离线规则 |
无需网络 |
| OpenAI |
OpenAI Chat Completions |
https://api.openai.com/v1 |
| Anthropic |
Messages API |
https://api.anthropic.com/v1 |
| Google Gemini |
generateContent |
https://generativelanguage.googleapis.com/v1beta |
| DeepSeek |
OpenAI-compatible |
https://api.deepseek.com/v1 |
| 通义千问 Qwen |
OpenAI-compatible |
DashScope compatible-mode |
| Moonshot / Kimi |
OpenAI-compatible |
https://api.moonshot.cn/v1 |
| 智谱 GLM |
OpenAI-compatible |
BigModel v4 |
| 硅基流动 |
OpenAI-compatible |
https://api.siliconflow.cn/v1 |
| Ollama |
OpenAI-compatible |
http://127.0.0.1:11434/v1 |
| 自定义服务 |
OpenAI-compatible |
用户配置 |
OpenAI-compatible 服务需要实现 POST {baseUrl}/chat/completions。
使用
- 在 Source Control 中暂存本次需要提交的文件。
- 点击 Source Control 标题栏的闪光图标,或运行
智能生成提交信息。
- 检查自动填入的提交信息后再提交。
插件默认使用本地规则生成。如需 AI 语义分析,可运行 智能提交:选择服务并配置 API Key。
API Key 只会发往所选服务的 API 地址。代码 diff 会发送给模型服务,请根据仓库的数据安全要求选择本地模型或合规服务。
输出示例
✨ feat(auth): 新增用户登录校验
🐛 fix(api): 修复请求超时后的重试逻辑
📝 docs: 更新插件配置说明
开启正文后:
♻️ refactor(provider): 统一模型服务请求流程
- 抽取通用请求参数与错误处理
- 保留各厂商的响应格式适配
配置项
设置页将配置拆分为“Git 提交信息”和“Git 提交信息 › AI 服务”两个分组:

常规生成设置:
smartGitCommit.changeScope:staged(默认)或 all。
smartGitCommit.language:提交信息语言,默认 zh-CN(简体中文);auto 跟随 VS Code。
smartGitCommit.includeBody:是否生成正文。
smartGitCommit.useEmoji:是否在 type 前添加匹配的 Emoji,默认开启。
smartGitCommit.maxDiffCharacters:发送给服务的最大 diff 字符数。
smartGitCommit.customInstructions:团队提交规范等附加要求。
AI 服务设置:
smartGitCommit.provider:本地规则引擎或 AI 服务商。
smartGitCommit.apiKey:当前 AI 服务的 API Key;设置页中为明文,推荐使用配置命令安全保存。
smartGitCommit.model:覆盖服务商默认模型 ID。
smartGitCommit.baseUrl:覆盖 API 地址;自定义服务必须设置。
smartGitCommit.maxOutputTokens:AI 响应的最大 Token 数。
smartGitCommit.requestTimeoutSeconds:AI 请求超时时间。
smartGitCommit.fallbackToLocal:AI 请求失败时是否自动改用本地生成,默认开启。
推荐运行 智能提交:选择服务并配置 API Key,将密钥保存在 VS Code SecretStorage。直接填写 smartGitCommit.apiKey 更方便,但会以明文保存在本机设置中。
开发
npm install
npm run check
npm test
npm run build
按 F5 启动 Extension Development Host。产物位于 dist/extension.js。
发布 GitHub Release
- 更新
package.json 中的版本号并推送代码。
- 打开 GitHub Actions,选择“发布 GitHub Release”。
- 点击“Run workflow”手动触发。
工作流会执行检查、测试和 VSIX 打包,然后创建 v{version} Release 并上传安装包。
| |