# electron-api-interceptor **Repository Path**: ismartyx/electron-api-interceptor ## Basic Information - **Project Name**: electron-api-interceptor - **Description**: Burp API 拦截器 - Electron 版本 这是 Burp API 拦截器的 Electron 重构版本,保持了原有 PyQt6 版本的 UI 布局和功能。 功能特性 API 拦截: CDP 模式:使用 Puppeteer 实现网络拦截 基础拦截器模式:使用 Electron webview 实现拦截 AI 注释:集成 DeepSeek/OpenAI API 进行智能接口注释 Swag - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: vue-election - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-22 - **Last Updated**: 2026-05-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Burp API 拦截器 - Electron 版本 这是 Burp API 拦截器的 Electron 重构版本,保持了原有 PyQt6 版本的 UI 布局和功能。 ## 功能特性 - **API 拦截**: - CDP 模式:使用 Puppeteer 实现网络拦截 - 基础拦截器模式:使用 Electron webview 实现拦截 - **AI 注释**:集成 DeepSeek/OpenAI API 进行智能接口注释 - **Swagger 导出**:支持导出 JSON/YAML 格式的 Swagger 文档 - **Apifox 导入**:支持导入到 Apifox 平台 - **数据持久化**:SQLite 数据库存储拦截记录 - **自动保存**:15秒间隔自动保存拦截记录 - **配置管理**:支持多种配置(Chrome、Swagger、Apifox、AI) - **右键菜单**:AI 注释、复制 curl 命令、接口去重、删除 - **curl 命令复制**:一键复制为 curl 命令 ## 技术栈 - **框架**:Electron - **拦截器**:Puppeteer (CDP) + webview (基础拦截器) - **数据库**:better-sqlite3 - **AI**:OpenAI SDK - **打包**:Electron Builder ## 项目结构 ``` electron-api-interceptor/ ├── src/ │ ├── main/ # 主进程 │ │ ├── index.js # 入口文件 │ │ ├── preload.js # 预加载脚本 │ │ ├── ipc/ # IPC 通信 │ │ ├── interceptor/# 拦截器模块 │ │ ├── db/ # 数据库模块 │ │ └── ai/ # AI 模块 │ └── renderer/ # 渲染进程 │ ├── index.html # HTML 入口 │ ├── index.js # JavaScript 入口 │ ├── components/ # UI 组件 │ └── styles/ # 样式文件 ├── resources/ # 资源文件 └── package.json ``` ## 安装依赖 ```bash cd electron-api-interceptor npm install ``` ## 运行项目 ```bash npm start ``` ## 开发模式 ```bash npm run dev ``` ## 打包 ```bash # Windows npm run build:win # macOS npm run build:mac # Linux npm run build:linux ``` ## UI 布局 ### 菜单栏 - 📄 文件:导出、导入、保存、加载、清空、退出 - 🌐 浏览器:打开浏览器、切换拦截器模式 - 🤖 AI 注释:批量注释 - ⚙️ 配置中心:各种配置 - ❓ 帮助:关于 ### 主界面 - 左侧面板:请求列表树 - 右侧面板:请求详情、响应、AI 分析、Swagger 预览 - 底部状态栏:状态信息、接口数量 ## 待完成功能 - [ ] 增强错误处理 - [ ] 添加单元测试 - [ ] 优化请求详情格式化显示 - [ ] 添加 WebView 响应体拦截优化 ## 与 PyQt6 版本的差异 - 使用 Electron 替代 PyQt6 - 使用 Puppeteer 替代 Selenium (CDP 模式) - 使用 Electron webview 替代 Qt WebEngine (基础拦截器模式) - 使用 better-sqlite3 替代 SQLite - UI 保持原有布局和功能 - 所有核心功能已完整实现 ## 注意事项 - 需要安装 Node.js (建议 v18+) - Puppeteer 会自动下载 Chromium - AI 功能需要配置 API Key ## 许可证 MIT