anc95 / ChatGPT-CodeReview

🐥 A code review bot powered by ChatGPT
https://github.com/apps/cr-gpt
ISC License
3.77k stars 360 forks source link

gitlab集成 #115

Open nangongchengfeng opened 11 months ago

nangongchengfeng commented 11 months ago

您好,是否支持gitlab。如果需要帮助可以提供。gitlab的接口比较熟悉,也擅长gitlab-runner的配置

anc95 commented 11 months ago

抱歉,现在才注意到消息,现在不支持 gitlab,最近也确实没有精力去搞,使用 gitlab 的话,其实对现在的代码复用挺低的,欢迎贡献或者开一个自己的仓库实现 gitlab 的支持

shaowin16 commented 11 months ago

抱歉,现在才注意到消息,现在不支持 gitlab,最近也确实没有精力去搞,使用 gitlab 的话,其实对现在的代码复用挺低的,欢迎贡献或者开一个自己的仓库实现 gitlab 的支持

gitlab跟github处理代码review会有很大区别吗,我理解是不是调用的api不一样,还有gitlab-runner的配置不一样,但其他的逻辑是不是一样才对?

nangongchengfeng commented 11 months ago

抱歉,现在才注意到消息,现在不支持 gitlab,最近也确实没有精力去搞,使用 gitlab 的话,其实对现在的代码复用挺低的,欢迎贡献或者开一个自己的仓库实现 gitlab 的支持

不好意思 ,我比较 擅长Python,你这我语言没学过。 gitlab用Python也写了一版,也是获取commit的ddif进行上传到chatgpt进行 review的(感觉 考虑不全面)。 麻烦问一下,您这边的工作原理 是怎么样的? image

nangongchengfeng commented 11 months ago

@anc95 您好,咨询一下您这边的工作原理 是怎么样的?我想按照你这个原理,改改Gitlab的

anc95 commented 11 months ago

@shaowin16

gitlab跟github处理代码review会有很大区别吗,我理解是不是调用的api不一样,还有gitlab-runner的配置不一样,但其他的逻辑是不是一样才对?

是的,这里最后你说的「其它的逻辑」基本就是调用 openai 接口发请求了,只有这部分可以复用

anc95 commented 11 months ago

@nangongchengfeng 原理很简单,就时你上面的说的 获取 diff 然后交给 GPT review,完后再通过 comment 的形式插入到 PR 里

nangongchengfeng commented 11 months ago

image 大致实现,也就是类似于您这样的原理,评论是在每次 commit 的页面进行提交的

shaowin16 commented 11 months ago

@shaowin16

gitlab跟github处理代码review会有很大区别吗,我理解是不是调用的api不一样,还有gitlab-runner的配置不一样,但其他的逻辑是不是一样才对?

是的,这里最后你说的「其它的逻辑」基本就是调用 openai 接口发请求了,只有这部分可以复用

这个项目有没有考虑到这些场景: 1、根据diff的代码片段,由于不是完整的,因此会给出一些不合理的结论 比如:在整个代码片段中,并没有显示 import 相关的包信息。请确保所有使用的类都被正确导入; 评论某个方法的xx参数没有使用到(其实是本次提交的diff代码没有涉及到而已) 2、结合一些规范给出评审的意见,比如对Java代码的评审,结合阿里的Java开发规范等等

nangongchengfeng commented 11 months ago

@shaowin16

gitlab跟github处理代码review会有很大区别吗,我理解是不是调用的api不一样,还有gitlab-runner的配置不一样,但其他的逻辑是不是一样才对?

是的,这里最后你说的「其它的逻辑」基本就是调用 openai 接口发请求了,只有这部分可以复用

这个项目有没有考虑到这些场景: 1、根据diff的代码片段,由于不是完整的,因此会给出一些不合理的结论 比如:在整个代码片段中,并没有显示 import 相关的包信息。请确保所有使用的类都被正确导入; 评论某个方法的xx参数没有使用到(其实是本次提交的diff代码没有涉及到而已) 2、结合一些规范给出评审的意见,比如对Java代码的评审,结合阿里的Java开发规范等等

@shaowin16 这个我也考虑过,但是很难做到完美。ChatGPT有限制,如果输入超过一定数额的代码,就会报错。而且 现在API接口有好多的限制,如果 有ChatGPT4的接口,可以把单个文件 上传分析。(但是综合费用比较高)

anc95 commented 11 months ago

@nangongchengfeng 有完整的仓库或者链接吗?我可以贴到这个项目的 README 里

anc95 commented 11 months ago

@shaowin16 是的,这个综合成本比较高,这种需求建议 fork 代码,然后魔改

nangongchengfeng commented 11 months ago

@nangongchengfeng 有完整的仓库或者链接吗?我可以贴到这个项目的 README 里

感谢您的支持,我尽快整理归档代码和README,然后到时间给您。

nangongchengfeng commented 11 months ago

@nangongchengfeng 有完整的仓库或者链接吗?我可以贴到这个项目的 README 里

@anc95 大佬 已经整理完毕。https://github.com/nangongchengfeng/Chat-CodeReview.git 感谢您的建议和支持,看看有没有需要修改的地方,我再调整完善一下,目前还是 半成品。

image

anc95 commented 11 months ago

@nangongchengfeng 因为你只有中文版的文档,我就暂时加到我对应的中文 README

nangongchengfeng commented 11 months ago

@nangongchengfeng 因为你只有中文版的文档,我就暂时加到我对应的中文 README

感谢大佬的支持和帮助。目前我已经借鉴您的翻译版本格式,添加各国的语言。 https://github.com/nangongchengfeng/Chat-CodeReview.git 您方便的后续可以添加一下,这个项目也会不断的完善。感谢大佬的指导

image