掘金 人工智能 15小时前
学习webhook与coze实现ai code review
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

该项目是一个基于Node.js开发的智能代码审查工具,能够自动监听GitHub代码提交事件,并利用硅基流动AI或Coze智能体进行代码质量分析和最佳实践建议。它支持多AI服务动态切换,无缝集成GitHub Webhook,实现提交后即时审查。审查结果会被持久化存储为结构化文本文件,便于历史追踪和查阅。该工具旨在提升代码质量,提供详细的安全性、性能和代码规范建议,支持JavaScript、Python、Java等主流编程语言,并具备良好的扩展性和性能优化设计。

🚀 **多AI服务支持与动态切换**:该工具集成了硅基流动AI和Coze智能体两种AI服务,并提供动态切换功能,允许用户根据需要选择不同的AI分析引擎,以满足多样化的代码审查需求。

🔗 **GitHub Webhook无缝集成与实时处理**:通过配置GitHub Webhook,工具能够自动捕获代码推送事件,并立即触发代码审查流程,实现提交后即时反馈,无需手动操作,大大提高开发效率。

📊 **全面的智能代码分析与建议**:该工具能够对代码进行深入的质量评估,包括结构、性能和安全性,并基于行业标准提供具体的改进建议,同时支持JavaScript、Python、Java等多种主流编程语言。

💾 **审查结果持久化与历史追踪**:所有审查结果都会自动保存为结构化文本文件,并按照特定命名格式存储在本地,方便用户进行历史审查记录的查阅和追溯,形成完整的代码质量演进脉络。

💡 **模块化与可扩展性设计**:项目采用模块化设计,核心组件清晰,并具备插件化架构和配置驱动的特点,使得添加新的AI服务或根据环境变量进行灵活配置变得容易,保证了工具的良好扩展性和可维护性。

AI代码审查工具

github github.com/zhangjiadi2…

测试可使用内网穿透工具将本地服务暴露到公网, 然后配置对应webhook. 日志目前只保留发送请求的message以及ai审查报告 .

ai建议使用coze, 直接使用gpt相关接口, 暂时每次都得携带大量文本 .

项目概述

这是一个基于Node.js开发的智能代码审查工具(demo)

核心特性

🚀 多AI服务支持

🔗 无缝集成

📊 智能分析

💾 结果持久化

技术架构

系统架构图

GitHub Repository       ↓ (Webhook)   Express Server       ↓   Webhook Handler       ↓   GitHub Service ←→ AI Service Factory       ↓                    ↓   Diff Analysis      [SiliconFlow | Coze]       ↓                    ↓   File Storage ←── Review Results

核心组件

1. Web服务层 (src/index.js)
2. Webhook处理器 (src/routes/webhook.js)
3. GitHub服务 (src/services/github.js)
4. AI服务工厂 (src/services/ai/)

工作流程

1. 代码提交触发

sequenceDiagram    Developer->>GitHub: git push    GitHub->>AI Review Tool: Webhook Event    AI Review Tool->>GitHub API: Get Commit Diff    GitHub API-->>AI Review Tool: Return Diff Data

2. AI分析处理

sequenceDiagram    AI Review Tool->>AI Service: Send Code Diff    AI Service->>AI Provider: API Request    AI Provider-->>AI Service: Analysis Result    AI Service-->>AI Review Tool: Formatted Review

3. 结果存储

sequenceDiagram    AI Review Tool->>File System: Save Review    AI Review Tool->>Logs: Record Process    AI Review Tool-->>GitHub: Response OK

安装与配置

环境要求

快速开始

    克隆项目
git clone <repository-url>cd ai-code-review
    安装依赖
npm install
    环境配置
cp .env.example .env# 编辑.env文件,配置必要的API密钥
    启动服务
# 开发模式npm run dev# 生产模式npm start

配置说明

基础配置
# 服务端口PORT=3000# 环境类型NODE_ENV=development
GitHub集成
# GitHub访问令牌(可选,用于私有仓库)GITHUB_TOKEN_AI=your_github_token
AI服务配置
# 当前使用的AI服务类型AI_SERVICE_TYPE=coze# 硅基流动AI配置SILICONFLOW_API_KEY=your_siliconflow_keySILICONFLOW_MODEL=deepseek-chat# Coze智能体配置COZE_API_URL=https://api.coze.cn/v3/chatCOZE_API_KEY=your_coze_keyCOZE_BOT_ID=your_bot_id

使用指南

GitHub Webhook配置

    进入GitHub仓库设置页面选择"Webhooks" → "Add webhook"配置参数:
      Payload URL: http://your-domain.com/webhook/githubContent type: application/jsonEvents: 选择"Just the push event"
    保存配置

审查结果查看

审查结果自动保存在reviews/目录下,文件命名格式:

review_[service]_[commit_id]_[timestamp].txt

示例文件内容:

代码审查报告 (coze)==========================================提交ID: abc123def456提交信息: 修复用户登录bug作者: 张三审查时间: 2024-01-01T10:00:00.000Z详细建议:------------------------------------------1. 安全性建议:   - 建议在密码验证前添加输入验证   - 考虑使用bcrypt进行密码哈希2. 性能优化:   - 数据库查询可以添加索引优化   - 建议使用连接池管理数据库连接3. 代码规范:   - 变量命名建议使用驼峰命名法   - 建议添加必要的错误处理

项目结构

ai-code-review/├── src/                          # 源代码目录│   ├── index.js                  # 应用入口文件│   ├── routes/                   # 路由处理│   │   ├── webhook.js           # Webhook事件处理│   │   ├── debug.js             # 调试接口│   │   └── logs.js              # 日志查看接口│   ├── services/                # 核心服务│   │   ├── ai/                  # AI服务模块│   │   │   ├── base.js          # AI服务基类│   │   │   ├── index.js         # 服务工厂│   │   │   ├── siliconflow.js   # 硅基流动AI服务│   │   │   └── coze.js          # Coze智能体服务│   │   ├── github.js            # GitHub API服务│   │   └── logger.js            # 日志服务│   ├── middleware/              # 中间件(预留)│   ├── utils/                   # 工具函数(预留)│   └── public/                  # 静态资源├── reviews/                     # 审查结果存储├── messages/                    # AI请求消息存储├── logs/                        # 系统日志├── test/                        # 测试文件├── package.json                 # 项目配置├── .env                         # 环境变量└── README.md                    # 项目说明

开发特性

代码质量保障

扩展性设计

性能优化

最佳实践

安全建议

性能优化

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

AI代码审查 Node.js GitHub Coze 硅基流动AI
相关文章