Fuguang AI Commit
Fuguang AI Commit 是一个开源的 VS Code 扩展。它读取 Git 更改区或暂存区 diff,通过 OpenAI-compatible POST /chat/completions 接口生成 Commit Message,并将结果直接写入 VS Code 源代码管理输入框。
扩展只生成可编辑的提交说明,不会自动执行 git add 或 git commit。
功能
- 在源代码管理面板点击魔法棒生成 Commit Message
- 支持更改区、未跟踪文件和暂存区
- 支持 OpenAI、兼容服务和本地 Ollama
- 支持中英文与 Conventional Commits
- 生成结果直接写入 SCM 提交输入框,可在提交前编辑
- 发送 diff 前默认显示目标服务并要求确认
- 支持限制发送给 AI 服务的最大 diff 长度
安装
在正式发布到 Visual Studio Marketplace 前,可安装项目打包生成的 VSIX:
code --install-extension .\fuguang-ai-commit-0.3.0.vsix
也可以在 VS Code 扩展视图右上角选择“从 VSIX 安装...”。
配置
在 VS Code 设置中搜索 Fuguang AI Commit。
OpenAI 或兼容服务
{
"fuguangAICommit.baseUrl": "https://api.openai.com/v1",
"fuguangAICommit.model": "gpt-4.1-mini",
"fuguangAICommit.apiKey": "你的 API Key",
"fuguangAICommit.diffSource": "workingTree",
"fuguangAICommit.language": "zh-CN"
}
第三方服务只要兼容 POST /chat/completions,将 baseUrl 和 model 改为供应商提供的值即可。
diffSource 可设为:
workingTree:读取未暂存修改和未跟踪文件;不会自动暂存
staged:只读取下一次 Git Commit 将包含的暂存区内容
fuguangAICommit.apiKey 使用机器级配置范围,不参与常规设置同步,但仍以明文保存在 VS Code 用户设置中。请勿把真实 Key 写入项目级 .vscode/settings.json、Issue、日志或 Git 仓库。
本地 Ollama
{
"fuguangAICommit.baseUrl": "http://localhost:11434/v1",
"fuguangAICommit.model": "qwen2.5-coder:7b",
"fuguangAICommit.language": "zh-CN"
}
Ollama 通常不需要 API Key。
使用
- 在 VS Code 中打开 Git 仓库。
- 根据
fuguangAICommit.diffSource 准备更改区或暂存区内容。
- 点击 SCM 标题栏的魔法棒,或运行
Fuguang AI Commit: 生成 Git Commit Message。
- 在 SCM 提交输入框中检查并编辑结果。
- 自行确认暂存内容后执行 Git Commit。
根据更改区生成只影响 AI 分析内容。Git Commit 仍只提交暂存区中的文件。
从 AI Commit Message v0.2.1 升级
v0.3.0 将公开名称改为 Fuguang AI Commit,并将设置前缀改为 fuguangAICommit.*。为避免原有个人配置立即失效,如果新设置尚未配置,扩展仍会读取旧的 aiCommit.* 设置;建议逐步迁移到新名称。
旧命令 aiCommit.generate 也暂时保留为兼容别名,但不会继续显示在菜单中。
隐私与安全
除非使用本地模型,否则所选代码区域的 diff 会发送给你配置的 AI 服务。请先阅读 隐私说明,并确认目标服务符合你的代码和数据安全要求。
安全问题请参阅 安全策略。
本地开发
npm ci
npm test
npm run compile
在 VS Code 中打开本目录并按 F5,即可启动 Extension Development Host。
生成 VSIX:
npm run package
License
MIT