AI Diff Commit Message
VS Code extension that generates commit messages from Git diffs. It defaults to DeepSeek, supports OpenAI-compatible chat completion APIs, and handles workspaces with multiple Git repositories by generating messages per repository.
Repository
Features
- Generate a commit message for a selected repository.
- Generate commit messages for every repository in the current workspace.
- In multi-repository Source Control views, the quick-fill button scans all displayed repositories with diffs when no single repository context is available.
- Supports staged-only or staged plus unstaged diffs.
- Configurable model, API base URL, commit style, language, system prompt, reasoning effort, and diff size.
- Stores API keys in VS Code Secret Storage, with environment variable fallback.
Commands
AI Commit: 快速填入提交信息
AI Commit: Configure API Key
AI Commit: Generate Message for Repository
AI Commit: Generate Messages for All Repositories
Default DeepSeek Request Shape
The extension calls:
POST https://api.deepseek.com/chat/completions
Authorization: Bearer ${DEEPSEEK_API_KEY}
Content-Type: application/json
with defaults:
model: deepseek-v4-pro
thinking.type: enabled
reasoning_effort: high
stream: false
Configuration
Search for AI Commit in VS Code settings.
Recommended first-time setup:
- Choose
aiCommit.provider.
- Keep
aiCommit.apiBaseUrl empty unless you use a proxy or private gateway.
- Choose
aiCommit.modelPreset.
- Run
AI Commit: Configure API Key.
- Click the
AI Commit button in Source Control.
Common settings, in the same order as the VS Code settings page:
aiCommit.provider
aiCommit.apiBaseUrl
aiCommit.modelPreset
aiCommit.model
aiCommit.apiKeyEnv
aiCommit.commitStyle
aiCommit.language
aiCommit.customStyleInstructions
aiCommit.customLanguageInstructions
aiCommit.systemPromptMode
aiCommit.systemPromptExtra
aiCommit.systemPromptOverride
aiCommit.diffMode
aiCommit.maxDiffChars
Models
Use aiCommit.modelPreset for common models:
deepseek-v4-pro
deepseek-chat
deepseek-reasoner
gpt-4.1
gpt-4.1-mini
gpt-4o
gpt-4o-mini
qwen-plus
qwen-max
qwen3-coder-plus
glm-4-plus
glm-4-flash
siliconflow-deepseek-v3
siliconflow-deepseek-r1
custom
When aiCommit.modelPreset is custom, set aiCommit.model to any OpenAI-compatible model name.
Provider defaults:
deepseek: https://api.deepseek.com
openai: https://api.openai.com/v1
siliconflow: https://api.siliconflow.cn/v1
dashscope: https://dashscope.aliyuncs.com/compatible-mode/v1
zhipu: https://open.bigmodel.cn/api/paas/v4
openai-compatible: set aiCommit.apiBaseUrl manually
API key environment defaults:
deepseek: DEEPSEEK_API_KEY
openai: OPENAI_API_KEY
siliconflow: SILICONFLOW_API_KEY
dashscope: DASHSCOPE_API_KEY
zhipu: ZHIPU_API_KEY
openai-compatible: OPENAI_API_KEY
Commit Styles
conventional
concise
detailed
semantic
angular
gitmoji
ticket
monorepo
release
custom
Languages
auto
english
chinese-simplified
chinese-traditional
japanese
korean
spanish
french
german
custom
System Prompt
Use aiCommit.systemPromptMode:
append: keep the built-in safety and style prompt, then append aiCommit.systemPromptExtra.
override: replace the built-in prompt with aiCommit.systemPromptOverride.