V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
gefangshuai
V2EX  ›  分享创造

写了个小工具: AI 自动生成 Git Commit Message,一行命令安装

  •  
  •   gefangshuai · 1 天前 · 867 次点击

    每次写 commit message 都很纠结?写得太随意又不规范?

    做了一个命令行工具 ai-commit,自动分析 git diff,调用大模型生成 Conventional Commits 格式的提交信息。

    效果

    $ git add .
    $ ai-commit
    
    正在生成 commit message...
    
    ──────────────────────────────────────────────────
    feat(auth): add JWT token refresh mechanism
    ──────────────────────────────────────────────────
    
    ? 请选择操作:
    ❯ 确认提交
      编辑后提交
      重新生成
      取消
    

    安装

    curl -fsSL https://raw.githubusercontent.com/lifedever/ai-commit/main/install.sh | bash
    

    需要 Node.js >= 18 ,一行搞定。

    配置

    只需要一个环境变量,配置你的 API Key:

    # DeepSeek (默认)
    export AI_COMMIT_API_KEY="sk-your-key"
    
    # 也支持 OpenAI 、火山引擎、Ollama 等任何 OpenAI 兼容 API
    

    特点

    • 零配置即用 — 默认 DeepSeek ,配一个 Key 就能跑
    • Conventional Commits — 自动生成 feat/fix/docs/refactor 等规范格式
    • 交互式确认 — 生成后可以确认、编辑、重新生成或取消
    • 中英文ai-commit -l zh 生成中文 commit message
    • 模型随意切 — 支持任何 OpenAI API 兼容服务( DeepSeek 、OpenAI 、火山引擎、Ollama 本地模型等)
    • 更新/卸载ai-commit --update 更新,ai-commit --uninstall 卸载

    常用命令

    ai-commit           # 交互式生成并提交
    ai-commit -y        # 跳过确认直接提交
    ai-commit -d        # 只看生成结果不提交
    ai-commit -l zh     # 中文 commit message
    ai-commit --update  # 更新到最新版
    

    GitHub: https://github.com/lifedever/ai-commit

    MIT 开源,TypeScript 写的,代码很简单。欢迎 Star 、提 Issue 、PR 。

    第 1 条附言  ·  14 小时 50 分钟前
    看到大家说现在 ide 或者 Agent 都带这功能,确实如此,而且本人也是一直在用。但为什么要独立开发这个小工具呢,是因为有脱离 ide 或者 Agent 提交代码的需求,或者通过脚本自动提交代码,所以就把这功能简单封装了一下。谢谢大家捧场🌹
    第 2 条附言  ·  2 小时 59 分钟前

    https://cdn.jsdelivr.net/gh/lifedever/images@master/uPic/2026/03/CleanShot%202026-03-07%20at%2020.07.03@2x.png

    13 条回复    2026-03-07 10:15:02 +08:00
    duhbbx1119
        1
    duhbbx1119  
       1 天前
    这个不是直接使用 Claude code 吗
    gefangshuai
        2
    gefangshuai  
    OP
       1 天前
    @duhbbx1119 #1 适合外置用
    0x0x
        3
    0x0x  
       1 天前 via Android
    这个场景一年前应该还有些市场,现在已经没人用了吧。
    用 cursor 类的 ide ,都自带了
    用 Claude Code 等 cli ,写个 skill 就可以了
    ferock
        4
    ferock  
    PRO
       1 天前 via Android
    idea 各种插件都有这个功能,cc 直接 skill
    passion336699
        5
    passion336699  
       1 天前
    现在写一个 command, 两句话就行了吧...

    创建符合 Conventional Commits 规范的 git commit 。

    不要添加任何广告, 禁止在提交信息中添加任何广告或推广链接,例如 "Generated with [Claude Code]( https://claude.ai/code)"
    wkdwkd2023
        6
    wkdwkd2023  
       23 小时 31 分钟前
    cursor 直接写个 skills ,调用的时候还能读取本地的 rules 顺手做个 code review
    ratazzi
        7
    ratazzi  
       22 小时 39 分钟前
    https://github.com/ratazzi/git-plan
    我已经直接写了个 非交互式的工具让 AI 自动提交
    sn0wdr1am
        8
    sn0wdr1am  
       15 小时 14 分钟前
    IDE 自带智能 commit 功能了。
    Moishine
        9
    Moishine  
       13 小时 55 分钟前
    cursor 里面敲一个 commit push ,它自己就完成了
    pill
        10
    pill  
       13 小时 13 分钟前 via iPhone
    Viscose 不是自带这玩意儿吗
    AoEiuV020JP
        11
    AoEiuV020JP  
       12 小时 56 分钟前
    感觉这种方案 AI 会从 diff 中读取到很多不重要的东西, 重心跑偏,总会写上一些没用的信息,
    所以我现在直接让 AI 写完代码自己提交,commit log 就写的非常好,
    gefangshuai
        12
    gefangshuai  
    OP
       12 小时 54 分钟前
    @Moishine #9 适合外置用
    gefangshuai
        13
    gefangshuai  
    OP
       12 小时 54 分钟前
    @sn0wdr1am #8 适合外置用
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   2761 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 15:09 · PVG 23:09 · LAX 07:09 · JFK 10:09
    ♥ Do have faith in what you're doing.