AI驱动的GitHub提交审查工具
概述
工作流名称: AI驱动的GitHub提交审查工具
作者: Akhil
功能: 这个n8n工作流在GitHub推送事件时触发,获取提交差异,将其格式化为HTML,使用Groq大语言模型进行AI代码审查,并通过电子邮件发送详细报告。
工作原理(逐步说明)
1. GitHub触发器
- 节点类型:
n8n-nodes-base.githubTrigger
- 功能: 在GitHub推送事件时启动工作流。
- 仓库: akhilv77/relevance
- 输出: 包含提交和仓库详情的JSON。
2. 解析器
- 节点类型:
n8n-nodes-base.set
- 功能: 提取关键信息(仓库ID、名称、提交SHA、文件变更)。
3. HTTP请求
- 节点类型:
n8n-nodes-base.httpRequest
- 功能: 使用GitHub API获取提交差异详情。
- 认证: GitHub OAuth2 API。
4. 代码(HTML格式化器)
- 节点类型:
n8n-nodes-base.code
- 功能: 将提交信息和差异格式化为带样式的HTML。
- 输出: 提交详情的HTML报告。
5. Groq聊天模型
- 节点类型:
@n8n/n8n-nodes-langchain.lmChatGroq
- 功能: 提供AI模型(llama-3.1-8b-instant)。
6. 简单记忆
- 节点类型:
@n8n/n8n-nodes-langchain.memoryBufferWindow
- 功能: 为AI代理维护记忆上下文。
7. AI代理
- 节点类型:
@n8n/n8n-nodes-langchain.agent
- 功能: 执行基于AI的代码审查。
- 提示: 审查代码中的错误、风格、语法和安全性。输出带样式的HTML。
8. 输出解析器
- 节点类型:
n8n-nodes-base.code
- 功能: 将提交HTML与AI审查结果合并为一个HTML块。
9. Gmail
- 节点类型:
n8n-nodes-base.gmail
- 功能: 通过电子邮件发送审查报告。
- 收件人: [email protected]
10. 结束工作流
- 节点类型:
n8n-nodes-base.noOp
- 功能: 标记结束。
自定义提示
- GitHub触发器: 更改仓库/所有者或触发事件。
- HTTP请求: 修改端点以获取特定数据。
- AI代理: 更新提示以关注不同的审查方面。
- Groq模型: 根据需要替换为其他支持的大语言模型。
- 记忆: 使用动态会话键进行每次提交审查。
- 电子邮件: 更改收件人或电子邮件样式。
错误处理
使用错误触发节点处理以下情况:
- GitHub API请求失败
- 大语言模型生成失败
- 电子邮件发送失败
应用场景
- 代码推送时即时获取AI反馈。
- 人工审查前的建议。
- 安全和标准执行。
- 开发者入职协助。
所需凭证
凭证 | 使用者 | 备注 |
---|---|---|
GitHub API (ID PSygiwMjdjFDImYb ) |
GitHub触发器 | 具有repo 和admin:repo_hook 权限的个人访问令牌 |
GitHub OAuth2 API | HTTP请求 | 具有repo 范围的OAuth2令牌 |
Groq – Akhil (ID HJl5cdJzjhf727zW ) |
Groq聊天模型 | 来自GroqCloud的API密钥 |
Gmail OAuth2 – Akhil (ID wqFUFuFpF5eRAp4E ) |
Gmail | 用于发送电子邮件的Gmail OAuth2 |
最后说明
Akhil使用n8n制作,充满爱心。