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, 代码可视化, 威胁情报, 开发者工具, 搜索引擎查询, 架构分析, 自动化攻击, 请求拦截, 错误基检测, 静态代码分析