Srijan3412/helix
GitHub: Srijan3412/helix
Helix 是一个 AI 驱动的代码库智能分析平台,通过 AST 解析、依赖图可视化和多 Agent 问答帮助开发者快速理解和 onboarding 任意代码库。
Stars: 0 | Forks: 0
# Project Analyser Monorepo
Project Analyser 是一个高级的代码库可视化、静态分析和 AI 辅助文档平台。它通过解析代码库(支持 GitHub URL、ZIP 文件上传或本地目录路径)来构建架构图、追踪执行流程、分析架构健康度,并生成智能的新人引导指南。
它作为一个 monorepo 构建,包含一个 Fastify 后端、一个 Next.js 前端以及一个共享模块。
## 🚀 核心功能
* **多来源代码库摄取**:
* **GitHub**:直接克隆并分析公开仓库。
* **ZIP 文件上传**:支持拖拽上传代码库压缩包。
* **本地目录路径**:在安全授权过滤器下直接扫描系统路径。
* **基于 AST 的静态分析**(通过 `ts-morph`):
* 查找死代码候选、未使用的导出、循环依赖以及超大文件。
* 计算复杂度热点和整体的代码库健康评分。
* **代码库依赖图与查询**:
* 构建由 `@xyflow/react` (React Flow) 和 `dagre` 驱动的交互式依赖图。
* 执行高级图谱查询:直接/间接依赖项与被依赖项、文件间的 BFS 最短路径发现,以及核心节点检测。
* **架构层检测器**:
* 将文件分类并分组到不同的架构层(如路由、控制器、服务、存储库、数据库等)。
* **API 路由检查器与 OpenAPI 导出器**:
* 识别 API endpoint、方法、middleware 以及请求生命周期。
* 导出动态生成的 OpenAPI 3.0 规范。
* **AI 架构总结与开发者引导**(通过 Gemini API):
* 生成代码库技术栈总结、请求生命周期分析、认证审查以及首日开发者引导指南。
* **交互式代码库问答聊天**:
* 使用带有 Gemini 的多代理编排器,回答有关已分析代码库的自然语言问题。
* **执行追踪**:
* 模拟并跟踪请求在架构层、数据库和控制器中的流转过程。
* **业务功能流与地铁图**:
* 将路由映射到功能,并在交互式地铁风格的布局中进行可视化。
* **架构对比**:
* 对比不同的运行版本(例如分支或提交),以计算出文件、路由和依赖项的新增/移除/修改的详细 diff。
## 📂 项目结构
```
projectAnalyser/
├── backend/ # Fastify server, BullMQ worker, and AST/AI analysis modules
├── frontend/ # Next.js app with React Flow, Framer Motion, Zustand & TanStack Query
├── packages/
│ └── shared/ # Shared interfaces, schema validations, and types
├── docker-compose.yml # Docker environment configurations
└── package.json # Monorepo workspaces definition
```
## 🛠️ 技术栈
* **Monorepo**:npm workspaces, TypeScript
* **前端**:Next.js 16/React 19, Tailwind CSS v4, Zustand, Framer Motion, `@xyflow/react`, React Query
* **后端**:Node.js (ES Modules), Fastify, BullMQ, Redis, `ts-morph`, Simple Git, Adm-zip
* **AI 集成**:`@google/generative-ai` (Gemini 模型系列)
## ⚙️ 快速开始
### 前置条件
请确保您的机器上已安装以下内容:
* [Node.js](https://nodejs.org/)(推荐 v18+)
* [Redis](https://redis.io/)(用于后台队列和 BullMQ)
### 安装
1. 将此工作区克隆或复制到您的系统中。
2. 在根目录下,安装所有 workspace 依赖:
npm install
### 配置
在 `backend` 目录下创建一个 `.env` 文件,并使用以下变量:
```
PORT=4000
REDIS_URL=redis://localhost:6379
NODE_ENV=development
STORAGE_DIR=C:/project_analyser_storage
GEMINI_API_KEY=your_gemini_api_key_here
ALLOWED_ORIGINS=http://localhost:3000
FRONTEND_URL=http://localhost:3000
```
### 运行应用
您可以使用根目录下的 workspace 脚本,同时在开发模式下运行前端和后端:
```
# 并行启动 backend API、BullMQ worker 和 frontend Next.js server
npm run dev
```
或者,您也可以单独运行特定的 workspace:
```
# 运行 Next.js Frontend
npm run dev --workspace=frontend
# 运行 Fastify API Server
npm run dev --workspace=backend
```
构建并检查 TypeScript 编译:
```
npm run typecheck
npm run build
```
## 🐳 Docker 部署
项目开箱即用地提供了 `docker-compose.yml`,可在容器化环境中编译并编排 Redis、后端服务器以及 Next.js 前端。
启动容器:
```
docker-compose up --build
```
相关服务将暴露在以下端口:
* **前端**:`http://localhost:3000`
* **后端**:`http://localhost:4000`
* **Redis**:`http://localhost:6379`
标签:AI代码助手, Fastify, 代码可视化, 威胁情报, 开发者工具, 搜索引擎查询, 架构分析, 自动化攻击, 请求拦截, 错误基检测, 静态代码分析