网易首页 > 网易号 > 正文 申请入驻

不调外部API,这个工具用本地模型写Git提交信息

0
分享至

写提交信息是开发者天天要做、却很少有人享受的小事。调完一个bug、实现完一个功能,还要把改动描述清楚,这种摩擦感并不必要。GAI 就是冲着这一段流程来的:不依赖外部大模型接口,在本地把提交信息生成出来。


它的做法不是把整份 Git diff 直接丢给模型。GAI 会分析已暂存的改动,从历史提交数据里检索相似的提交,再用本地运行的语言模型生成一条符合仓库既有标签习惯的提交信息。两条路径并行:一条是检索增强生成(RAG),用嵌入向量和 FAISS 找出历史上相似的改动;另一条是聚焦改动的 diff 解析,抽出文件路径、hunk、新增行、删除行和相关上下文,让生成模型更容易看懂改了什么。

工作流按顺序走下来是这样的:

  • 运行 gai,校验当前目录是不是 Git 仓库;
  • 读取已暂存的 diff,没有暂存改动就报错退出;
  • 保留一份原始 diff 快照,同时按文件和 hunk 解析,抽出新增行、删除行与上下文,格式化成结构化 diff;
  • 用原始 diff 生成嵌入向量,在 FAISS 索引里检索 top-k 条历史提交;
  • 把结构化 diff 和检索到的历史提交一起拼成生成提示词,通过 Ollama 调用本地 Gemma 模型;
  • 解析生成结果,校验有效性,展示建议的提交信息。

生成出来的信息不会自动提交。用户可以接受、编辑、重新生成,或者直接取消。选择接受之前,GAI 会再读一次当前的暂存 diff,确认从生成信息到现在改动没有发生变化;如果变了,就中止提交并要求重新运行。这一步是刻意保留的:把无聊的部分自动化,不等于交出最终提交的控制权。

实际用起来是三步。先 git add 暂存改动,用 git diff --cached --stat 看一眼;再运行 gai,它会检索相似历史提交、生成信息,交给用户审阅;最后可选地用 git log -1 --oneline 核对提交结果。GAI 用 Python 实现,也可以通过 Python CLI 调用,例如 python -m src.cli,检索的历史样例数量可以控制,比如 python -m src.cli --top-k 3。

当前实现用到 Ollama、FAISS、EmbeddingGemma 和 Gemma4:e2b。索引流程从带标签、信息和 diff 的历史提交数据开始,用 EmbeddingGemma 为可用的历史 diff 生成嵌入,存进 FAISS 的 IndexFlatL2 索引,对应的提交元数据单独存放,这样检索出的向量能映射回原始信息和标签。运行时,原始 diff 用于检索,解析格式化后的表示则给生成模型一个更清晰的改动视图。

一个待解的难题是较小的本地模型怎么处理大 diff。单纯加大上下文窗口并不总是最优解,给模型结构更好的信息可能更有用。下一步计划是搭一条并行的 LangGraph 工作流,分两条生成路径:一条沿用当前基于历史提交的检索链,另一条先按文件和 hunk 汇总大改动、再生成另一个候选。评估器会从正确性、相关性、具体程度和标签有效性几个维度给两个候选打分,再由归约器选出更强的一个,必要时合成更好的结果。这些 LangGraph 链、评估器和归约器都属于后续改进,尚未进入当前实现。

为什么这件事值得开源来做?GAI 想要生成的是反映作者真实提交习惯的信息,而不是对代码改动的泛泛描述。检索历史提交让 Gemma 拿到仓库标签习惯和写作风格的具体样例;嵌入和生成都走 Ollama 本地运行,Git diff 里可能包含的专有实现细节不必离开本机;生成模型、提示词、检索策略都可以换着试,不用围绕某一家托管 AI 服务商重新设计应用。有意思的地方不在于本地跑了个大模型,而在于把开放模型和仓库自身的历史结合起来,做出贴合开发者工作方式的提交信息生成器。

目标很朴素:把一件重复的事从开发循环里拿掉。不用从写代码切换到琢磨提交信息的措辞,暂存改动、运行 gai、看一眼建议,然后继续。接下来还打算试验并行生成链、分层 diff 摘要,以及评估器与归约器的工作流,来提升生成信息的质量。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
暗流已经出现?苏联当年的颠覆套路再现中国,接连怪事更值得警惕

暗流已经出现?苏联当年的颠覆套路再现中国,接连怪事更值得警惕

補懂事的孩紙
2026-10-16 11:58:16
票房不到3000元,观众不买账,李连杰主演电影被好莱坞大片碾压

票房不到3000元,观众不买账,李连杰主演电影被好莱坞大片碾压

影视高原说
2026-10-22 16:36:55
A股:冲到3574新低后大反弹,种种迹象表明,下周要迎报复性反弹吗?

A股:冲到3574新低后大反弹,种种迹象表明,下周要迎报复性反弹吗?

趋势清风侠
2026-10-23 15:36:36
游泳全锦赛首日综述:张展硕、于子迪强势夺金,潘展乐接力获银牌

游泳全锦赛首日综述:张展硕、于子迪强势夺金,潘展乐接力获银牌

乒烧泳球
2026-10-23 21:17:38
难以置信!网传一女子发布婚内保证书,自述抖音结识异性发生不当关系,引发轩然大波

难以置信!网传一女子发布婚内保证书,自述抖音结识异性发生不当关系,引发轩然大波

火山詩话
2026-10-22 08:15:35
史泰龙新剧仅播1集,就冲上全球流媒体第一

史泰龙新剧仅播1集,就冲上全球流媒体第一

影视情报室
2026-10-23 00:53:27
奇瑞全新电摩曝光!400V平台+直流快充,增程续航600km,2027年出

奇瑞全新电摩曝光!400V平台+直流快充,增程续航600km,2027年出

木瓜新车指南
2026-10-23 12:49:54
24岁印度男留学生杀害中国女子!偷她500英镑后被甩,竟买刀报复!

24岁印度男留学生杀害中国女子!偷她500英镑后被甩,竟买刀报复!

英国报姐
2026-10-24 00:58:37
​超10亿财产几乎归零!卡洛斯自曝:经纪人和家庭让他破产

​超10亿财产几乎归零!卡洛斯自曝:经纪人和家庭让他破产

足球推文C
2026-09-28 19:33:07
俄媒罕见喊话:中国轰炸机部分技术反超,俄方该倒过来学了

俄媒罕见喊话:中国轰炸机部分技术反超,俄方该倒过来学了

装甲铲史官
2026-10-22 12:09:46
提醒:今年冬天可能是50年以来少见的反常冬天,有5大特点

提醒:今年冬天可能是50年以来少见的反常冬天,有5大特点

今日养生之道
2026-10-22 06:31:39
44岁姚笛独自在杭州豪宅家中煮泡面,眼神中难掩落寞

44岁姚笛独自在杭州豪宅家中煮泡面,眼神中难掩落寞

追影客栈
2026-10-03 16:08:17
《嫁金钗》大结局满是遗憾,魏娆求自由,碧桃永远停在那一刻

《嫁金钗》大结局满是遗憾,魏娆求自由,碧桃永远停在那一刻

手工制作阿歼
2026-10-23 17:17:23
法国总统马克龙:坚决杜绝骚乱重演,未发现有境外势力干预,某些领导人为了竞选不惜牺牲法国散布不实信息

法国总统马克龙:坚决杜绝骚乱重演,未发现有境外势力干预,某些领导人为了竞选不惜牺牲法国散布不实信息

每日经济新闻
2026-10-22 12:42:57
日军为啥要在帽子上挂两块布?专家:此举可帮日军减少10万伤亡

日军为啥要在帽子上挂两块布?专家:此举可帮日军减少10万伤亡

鉴古知微
2026-10-14 03:09:52
1965年香港,何香凝含泪质问宋庆龄:咱们半辈子积下的革命家业,怎就落进了那个洋行买办外孙手里?

1965年香港,何香凝含泪质问宋庆龄:咱们半辈子积下的革命家业,怎就落进了那个洋行买办外孙手里?

磊子讲史
2026-10-13 16:31:51
固态电池确认了,比亚迪透露2027年上车,这回压力给到了丰田

固态电池确认了,比亚迪透露2027年上车,这回压力给到了丰田

浩渺青史
2026-10-24 00:51:15
我开大车前往西藏,在川藏线遇到穷游女搭车,她说:都是为了信仰

我开大车前往西藏,在川藏线遇到穷游女搭车,她说:都是为了信仰

温情邮局
2025-06-13 14:09:48
茜茜公主和姐姐奈奈,容貌差距太大了,难怪弗兰兹国王临时改变主意

茜茜公主和姐姐奈奈,容貌差距太大了,难怪弗兰兹国王临时改变主意

毒舌小红帽
2026-10-23 20:37:36
美向中国下“战书”?南部战区回应燃爆,态度前所未有的强硬!

美向中国下“战书”?南部战区回应燃爆,态度前所未有的强硬!

书写传奇
2026-10-23 00:00:43
2026-10-24 02:11:00
闪存猎手
闪存猎手
全网蹲好价的野生捕手,算力与羊毛都不可辜负。
263文章数 82关注度
往期回顾 全部

科技要闻

抢运营商饭碗!马斯克又有大动作

头条要闻

美国稀土大项目黄了 稀土产业遭遇重大挫折

头条要闻

美国稀土大项目黄了 稀土产业遭遇重大挫折

体育要闻

没人看好的加图索,打出队史最佳开局

娱乐要闻

黎纪君晒与刘恺威合照 恋情后首次同框

财经要闻

叫"保障"不叫"保险":租车平台的文字游戏

汽车要闻

设计换新/智舱升级 2027款博越限时价7.89万起

态度原创

旅游
本地
游戏
公开课
军事航空

旅游要闻

凤瞰潍坊 文脉千秋丨松园子古民居:完整还原明清大家族生活起居形态

本地新闻

这么近,那么美,周末赴贺州丨大湾区后花园

《GTA6》不只是地图更大 R星谈剧情与开放世界的平衡

公开课

李玫瑾:为什么性格比能力更重要?

军事要闻

美国或于明年开始扩建格陵兰岛军事设施

无障碍浏览 进入关怀版