# Multiinput-AI-CodeAudit **Repository Path**: com_hike_wang/multiinput-ai-code-audit ## Basic Information - **Project Name**: Multiinput-AI-CodeAudit - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-09-20 - **Last Updated**: 2026-09-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AI 代码审计平台 一个可本地运行的 AI 代码审计项目。前端使用 Vue 3 + Vite,后端使用 Django REST Framework,代码分析由 DeepSeek 模型完成。 ## 功能 - 提交代码片段,选择语言和审计重点 - 上传 ZIP 压缩包,解析为可交互文件树 - 按单个文件或整个文件夹选择审计范围 - DeepSeek 生成结构化审计报告 - 展示安全、性能、可维护性评分 - 按严重程度查看问题、影响、修复建议、源文件和代码位置 - 导出 PDF、Markdown、HTML 和 JSON 格式报告 - 保存审计历史,支持查看、重新审计和删除 - 后端异步执行审计,前端自动轮询进度 ## 目录结构 ```text . ├── apikey.txt # 本地密钥文件,已被 .gitignore 排除 ├── backend/ │ ├── audits/ │ ├── config/ │ ├── manage.py │ └── requirements.txt └── frontend/ ├── src/ ├── package.json └── vite.config.js ``` ## 启动后端 建议使用 Python 3.9 或更高版本。 ```powershell cd backend python -m venv .venv .\.venv\Scripts\Activate.ps1 pip install -r requirements.txt python manage.py migrate python manage.py runserver ``` 后端默认地址为 `http://127.0.0.1:8000`。 密钥读取优先级: 1. 环境变量 `DEEPSEEK_API_KEY` 2. `backend/.env` 中的 `DEEPSEEK_API_KEY` 3. 项目根目录的 `apikey.txt` 可以在 `backend/.env` 中配置: ```dotenv DEEPSEEK_API_KEY=your-api-key DEEPSEEK_BASE_URL=https://api.deepseek.com DEEPSEEK_MODEL=deepseek-chat ``` 不要把真实密钥写入源码或提交到版本库。 ## 启动前端 建议使用 Node.js 18 或更高版本。 ```powershell cd frontend npm.cmd install npm.cmd run dev ``` 前端默认地址为 `http://127.0.0.1:5173`,开发服务器会将 `/api` 代理到 Django。 ## Docker 一键部署 根目录已经提供多阶段 `Dockerfile`、`docker-compose.yml` 和 `deploy.ps1`。镜像会: 1. 构建 Vue 前端 2. 安装 Django、Gunicorn 和 PDF 导出依赖 3. 收集前端静态资源 4. 启动容器时自动执行数据库迁移 5. 使用 Gunicorn 启动生产服务 Windows 下直接运行: ```powershell .\deploy.ps1 ``` 脚本会生成 `.env`,自动读取现有 `apikey.txt`、生成 Django Secret Key,并执行: ```powershell docker compose up --build --detach ``` 也可以手动配置: ```powershell Copy-Item .env.docker.example .env # 编辑 .env 中的 DEEPSEEK_API_KEY 和 DJANGO_SECRET_KEY docker compose up --build --detach ``` 部署完成后访问 `http://127.0.0.1:8000/`。SQLite 数据库和上传项目分别保存在 Docker Volume 中,容器重建不会丢失。 ## API - `GET /api/health/` - `POST /api/projects/`,使用 multipart 字段 `file` 上传 ZIP - `GET /api/projects/{id}/` - `DELETE /api/projects/{id}/` - `GET /api/audits/` - `POST /api/audits/` - `GET /api/audits/{id}/` - `POST /api/audits/{id}/rerun/` - `GET /api/audits/{id}/export/?export_format=pdf|markdown|html|json` - `DELETE /api/audits/{id}/` 创建审计请求示例: ```json { "title": "登录模块审计", "language": "python", "focus": "security", "code": "def login(request):\n ..." } ``` 项目审计请求示例: ```json { "title": "后端项目审计", "source_type": "project", "project_id": "项目 UUID", "selected_paths": ["src/services", "src/main.py"], "focus": "security" } ``` 压缩包默认限制: - 压缩包最大 30 MB - 解压后文本内容最大 120 MB - 最多 2500 个可审计文件 - 单个文件最大 2 MB - 自动跳过 `.git`、`node_modules`、`dist`、构建产物和二进制文件 ## 测试 ```powershell cd backend python manage.py test cd ..\frontend npm.cmd run build ```