Skip to content

专业的代码智能分析工具,基于大语言模型(LLM)为您的代码库提供深度分析和专业建议。

Notifications You must be signed in to change notification settings

bbeyondllove/codeguard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CodeGuard

专业的代码智能分析工具,基于大语言模型(LLM)为您的代码库提供深度分析和专业建议。

功能特性

核心功能

  • 🔍 智能代码分析:基于LLM的深度代码架构分析,自动识别技术栈、架构模式和设计缺陷
  • 📊 项目架构报告:生成详细的Markdown格式分析报告,包含架构图、流程图、目录结构分析
  • 🌿 分支对比分析:支持Git分支间的差异对比,生成详细的变更分析报告
  • 💬 交互式分析:支持持续对话模式,可对设计想法进行评估和建议
  • ⚡ 流式输出:实时流式输出分析结果,提升用户体验

技术亮点

  • 🚀 性能优化:内置多级缓存机制、批处理优化、内存池管理
  • 🎯 多语言支持:支持Go、JavaScript、TypeScript、Python、Java等多种编程语言
  • 🔄 增量分析:支持增量更新和依赖追踪,提高分析效率
  • 🛡️ 健壮性保障:goroutine泄漏检测、优雅关闭、资源管理

技术栈

  • Go 1.24.5:主要编程语言
  • Cloudwego Eino:LLM集成框架
  • OpenAI兼容API:支持多种LLM服务提供商(OpenAI、Deepseek等)
  • Git:代码变更分析和分支对比

配置说明

在使用前,请先配置环境变量或创建 .env 文件:

API_KEY=your_api_key_here
API_SERVER=https://api.deepseek.com/v1  # 或其他兼容OpenAI的API服务器
MODEL=deepseek-chat  # 或其他支持的模型

快速开始

Windows

在指定项目目录执行:

方式1:非交互模式(直接分析)

codeguard.exe analyze

方式2:交互模式

codeguard.exe

然后在交互界面中:

  • 输入 analyze 进行项目架构分析
  • 直接输入设计想法获取专业评估
  • 输入 help 查看帮助
  • 输入 quitexit 退出

方式3:分支对比模式

自动模式:

codeguard.exe branch
  • 如果有多个分支:自动获取最近访问的两个不同分支进行对比
  • 如果只有单个分支:自动对比最近的两次提交,查看最新变更

手动指定模式:

codeguard.exe branch <旧版本> <新版本>

参数说明:

  • 第一个参数是基准版本(旧版本)
  • 第二个参数是目标版本(新版本)
  • 报告会分析目标版本相对于基准版本的代码质量和变更

示例:

# 查看 feature 分支相对于 main 的变更
codeguard.exe branch main feature

# 查看最新提交的代码质量
codeguard.exe branch HEAD~1 HEAD

# 使用提交哈希对比
codeguard.exe branch abc1234 def5678

macOS (Intel)

首先授权:

chmod +x codeguard-mac

然后在指定项目目录执行:

方式1:非交互模式(直接分析)

./codeguard-mac analyze

方式2:交互模式

./codeguard-mac

然后在交互界面中:

  • 输入 analyze 进行项目架构分析
  • 直接输入设计想法获取专业评估
  • 输入 help 查看帮助
  • 输入 quitexit 退出

方式3:分支对比模式

自动模式:

./codeguard-mac branch
  • 如果有多个分支:自动获取最近访问的两个不同分支进行对比
  • 如果只有单个分支:自动对比最近的两次提交,查看最新变更

手动指定模式:

./codeguard-mac branch <旧版本> <新版本>

参数顺序: <基准版本(旧)> <目标版本(新)>

Linux

首先授权:

chmod +x codeguard-linux

然后在指定项目目录执行:

方式1:非交互模式(直接分析)

./codeguard-linux analyze

方式2:交互模式

./codeguard-linux

然后在交互界面中:

  • 输入 analyze 进行项目架构分析
  • 直接输入设计想法获取专业评估
  • 输入 help 查看帮助
  • 输入 quitexit 退出

方式3:分支对比模式

自动模式:

./codeguard-linux branch
  • 如果有多个分支:自动获取最近访问的两个不同分支进行对比
  • 如果只有单个分支:自动对比最近的两次提交,查看最新变更

手动指定模式:

./codeguard-linux branch <旧版本> <新版本>

参数顺序: <基准版本(旧)> <目标版本(新)>

输出说明

项目架构分析报告

分析完成后,会在项目根目录生成 codeguard_analysis 文件夹,其中:

  • analysis_report.md - 完整的项目智能分析报告,包含:
    • 项目功能和技术栈概览
    • 系统架构分析(整体+子模块)
    • 业务流程分析(3-5个核心场景)
    • 业务逻辑深度分析
    • 目录结构和职责分析
    • 架构缺陷和改进建议

分支对比报告

执行分支对比后,会生成:

  • branch_compare_[base]_vs_[compare].md - 详细的分支差异分析报告,包含:
    • 提交历史统计
    • 文件变更统计
    • 代码变更详细分析
    • 影响评估和建议

核心架构

CodeGuard 采用模块化设计,主要包含:

  • analyzer: 代码分析核心模块
    • 技术栈检测
    • 目录结构分析
    • Git差异分析
    • 多阶段分析流程
    • 分支对比分析
  • cache: 多级缓存系统
    • L1内存缓存
    • L2磁盘缓存
    • 并发安全保证
  • llm: LLM客户端
    • 批处理优化
    • 流式输出支持
    • 请求重试机制
  • formatter: 报告生成
    • Markdown格式化
    • JSON格式化
  • lifecycle: 生命周期管理
    • 资源管理
    • 优雅关闭
    • goroutine泄漏检测

项目特色

  1. 智能分析:基于LLM的深度理解,不仅分析代码结构,还能识别架构模式、业务逻辑和潜在问题
  2. 流式体验:实时流式输出分析结果,无需等待全部完成即可查看进度
  3. 分支对比:Git集成的分支差异分析,快速了解版本间的变化和影响
  4. 交互式对话:支持对设计想法进行评估,提供专业的架构建议
  5. 高性能:多级缓存、批处理、内存池等优化,确保大型项目的分析效率

许可证

MIT License

贡献

欢迎提交 Issue 和 Pull Request!

About

专业的代码智能分析工具,基于大语言模型(LLM)为您的代码库提供深度分析和专业建议。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages