AI驱动的GitHub提交审查器
概述
工作流名称: AI驱动的GitHub提交审查器
作者: Akhil
目的: 这个n8n工作流在GitHub推送事件时触发,获取提交差异,将其格式化为HTML,使用Groq LLM进行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模型: 根据需要替换为其他支持的LLM。
- 内存: 使用动态会话键进行每次提交审查。
- 电子邮件: 更改收件人或电子邮件样式。
错误处理
使用错误触发器节点处理以下故障:
- GitHub API请求
- LLM生成
- 电子邮件发送
使用案例
- 对代码推送的即时AI反馈。
- 人工审查前的建议。
- 安全和标准执行。
- 开发人员入职协助。
所需凭证
凭证 | 使用者 | 备注 |
---|---|---|
GitHub API (ID PSygiwMjdjFDImYb ) |
GitHub触发器 | 带有repo 和admin:repo_hook 的PAT |
GitHub OAuth2 API | HTTP请求 | 带有repo 范围的OAuth2令牌 |
Groq – Akhil (ID HJl5cdJzjhf727zW ) |
Groq聊天模型 | 来自GroqCloud的API密钥 |
Gmail OAuth2 – Akhil (ID wqFUFuFpF5eRAp4E ) |
Gmail | 用于发送电子邮件的Gmail OAuth2 |
最后说明
由Akhil使用n8n制作,充满❤️。