链接在此:magit-gptcommit
- 支持监听 staged 内容变化,自动生成新的 commit message
- 支持缓存(diff content 的 md5 做 key)
- 为
magit-commit
transient 命令添加新的 gptcommit 命令 - 支持在 COMMIT_EDITMSG buffer 导入并修改 gptcommit 的生成结果
- 支持一键将 gptcommit 的生成结果直接提交
上一个月看到 VS Code 生成 git commit message 的视频,有点意思。找了一圈没发现 emacs 有人实现(用 magit 关键字找不到 ),就动起自己做的心思,断断续续边学边做了两周,基本就差文档了,才发现有人做过类似的,差点想烂尾,不过好歹自己的第一个 package,不想放弃,死皮赖脸也要先发布出来。
现在还是娱乐性质居多,Prompt 还有很大的优化空间。另外一个问题就是上下文限制,比如 GPT3.5 才 4k token 随便提交一个文件就爆了,现在只是粗暴的按比例截断处理。 另外一个办法,就是像 gptcommit 一样,每个文件 diff 先总结一次 ,再整合各个总结生成 commit。最后生成一个 message 需要 n + 2 个请求,不过我使用后也是娱乐居多。看有没有人用再投入时间改了。
最后,祝各位 emacser 新春快乐!