Go+deepseek 帮你写 git 提交信息

220 天前
 wangyjjt

背景

很早之前就想做一个借助 ai 能力自动生成 git 提交信息的工具,但是当时的 ai 大模型要么和智能不沾边,要么 API 接口价格太贵。现在好用大模型价格也降下来了,甚至的很多平台免费的模型也堪大用了,于是就做了这么个工具。

功能

工具集成在以前写的命令行工具中了,它的gcmsg子命令可以帮助开发人员快速生成 git 提交消息,确认后可以提交并推送到远程仓库。

git 地址 lwe

效果看图:

模型选择

我开发这个功能的时候是,deepseek-V3刚推出不久,我测试后发现效果不错,而且价格也可以接受了,就打算对接一个 deepseek ,再接一个国外的 gemini 模型。但是来了,功能还没开发完(因为懒),R1 模型火出了圈,调试时接口一直超时,后来赠送的 token 也过期并且不让充值了,无奈只能去对接硅基流动部署deepseeek-V3,所以目前这个版本支持了两家的大模型,基本上可以非常低的成本使用了。

经过我对多个模型的测试,硅基上提供的千问Qwen/Qwen2.5-Coder-32B-Instruct模型也完全足够用,价格更低,而且硅基流动注册送的 2000w token 就能用好久好久了。

实现

实现原理也很简单,整个流程就是:利用 git diff 命令,获取代码的变动信息,再调用大模型 API 进行分析,大模型按照prompt要求将结果返回展示,最后完成提交、推送。

问题

目前还有几个问题没有解决很好

有经验或者好方案的可以交流一下

1303 次点击
所在节点    Go 编程语言
6 条回复
cslive
220 天前
Fitten Code 有个自动生成提交信息,我觉得还不错,一直用这个
wangyjjt
220 天前
嗯 我也试试
janda
220 天前
idea 版本的通义千问也不错、我现在基本都是靠这个生成对应的 git 注释、git 注释是我定义的模版
UN2758
213 天前
jb 家的 IDE 有个插件叫 AI commit ,支持的功能更多吧
wangyjjt
212 天前
@UN2758 嗯,后来经提才知道,就当练手了吧
wangyjjt
212 天前
@UN2758 我去试用了下,目前仅支持 OpenAI 的模型,对国内用户来说经济和时间还是门槛稍高了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1112358

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX