OlaProeis/Archlyze

GitHub: OlaProeis/Archlyze

基于 Google Gemini 的浏览器端 AI 代码分析工具,提供静态分析、漏洞检测、架构可视化和执行简报生成等功能。

Stars: 0 | Forks: 0

# Archlyze **Archlyze** 是一个现代化的、由 AI 驱动的 Web 应用程序,用于全面的代码分析。它利用 **Google Gemini** 模型(2.5 Flash、2.5 Pro 等)执行深度静态分析、检测错误/反模式、识别依赖项,并从您的源代码生成专业的架构图。 该工具专为多种语言(Rust、Python、JavaScript/TypeScript、Go、Java、C++)设计,完全在浏览器中运行(SPA)。 **在线演示:** [https://archlyze.vercel.app/](https://archlyze.vercel.app/) ![Archlyze](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/8b2f938a71020954.png) ## 🚀 主要功能 * **多语言支持**:自动检测并分析 Rust、Python、JS/TS 等语言。 * **智能项目导入**: * 解析 `.gitignore` 规则以过滤不相关的文件(如 node_modules、target 等)。 * 通过可视化导入模态框按文件扩展名进行批量过滤(包含统计、全选/清除功能)。 * **深度静态分析**:提取函数、类、结构体、模块、接口、hooks、事件处理程序等。使用具有必填字段的严格 JSON response schema,以确保可靠的结构化输出。 * **会话历史**:针对每个文件缓存分析结果。历史记录侧边栏允许您在最近分析的文件(带时间戳)之间进行切换。 * **依赖项资源管理器**:识别外部库(Crates、NPM packages、Pypi)并解释其用途。 * **智能问题检测**: * 查找安全漏洞。 * 突出显示性能瓶颈。 * 标记反模式和代码风格问题。 * 问题按严重程度(INFO / WARNING / ERROR)分类,并提供可操作的建议。 * **自动修复 & 单元测试**: * **Wand Tool**:为检测到的问题(WARNING/ERROR 严重程度)生成 AI 驱动的修复。 * **Test Tube**:自动为特定组件编写单元测试。 * 生成的代码显示在模态框中,并支持**复制到剪贴板**。 * **交互式代码查看器**:自定义语法高亮器,带有行号、组件范围高亮、问题下划线(波浪线装饰)以及指向分析结果的深度链接。 * **内联代码编辑**:切换编辑模式以在重新分析之前直接在 textarea 中修改代码。 * **AI 架构可视化**:使用 `gemini-2.5-flash-image` 生成图表: * **Flowcharts**:逻辑流程。 * **UML**:类关系。 * **Data Flow**:数据流向。 * 图表可下载为 PNG 格式。 * 注意:图像生成的免费层配额有限。UI 中会显示警告横幅。 * **文件资源管理器**:分层树状视图侧边栏,带有可折叠文件夹,可从页眉切换显示。 * **暗色 / 亮色主题**:全面的暗色模式支持,并保留主题偏好设置。 * **模型选择**:在设置中选择多种 Gemini 模型: * **Free Tier**:Gemini 2.5 Flash(默认)、Gemini 2.5 Pro、Gemini 2.5 Flash-Lite。 * **Paid / Preview**:Gemini 2.5 Pro Preview、Gemini 3 Flash、Gemini 3 Pro。 * **Custom**:输入任何模型 ID,适用于有权访问更新模型的付费 API 层级。 * **最大行数配置**:可通过设置配置分析大小限制(500–20,000 行)。代码在发送给 AI 之前会被截断,以防止 token 限制错误。 * **分享**:将当前分析的文本摘要(语言、组件、问题、依赖项)复制到剪贴板。 * **示例代码片段**:Rust(CLI 工具)、Python(数据分析)和 Node.js(Express 服务器)的预加载示例 —— 每个都加载了正确的文件名和语言元数据。 * **可调整大小的面板**:拖动以调整代码和分析面板之间的分割(桌面端)。 * **移动端响应式**:专用的移动端标签页导航(Code / Analysis / Visual)。 * **导出**:将完整的分析报告下载为 Markdown。 * **执行简报** (新功能): * 分析面板中的 **"Generate Briefing" 按钮** —— 将代码分析转化为面向管理层的演示文稿。 * **Executive Translation**:Gemini 将分析内容重写为 plain 语言,面向非技术利益相关者,不含行话。 * **Code Walkthrough**:并排视图,左侧为完整源代码,右侧为逐节的 plain English 解释。 * **Architecture Diagram**:自动生成的 Mermaid.js 流程图,在演示文稿中实时渲染。 * **Security Scorecard**:根据检测到的问题计算的可视化风险热力图(评分 0–100,包含组件健康度表格)。 * **Briefing Language**:可在设置中配置 —— 生成英语、挪威语、日语或任何语言的简报。 * **Export**:下载为 Markdown、PowerPoint (.pptx,通过 pptxgenjs) 或 PDF(通过浏览器打印)。 * **Editable**:切换编辑模式以在导出前调整 Markdown 源码。 * 完全按需运行 —— 不影响标准分析流程。 ![主要功能](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/48832407ba020956.png) ## 🛠️ 快速开始 ### 前置条件 您需要一个 **Google Gemini API Key**(免费层即可用于分析)。 1. 访问 [Google AI Studio](https://aistudio.google.com/app/apikey)。 2. 创建一个免费的 API key。 **模型选择**:该应用默认使用 **Gemini 2.5 Flash** 进行分析、修复和测试。如果您在 Google Cloud / Gemini API 上**启用了计费**,则可以在 **Settings → Model** 中切换到 **Gemini 3.0**(例如 Gemini 3 Flash 或 Pro)进行分析和生成。 ### 安装 1. **克隆仓库**: git clone https://github.com/yourusername/archlyze.git cd archlyze 2. **安装依赖项**: npm install 3. **运行应用程序**: npm run dev 4. **在浏览器中打开**: 导航到 `http://localhost:3847`(或您终端中显示的端口)。点击 **Settings** 图标并粘贴您的 API Key。 ### 可选:环境变量 您也可以通过环境变量而不是 Settings UI 来提供您的 API key。在项目根目录下创建一个 `.env` 文件: ``` GEMINI_API_KEY=your_key_here ``` ## 📝 使用说明 **模型兼容性**: * **默认**:应用默认使用 **Gemini 2.5 Flash** 进行代码分析、修复生成和单元测试。图表生成使用 `gemini-2.5-flash-image`。 * **Gemini 3.0**:如果您的 Google API(Google AI Studio 或 Cloud)**启用了计费**,则可以在 **Settings → Model** 中选择 **Gemini 3 Flash** 或 **Gemini 3 Pro** 进行分析和生成。 * 图表图像生成使用 `gemini-2.5-flash-image`(固定),且免费层配额有限。如果您达到限制,请等待几分钟或升级您的 API 计划。 * Gemini 3.x 模型需要付费 API 层级。 **分析超时**: * 小文件(<100 行):60 秒超时。 * 中等文件(<500 行):120 秒超时。 * 大文件(500+ 行):180 秒超时。 * Gemini 2.5 模型是“thinking”模型 —— 它们在生成输出之前会在内部进行推理,这比旧模型花费的时间更长。 **文件夹上传警告**: 导入大型文件夹(例如整个项目根目录)时,您的浏览器可能会显示安全警告,询问 *"Upload 500 files to this site?"*。 * 这是标准的浏览器安全功能。 * 继续操作是安全的 —— 文件在内存中处理并直接发送到 Gemini API;它们不会存储在任何中间服务器上。 ## 🏗️ 架构 - **Frontend**:React 18, TypeScript, Tailwind CSS (CDN)。 - **AI Engine**:`@google/genai` SDK 直接与 Gemini 模型通信。 - 分析:用户选择的模型(默认 `gemini-2.5-flash`),带有结构化 JSON `responseSchema`。 - 图表生成:`gemini-2.5-flash-image`(硬编码)。 - 修复 / 测试生成:用户选择的模型,带有 plain text 输出。 - Executive Briefing:用户选择的模型 —— 生成执行摘要、代码演练和 Mermaid 图表文本。 - **Briefing Engine**:按需演示文稿生成,使用 Mermaid.js(图表渲染)和 pptxgenjs(PowerPoint 导出)。两者均为懒加载 / 代码分割。 - **Build Tool**:Vite 6 配合 React 插件。开发服务器运行在端口 3000。 - **State Management**:React local state 配合中央 `AppState` 对象(无需 Redux)。 - **Persistence**:LocalStorage 用于保存用户设置(API key、模型、最大行数)和主题偏好。 - **Icons**:Lucide React icon library。 - **Gitignore Parsing**:`ignore` npm package,用于在文件夹导入期间处理 `.gitignore` 规则。 ## 🔒 安全说明 您的 API Key **本地存储在浏览器的 LocalStorage 中**。它永远不会发送到我们的服务器。而是直接从您的浏览器传输到 Google 的 API endpoints。 ## 📚 文档 - [docs/](docs/) — 功能和架构文档 - [docs/DEVELOPMENT.md](docs/DEVELOPMENT.md) — 面向贡献者的技术指南 ## 🤝 贡献 有关如何扩展该项目的技术细节,请参阅 [docs/DEVELOPMENT.md](docs/DEVELOPMENT.md)。 ## 📄 许可证 MIT
标签:C++, CMS安全, DLL 劫持, DNS 反向解析, Go, IPv6支持, IP 地址批量处理, JavaScript, OSV, Python, Ruby工具, Rust, SAST, SPA, TLS抓取, TypeScript, Vercel, WebAssembly, 人工智能, 代码架构图, 代码自动修复, 依赖关系分析, 前端工具, 单元测试生成, 反模式检测, 多语言支持, 大语言模型, 威胁情报, 安全专业人员, 安全插件, 安全测试框架, 开发者工具, 性能瓶颈分析, 数据擦除, 文档安全, 无后门, 浏览器端应用, 用户模式Hook绕过, 盲注攻击, 网络流量审计, 自动化安全运营, 自动化攻击, 自动化攻击, 自动化攻击, 软件安全, 错误基检测, 静态代码分析