mepiii/devlens

GitHub: mepiii/devlens

一款基于纯浏览器端 TypeScript ML 引擎的代码分析平台,无需 Python 或服务端即可计算圈复杂度、检测重复代码并预测技术债务。

Stars: 0 | Forks: 0

# DevLens 基于客户端 ML 技术的代码分析平台。计算圈复杂度,检测重复组件,评估设计 token 的一致性,并预测技术债务成本——全部在浏览器中完成,零 Python 依赖。 ## 概述 使用纯 TypeScript ML 引擎直接在浏览器中分析源代码的 AST。支持 GitHub 仓库导入和本地文件夹上传。使用决策树模型、Jaccard 相似度和 SHAP 归因计算圈复杂度、耦合指数、设计 token 一致性和技术债务成本——无需任何服务端处理。 ## 核心架构 ``` flowchart LR User -->|imports| Frontend["Vite SPA (TypeScript)"] Frontend -->|GitHub API proxy| Express["Express server.ts"] Frontend -->|parses| AST["AST Parser"] Frontend -->|features| Engine["ML Engine"] Engine -->|complexity| Cyclo["Cyclomatic Analyzer"] Engine -->|duplicates| Jaccard["Jaccard Similarity"] Engine -->|debt| SHAP["SHAP Attribution"] Engine -->|tokens| Design["Token Consistency"] Frontend -->|renders| Dashboard["Dashboard Views"] ``` ## 系统组件 | 组件 | 职责 | |---|---| | `src/lib/mlEngine.ts` | 客户端 ML 引擎 — 决策树、Jaccard、SHAP | | `src/lib/projectImporter.ts` | GitHub API 和本地文件系统导入 | | `src/App.tsx` | 主外壳和状态管理器 | | `src/components/` | Dashboard、Scan、Import、CodeQuality、DevLensAssistant 视图 | | `server.ts` | Express 后端 — GitHub API 代理和静态服务 | | `src/types.ts` | 共享的 TypeScript 接口 | ## 仓库布局 | 目录 | 用途 | |---|---| | `src/lib/` | ML 引擎和项目导入器 | | `src/components/` | UI 视图组件 | | `src/` | App 外壳、类型、入口点 | | `server.ts` | Express 开发/生产服务器 | ## 技术栈 | 层级 | 技术 | 用途 | |---|---|---| | 语言 | TypeScript | 类型安全的实现 | | 构建 | Vite | Bundler 和开发服务器 | | 运行时 | Bun / Node.js | 执行环境 | | 后端 | Express | GitHub API 代理、静态服务 | | ML | 纯 TypeScript | 决策树、Jaccard、SHAP | | UI | React | 组件框架 | ## 环境要求 - Node.js 18+ 或 Bun - npm 或 bun ## 配置 | 文件 | 用途 | |---|---| | `package.json` | 依赖和脚本 | | `vite.config.ts` | Vite bundler 配置 | | `tsconfig.json` | TypeScript 编译器选项 | | `server.ts` | Express 服务器配置 | | `.env.example` | 环境变量模板 | ## 快速开始 ``` cd devlens npm install cp .env.example .env npm run dev ``` 打开 `http://localhost:3000` ## 开发 ``` npm run dev # Vite dev server + Express npm run build # Production build (Vite + esbuild) npm run start # Production server ``` ## 请求 / 数据流 ``` sequenceDiagram participant App participant Importer participant MLEngine participant Dashboard User->>App: Import GitHub repo App->>Importer: Fetch repository files Importer-->>App: Source code tree App->>MLEngine: Parse ASTs, extract features MLEngine->>MLEngine: Compute complexity, Jaccard, SHAP MLEngine-->>App: Feature matrix + predictions App->>Dashboard: Render quality scores, debt estimates Dashboard-->>User: Interactive analysis views ```
标签:Apex, AST解析, MITM代理, TypeScript, 云安全监控, 代码质量分析, 前端开发工具, 安全插件, 技术债务评估, 机器学习, 自动化攻击, 静态分析