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

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

  •  
  •   gefangshuai · 3 天前 · 1211 次点击

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

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

    第 3 条附言  ·  2 天前

    已增加claude code Provider支持!

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

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

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