AI个人学习
和实操指南

CR-Mentor:知识库+LLM 驱动的GitHub智能代码审查导师

综合介绍

CR-Mentor 是一个结合专业知识库与大语言模型(LLM)能力的智能代码审查工具。它不仅支持所有编程语言的代码审查,还能基于知识库积累的最佳实践,为团队定制专属审查标准和重点关注领域。通过持续积累知识库和深度学习,CR-Mentor 能有效提升团队代码质量,显著降低审查时间和错误率。

CR-Mentor:知识库 + LLM 驱动的智能代码审查导师-1


 

功能列表

  • 全语言代码审查:支持所有主流编程语言的代码审查。
  • 定制审查标准:基于知识库的最佳实践,为团队定制专属审查标准。
  • 智能单文件审查:结合知识库经验与 LLM 分析,对单文件代码变更提供专业评分和改进建议。
  • 全局代码分析:基于所有文件代码变更,通过 LLM 提供综合审查报告,包括代码演练、变更说明和时序图。
  • GitHub 深度集成:无缝对接 GitHub 工作流,实现自动化代码审查。
  • 多语言响应:支持自定义代码审查反馈的语言。

 

 

使用帮助

安装流程

  1. 注册和登录:创建一个 CR-Mentor 账号并登录。
  2. 安装 CR-Mentor:将 CR-Mentor 添加到你的 GitHub 仓库。
  3. 创建 Pull Request:在你的公共仓库中提交一个 PR 进行代码审查。

使用流程

  1. 提交代码:将代码提交到 GitHub 仓库。
  2. 自动审查:CR-Mentor 会自动分析代码,生成详细的代码审查报告。
  3. 查看报告:报告包括代码演练、变更说明和时序图,帮助开发者理解代码变更的影响。
  4. 优化建议:根据报告中的建议,优化代码,提高代码质量和性能。

详细操作步骤

  1. 注册和登录:访问 CR-Mentor 网站,点击“注册”按钮,填写必要信息完成注册。注册后,使用注册的账号和密码登录。
  2. 安装 CR-Mentor:登录后,进入“安装指南”页面,按照步骤将 CR-Mentor 添加到你的 GitHub 仓库。具体步骤包括:
    • 在 GitHub 上创建一个新的仓库或选择一个现有的仓库。
    • 在仓库设置中,添加 CR-Mentor 的 GitHub App。
    • 配置 Webhook URL 和其他必要信息。
  3. 创建 Pull Request:在你的 GitHub 仓库中,创建一个新的分支并进行代码更改。提交更改后,创建一个 Pull Request,CR-Mentor 会自动开始代码审查。
  4. 查看审查报告:CR-Mentor 会生成详细的代码审查报告,报告包括代码演练、变更说明和时序图。开发者可以在 GitHub 的 Pull Request 页面查看报告。
  5. 优化代码:根据审查报告中的建议,优化代码。CR-Mentor 的建议基于知识库的最佳实践和 LLM 的分析,帮助开发者提高代码质量和性能。

注意事项

  • 定制审查标准:在 CR-Mentor 的设置页面,可以根据项目需求定制代码审查标准。定制标准可以确保代码符合团队的最佳实践。
  • 多语言支持:CR-Mentor 支持多种编程语言的代码审查,开发者可以在设置页面选择需要审查的语言。
  • 报告导出:审查报告可以导出为 PDF、HTML 和 Markdown 格式,方便分享和归档。

 

技术栈

  • 🔥 使用 Next.js App Router 构建现代化 Web 应用
  • 🎨 使用 Tailwind CSS 实现优雅的响应式设计
  • 🔐 使用 Clerk 提供安全可靠的用户认证
  • 📦 使用 Supabase 实现高性能数据存储
  • 🔗 使用 Github App 实现 GitHub 深度集成
  • 🧠 使用 Dify 构建智能 LLM 工作流

 

部署指南

你可以通过设置以下服务并添加相应的环境变量来部署此模板:

  1. 运行 npm install 安装依赖,然后运行 npm run dev 启动开发服务器。
  2. 系统会要求你提供 CLERK_SECRET_KEY。具体步骤如下:
    • 注册一个 Clerk 账号。
    • 从 API keys 复制 CLERK_SECRET_KEY 和 NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY 到 .env.local 文件中。
  3. 现在你的前端和后端应该已经运行,你可以登录但还不能进行代码审查。
  4. 创建一个 Supabase 账号来获取 API key
    1. 创建一个 Supabase 项目,在 Project Settings 中复制:
      • SUPABASE_URL
      • SUPABASE_KEY

      执行以下 SQL 语句创建 githubId_clerkId 表:

      CREATE TABLE "public"."githubId_clerkId" (
      "github_id" text NOT NULL,
      "clerk_id" text NOT NULL,
      PRIMARY KEY ("github_id")
      );
      

      执行以下 SQL 语句创建 repoName_file 表:

      CREATE TABLE "public"."repoName_file" (
      "repo_fullName" text NOT NULL,
      "file_name" text NOT NULL,
      "folder_name" text NOT NULL,
      PRIMARY KEY ("repo_fullName", "file_name", "folder_name")
      );
      
    2. 在 Storage 的 S3 Connection 中复制:
      • SUPABASE_S3_ENDPOINT
      • SUPABASE_S3_REGION
    3. 在 Storage 的 S3 Access Keys 中新建:
      • SUPABASE_STORE_ID
      • SUPABASE_STORE_SECRET_KEY
    4. 在 Storage 中使用 New bucket 新建 Bucket:
      • 将 Bucket 名称填入 SUPABASE_BUCKET_NAME
    SUPABASE_URL=
    SUPABASE_KEY=
    SUPABASE_S3_ENDPOINT=
    SUPABASE_S3_REGION=
    SUPABASE_STORE_ID=
    SUPABASE_STORE_SECRET_KEY=
    SUPABASE_BUCKET_NAME=
    
  5. 创建一个 Github 账号,然后创建一个 Github App
    • 在 Settings -> Developer settings -> GitHub Apps 中点击 New GitHub App
    • 填写 GitHub App nameHomepage URLWebhook URL 等信息。
    • 生成 Private key 并下载,复制 App IDClient IDClient secret 到 .env.local 文件中。
    GITHUB_APP_ID=
    GITHUB_CLIENT_ID=
    GITHUB_CLIENT_SECRET=
    
    # 只填写 -----BEGIN RSA PRIVATE KEY----- 和 -----END RSA PRIVATE KEY----- 之间的内容
    GITHUB_PRIVATE_KEY=
    
  6. 创建一个 Dify 账号并配置 LLM 工作流:
    1. 注册 Dify 账号并在模型供应商处配置 LLM 模型
    2. 在 Dify 工作室 导入工作流:
      • 点击「创建应用」选择「导入 DSL」
      • 切换到 URL 模式,填入工作流文件的 URL: https://ovlxxbdwimhigoejxkqn.supabase.co/storage/v1/object/public/test-bucket-api/Dify_DSL/CR-Mentor.yml
      • 点击创建完成导入
    3. 发布工作流:
      • 在「编排」页面点击「发布」按钮
    4. 获取 API Key:
      • 在左侧导航栏点击「API Access」
      • 切换到「Workflow App API」页面
      • 点击右上角「API Key」新建 Secret key
      • 复制 Secret key 到 .env.local 文件:
      DIFY_APIKEY=
      DIFY_BASE_URL=https://api.dify.ai/v1  # 固定值
AI轻松学

普通人的AI入门指南

帮助你以低成本、零基础学会如何利用AI工具。AI就像办公软件一样,是每个人的必备技能。 掌握AI会让你在求职中占据优势,在未来的工作和学习中事半功倍。

查看详情>
未经允许不得转载:首席AI分享圈 » CR-Mentor:知识库+LLM 驱动的GitHub智能代码审查导师

首席AI分享圈

首席AI分享圈专注于人工智能学习,提供全面的AI学习内容、AI工具和实操指导。我们的目标是通过高质量的内容和实践经验分享,帮助用户掌握AI技术,一起挖掘AI的无限潜能。无论您是AI初学者还是资深专家,这里都是您获取知识、提升技能、实现创新的理想之地。

联系我们
zh_CN简体中文