Sidhant0707/codeautopsy

GitHub: Sidhant0707/codeautopsy

一款融合静态分析引擎与大语言模型的 GitHub 仓库架构深度解析工具,能自动生成依赖关系图、架构模式识别和执行流程等可视化报告。

Stars: 0 | Forks: 0

CodeAutopsy Logo

CodeAutopsy

AI-powered codebase visualization and architectural analysis.

Deployed on Vercel Powered by Gemini
## 🔬 概述 CodeAutopsy 是一个深度分析流水线,可将复杂的 GitHub 仓库转化为交互式架构图。通过利用 Gemini 1.5 Pro 和自定义静态分析,它可以帮助开发者在几分钟(而非几天)内理解新的代码库。 **在几分钟内理解任何 GitHub 代码库。** CodeAutopsy 是一款由 AI 驱动的仓库分析工具,它在将结构化上下文发送给 LLM 之前,会执行真正的静态分析。它不是一个简单的 API 封装器——它能构建 import 图、检测入口点、按重要性对文件进行排名,并将结构化数据提供给 Gemini 进行架构分析。 🌐 **在线演示:** [codeautopsy.app](https://codeautopsy-lyart.vercel.app) ## 🛠️ 功能介绍 粘贴任何 GitHub 仓库 URL,即可获取: - **架构概览** — 模式检测(MVC、Monolith、Library 等)。 - **执行流程** — 详细跟踪应用程序从头到尾的运行方式。 - **依赖关系图** — 通过解析真实的 import 构建的 Mermaid.js 可视化图表。 - **技术栈检测** — 深入分析语言、框架及其具体作用。 - **核心模块拆解** — 分析每个文件的功能及其存在的原因。 - **开发者新手指南** — 为新贡献者即时生成的文档。 - **代码库问答聊天** — 由 Groq/Llama 3.1 驱动的自然语言问答。 - **可分享报告** — 持久化的分析链接,位于 `/view/{owner}/{repo}`。 ## 🏗️ 为什么它不仅仅是 API 封装器 大多数“AI 代码分析”工具只是将代码库丢给 LLM 并听天由命。CodeAutopsy 在任何 AI 调用之前,会使用一个复杂的工程流水线进行处理: ### 第 1 层 — 仓库解析器 - 通过 **GitHub Git Trees API** 在单次调用中获取完整的文件树。 - 智能噪声过滤:自动忽略 `node_modules`、`dist`、lock 文件和二进制文件。 - 通过解析清单(`package.json`)和文件名模式检测入口点。 ### 第 2 层 — 静态分析引擎 - **正则表达式解析:** 提取整个代码库中的 `import`/`require` 语句。 - **图构建:** 通过本地路径解析构建依赖邻接表。 - **指标计算:** 计算 **Fan-in 分数** 以识别核心实用工具模块。 - **排名算法:** 按“架构重要性”(Fan-in + Depth + Role)对文件进行排序。 ### 第 3 层 — 结构化 AI 分析 - **上下文优化:** 仅将排名前 15-20 的文件发送给 Gemini,以防止“迷失在中间”的上下文问题。 - **严格 Schema:** 强制 Gemini 使用强类型的 JSON schema,以实现一致的 UI 渲染。 - **交叉验证:** 确保 AI 生成的见解与实际的文件树相匹配。 ### 第 4 层 — 基础设施 - **智能缓存:** 基于 `repo_url + commit_sha + analysis_version` 作为键的 Supabase (PostgreSQL) 缓存。 - **无状态认证:** 使用 `@supabase/ssr` 进行安全的会话处理和私有仓库 token 注入。 - **流量控制:** 使用 Upstash Redis 进行速率限制(每 24 小时 3 次分析)。 ## 💻 技术栈 | 层级 | 技术 | | :--- | :--- | | **Frontend** | Next.js 16 (App Router) + Tailwind CSS + Framer Motion | | **AI Engine** | Google Gemini 2.5 Pro / Flash | | **Repo Chat** | Groq (Llama 3.1 8B) | | **Auth / DB** | Supabase (PostgreSQL) | | **Rate Limiting** | Upstash Redis | | **Diagrams** | Mermaid.js | | **Deployment** | Vercel | ## 🚀 本地运行 1. **克隆与安装** git clone https://github.com/Sidhant0707/codeautopsy cd codeautopsy npm install 配置环境 创建一个 .env.local 文件: 代码片段 GITHUB_TOKEN=your_github_token GEMINI_API_KEY=your_gemini_api_key GROQ_API_KEY=your_groq_api_key NEXT_PUBLIC_SUPABASE_URL=your_supabase_url NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key SUPABASE_SERVICE_KEY=your_supabase_service_key UPSTASH_REDIS_REST_URL=your_upstash_url UPSTASH_REDIS_REST_TOKEN=your_upstash_token 启动 Bash npm run dev 📐 架构流程 代码片段 graph TD A[User pastes GitHub URL] --> B[GitHub API: Fetch File Tree] B --> C[Filter Noise & Binary Files] C --> D[Detect Entry Points & Parse Imports] D --> E[Build Dependency Graph & Rank Files] E --> F[Fetch Top Ranked File Contents] F --> G[Gemini 1.5 Pro: Architectural Analysis] G --> H[Store in Supabase Cache] H --> I[Render Dashboard & Mermaid Diagram] 👨‍💻 开发者 Sidhant Kumar - LinkedIn | GitHub
标签:AI代码分析, AI辅助编程, AST解析, DLL 劫持, Gemini 1.5 Pro, GitHub仓库分析器, Llama 3.1, Mermaid.js, OSV, Vercel, 云安全态势管理, 代码可视化, 代码库自动解剖, 代码问答系统, 依赖关系图, 前端应用, 大语言模型, 威胁情报, 开发者入职指南, 开发者工具, 开源项目分析, 技术栈识别, 架构模式检测, 模块功能分析, 程序执行流分析, 自动化攻击, 软件架构分析, 错误基检测, 静态代码分析