gptcommit

让 AI 帮你写 Git 提交信息,告别凑字数。

gptcommit 是一个用 Rust 编写的 Git prepare-commit-msg 钩子,它利用大型语言模型(LLM)自动生成符合规范的提交信息。它解决了开发者写提交信息时费时费力、格式不统一的问题。核心能力是拦截 Git 提交过程,分析暂存区的代码变更(diff),并调用 LLM 生成简洁、描述性的提交信息草稿,开发者可以编辑确认后使用。它支持自定义提示词模板,并兼容多种 LLM 提供方(如 OpenAI)。通过简单的安装和配置,即可无缝集成到现有 Git 工作流中,提升提交效率和信息质量。

开源 free 开源模型
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 2419
维护状态 低维护
是否开源 是
定价模式 free

项目数据

分类开源模型
开发团队zurawiki
所属国家
官网地址
定价模式free
价格说明开源项目,MIT许可证,完全免费,无付费版本。
访问状态
是否开源是
开源协议MIT
主要语言Rust
技术栈/模型cli,git,githook,large-language-models,rust
GitHub 星标★ 2419
30天Star增速
HF 下载量
上线时间2023-01-13 00:00:00
最近更新2026-09-09 00:00:00
维护状态低维护
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-09
浏览次数5

使用教程

难度:入门 约 10 分钟 部署方式:命令行工具 4 步

环境要求

  • 已安装 Rust 与 cargo 工具链(macOS 也可用 Homebrew 安装)
  • 一个可用的 Git 仓库,用于安装 prepare-commit-msg 钩子
  • OpenAI API Key,且账户内有足够额度
  • 网络受限时需准备可用的 HTTP 代理

安装与启动步骤

  1. 1安装 gptcommit

    README 推荐用 cargo 安装并锁定依赖版本;macOS 用户也可改用 Homebrew 安装。

    cargo install --locked gptcommit
  2. 2安装 Git 钩子

    在目标 Git 仓库目录中执行,把 gptcommit 注册为 prepare-commit-msg 钩子,过程中需提供 OpenAI API Key。

    gptcommit install
  3. 3提交并验证

    照常执行 git commit,钩子会自动分析暂存区 diff 并生成提交信息草稿,不满意可在提交前手动编辑。

    git commit
  4. 4调整配置

    先列出可用配置键,再用 config set 修改;例如网络受限时配置 OpenAI 代理。

    gptcommit config keys
    gptcommit config set openai.proxy "http://127.0.0.1:7890"

关键配置

配置项必填说明示例
openai.api_key是OpenAI API 密钥,安装钩子时即需要提供sk-xxxxxxxx
openai.model否指定使用的 OpenAI 模型,可用于降低调用费用gpt-3.5-turbo
openai.proxy否为 OpenAI 请求配置 HTTP 代理http://127.0.0.1:7890
openai.api_base否自定义 OpenAI 接口地址https://api.openai.com/v1
output.conventional_commit否控制是否输出规范化的提交信息格式true
output.lang否设置生成提交信息的语言zh

如何确认成功

在仓库执行 git commit,提交信息框中出现自动生成的提交信息草稿即表示钩子生效。

常见问题

Q:提交时钩子没有运行怎么办?

A:钩子默认只对新提交生效;若设置了 commit.template 或正在 amend 提交会自动跳过,可执行 git config --local commit.template 确保其为空。

Q:如何降低 OpenAI 费用?

A:gptcommit 会产生 N+2 个请求,可通过 openai.model 换成更便宜的模型,或减少提示词与 diff 数据量来降低消耗。

Q:提交时报额度不足?

A:默认使用最快最省钱的 OpenAI 模型,请确认 OpenAI 账户中有足够余额。

Q:macOS 上可以用别的安装方式吗?

A:可以,使用 Homebrew:brew install zurawiki/brews/gptcommit。

Q:在 GitHub Codespaces 中怎么装?

A:先安装 Rust 工具链:curl https://sh.rustup.rs -sSf | sh,重开 bash 后再执行 cargo install --locked gptcommit,并配置好 API Key。

注意事项

  • 配置文件读取自 $HOME/.config/gptcommit/config.toml,也可用 gptcommit config 系列命令读写。
  • 安装钩子时必须提供 OpenAI API Key,否则无法完成安装。
  • 自动生成的提交信息会作为草稿填入,可在提交前自由编辑。
  • 如不再需要,可在仓库中执行 gptcommit uninstall 卸载钩子。

核心亮点

  • 基于真实代码 diff 生成,提交信息与改动高度相关
  • 支持自定义提示词和模型,适配不同团队的提交规范
  • Rust 实现,安装为单一二进制,性能好且易于分发

不足之处

  • 依赖外部 LLM API,需要网络和 API 密钥,存在调用成本
  • 生成质量受模型能力影响,复杂改动可能需要人工修改
  • 文档/社区待观察

适用场景

  • 个人开发者快速生成规范提交信息
  • 团队统一提交信息格式,提升代码审查效率
  • 开源项目维护者批量处理 Pull Request 提交

替代项目

commitgpt、aicommits、gpt-commit

项目介绍

gptcommit 是编程开发领域的开源项目,由 zurawiki 开发,2023 年首次发布。

在全站 13,014 个收录项目中,它的 GitHub 星标数(2,419)位列前 30%,在编程开发分类中处于中上游。

项目已超过三个月没有代码更新,维护节奏明显放缓,最近一次代码更新于 2026-09-09。MIT许可证,完全免费,无付费版本。

它主要面向的使用场景是:个人开发者快速生成规范提交信息。同类可对比的替代方案包括 commitgpt、aicommits、gpt-commit。

上一篇:SRepair

下一篇:multilspy

同类项目推荐

bolt.new 开源

想到啥说啥,网页应用当场生成直接能用

Prompt, run, edit, and deploy full-stack web applications. -- bolt.new -- Help Cente···

★ 16557 2026-08-09
fuzz4all 开源

用大模型自动生成测试输入,发现各种软件漏洞

️Fuzz4All: Universal Fuzzing with Large Language Models

★ 338 2026-08-09
superpowers-zh 开源

全套 AI 编程神技汉化好了,照着用就行。

AI 编程超能力 · 中文增强版 — superpowers(250k+ ⭐)完整汉化 + 4 个中国原创 skills···

★ 8188 2026-08-09
crystal 开源

多个 AI 同时写不同功能,互不干扰齐头并进。

(Crystal is now Nimbalyst) Run multiple Codex and Claude Code AI sessions in paralle···

★ 3121 2026-08-09