2025-12-05 13:38:14 +08:00
|
|
|
|
# 部署指南
|
|
|
|
|
|
|
2025-12-14 21:25:11 +08:00
|
|
|
|
本文档详细介绍 DeepAudit v3.0.0 的各种部署方式,包括 Docker Compose 一键部署、Agent 审计模式部署和本地开发环境搭建。
|
2025-12-05 14:37:07 +08:00
|
|
|
|
|
|
|
|
|
|
## 目录
|
|
|
|
|
|
|
|
|
|
|
|
- [快速开始](#快速开始)
|
|
|
|
|
|
- [Docker Compose 部署(推荐)](#docker-compose-部署推荐)
|
2025-12-14 21:25:11 +08:00
|
|
|
|
- [Agent 审计模式部署](#agent-审计模式部署)
|
2025-12-05 14:37:07 +08:00
|
|
|
|
- [生产环境部署](#生产环境部署)
|
|
|
|
|
|
- [本地开发部署](#本地开发部署)
|
|
|
|
|
|
- [常见部署问题](#常见部署问题)
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## 快速开始
|
2025-12-05 13:38:14 +08:00
|
|
|
|
|
2025-12-05 14:37:07 +08:00
|
|
|
|
最快的方式是使用 Docker Compose 一键部署:
|
2025-12-05 13:38:14 +08:00
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
# 1. 克隆项目
|
2025-12-08 21:35:09 +08:00
|
|
|
|
git clone https://github.com/lintsinghua/DeepAudit.git
|
|
|
|
|
|
cd DeepAudit
|
2025-12-05 13:38:14 +08:00
|
|
|
|
|
|
|
|
|
|
# 2. 配置后端环境变量
|
|
|
|
|
|
cp backend/env.example backend/.env
|
2025-12-05 14:37:07 +08:00
|
|
|
|
# 编辑 backend/.env,配置 LLM API Key
|
2025-12-05 13:38:14 +08:00
|
|
|
|
|
2025-12-05 14:37:07 +08:00
|
|
|
|
# 3. 启动所有服务
|
2025-12-05 20:51:22 +08:00
|
|
|
|
docker compose up -d
|
2025-12-05 13:38:14 +08:00
|
|
|
|
|
|
|
|
|
|
# 4. 访问应用
|
2025-12-05 20:51:22 +08:00
|
|
|
|
# 前端: http://localhost:3000
|
2025-12-05 14:37:07 +08:00
|
|
|
|
# 后端 API: http://localhost:8000/docs
|
|
|
|
|
|
```
|
|
|
|
|
|
|
2025-12-05 15:09:39 +08:00
|
|
|
|
### 演示账户
|
|
|
|
|
|
|
|
|
|
|
|
系统启动时会自动创建演示账户,包含示例项目和审计数据,可直接体验完整功能:
|
|
|
|
|
|
|
|
|
|
|
|
- 📧 邮箱:`demo@example.com`
|
|
|
|
|
|
- 🔑 密码:`demo123`
|
|
|
|
|
|
|
|
|
|
|
|
> ⚠️ **安全提示**: 生产环境部署后,请删除演示账户或修改密码。
|
|
|
|
|
|
|
2025-12-05 14:37:07 +08:00
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## Docker Compose 部署(推荐)
|
|
|
|
|
|
|
|
|
|
|
|
完整的前后端分离部署方案,包含前端、后端和 PostgreSQL 数据库。
|
|
|
|
|
|
|
|
|
|
|
|
### 系统要求
|
|
|
|
|
|
|
2025-12-14 21:25:11 +08:00
|
|
|
|
| 资源 | 基础模式 | Agent 模式 |
|
|
|
|
|
|
|------|----------|-----------|
|
|
|
|
|
|
| 内存 | 2GB+ | 4GB+ |
|
|
|
|
|
|
| 磁盘 | 5GB+ | 10GB+ |
|
|
|
|
|
|
| Docker | 20.10+ | 20.10+ |
|
|
|
|
|
|
| Docker Compose | 2.0+ | 2.0+ |
|
2025-12-05 14:37:07 +08:00
|
|
|
|
|
|
|
|
|
|
### 部署步骤
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
# 1. 克隆项目
|
2025-12-08 21:35:09 +08:00
|
|
|
|
git clone https://github.com/lintsinghua/DeepAudit.git
|
|
|
|
|
|
cd DeepAudit
|
2025-12-05 14:37:07 +08:00
|
|
|
|
|
|
|
|
|
|
# 2. 配置后端环境变量
|
|
|
|
|
|
cp backend/env.example backend/.env
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
编辑 `backend/.env` 文件,配置必要参数:
|
|
|
|
|
|
|
|
|
|
|
|
```env
|
|
|
|
|
|
# 数据库配置(Docker Compose 会自动处理)
|
|
|
|
|
|
POSTGRES_SERVER=db
|
|
|
|
|
|
POSTGRES_USER=postgres
|
|
|
|
|
|
POSTGRES_PASSWORD=postgres
|
2025-12-08 21:35:09 +08:00
|
|
|
|
POSTGRES_DB=deepaudit
|
2025-12-05 14:37:07 +08:00
|
|
|
|
|
|
|
|
|
|
# 安全配置(生产环境请修改)
|
|
|
|
|
|
SECRET_KEY=your-super-secret-key-change-this-in-production
|
|
|
|
|
|
|
|
|
|
|
|
# LLM 配置(必填)
|
|
|
|
|
|
LLM_PROVIDER=openai
|
|
|
|
|
|
LLM_API_KEY=sk-your-api-key
|
|
|
|
|
|
LLM_MODEL=gpt-4o-mini
|
|
|
|
|
|
|
|
|
|
|
|
# 可选:API 中转站
|
|
|
|
|
|
# LLM_BASE_URL=https://your-proxy.com/v1
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
# 3. 启动所有服务
|
2025-12-05 20:51:22 +08:00
|
|
|
|
docker compose up -d
|
2025-12-05 14:37:07 +08:00
|
|
|
|
|
|
|
|
|
|
# 4. 查看服务状态
|
2025-12-05 20:51:22 +08:00
|
|
|
|
docker compose ps
|
2025-12-05 14:37:07 +08:00
|
|
|
|
|
|
|
|
|
|
# 5. 查看日志
|
2025-12-05 20:51:22 +08:00
|
|
|
|
docker compose logs -f
|
2025-12-05 13:38:14 +08:00
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### 服务说明
|
|
|
|
|
|
|
|
|
|
|
|
| 服务 | 端口 | 说明 |
|
|
|
|
|
|
|------|------|------|
|
2025-12-14 21:25:11 +08:00
|
|
|
|
| `frontend` | 3000 | React 前端应用(生产构建) |
|
|
|
|
|
|
| `backend` | 8000 | FastAPI 后端 API |
|
2025-12-05 14:37:07 +08:00
|
|
|
|
| `db` | 5432 | PostgreSQL 15 数据库 |
|
|
|
|
|
|
|
|
|
|
|
|
### 访问地址
|
2025-12-05 13:38:14 +08:00
|
|
|
|
|
2025-12-05 20:51:22 +08:00
|
|
|
|
- 前端应用: http://localhost:3000
|
2025-12-05 14:37:07 +08:00
|
|
|
|
- 后端 API: http://localhost:8000
|
|
|
|
|
|
- API 文档 (Swagger): http://localhost:8000/docs
|
|
|
|
|
|
- API 文档 (ReDoc): http://localhost:8000/redoc
|
2025-12-05 13:38:14 +08:00
|
|
|
|
|
2025-12-05 14:37:07 +08:00
|
|
|
|
### 常用命令
|
2025-12-05 13:38:14 +08:00
|
|
|
|
|
|
|
|
|
|
```bash
|
2025-12-05 14:37:07 +08:00
|
|
|
|
# 停止所有服务
|
2025-12-05 20:51:22 +08:00
|
|
|
|
docker compose down
|
2025-12-05 14:37:07 +08:00
|
|
|
|
|
|
|
|
|
|
# 停止并删除数据卷(清除数据库)
|
2025-12-05 20:51:22 +08:00
|
|
|
|
docker compose down -v
|
2025-12-05 14:37:07 +08:00
|
|
|
|
|
|
|
|
|
|
# 重新构建镜像
|
2025-12-05 20:51:22 +08:00
|
|
|
|
docker compose build --no-cache
|
2025-12-05 14:37:07 +08:00
|
|
|
|
|
|
|
|
|
|
# 查看特定服务日志
|
2025-12-05 20:51:22 +08:00
|
|
|
|
docker compose logs -f backend
|
2025-12-05 14:37:07 +08:00
|
|
|
|
|
|
|
|
|
|
# 进入容器调试
|
2025-12-05 20:51:22 +08:00
|
|
|
|
docker compose exec backend sh
|
2025-12-08 21:35:09 +08:00
|
|
|
|
docker compose exec db psql -U postgres -d deepaudit
|
2025-12-05 14:37:07 +08:00
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
2025-12-14 21:25:11 +08:00
|
|
|
|
## Agent 审计模式部署
|
|
|
|
|
|
|
|
|
|
|
|
v3.0.0 新增的 Multi-Agent 深度审计功能,需要额外的服务支持。
|
|
|
|
|
|
|
|
|
|
|
|
### 功能特点
|
|
|
|
|
|
|
|
|
|
|
|
- 🤖 **Multi-Agent 架构**: Orchestrator/Analysis/Recon/Verification 多智能体协作
|
|
|
|
|
|
- 🧠 **RAG 知识库**: 代码语义理解 + CWE/CVE 漏洞知识库
|
|
|
|
|
|
- 🔒 **沙箱验证**: Docker 安全容器执行 PoC
|
|
|
|
|
|
|
|
|
|
|
|
### 部署步骤
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
# 1. 配置 Agent 相关参数
|
|
|
|
|
|
# 编辑 backend/.env,确保以下配置正确
|
|
|
|
|
|
|
|
|
|
|
|
# Agent 配置
|
|
|
|
|
|
AGENT_ENABLED=true
|
|
|
|
|
|
AGENT_MAX_ITERATIONS=5
|
|
|
|
|
|
|
|
|
|
|
|
# 嵌入模型配置
|
|
|
|
|
|
EMBEDDING_PROVIDER=openai
|
|
|
|
|
|
EMBEDDING_MODEL=text-embedding-3-small
|
|
|
|
|
|
EMBEDDING_API_KEY= # 留空则使用 LLM_API_KEY
|
|
|
|
|
|
|
|
|
|
|
|
# 向量数据库配置(使用 Milvus)
|
|
|
|
|
|
VECTOR_DB_TYPE=milvus
|
|
|
|
|
|
MILVUS_HOST=milvus
|
|
|
|
|
|
MILVUS_PORT=19530
|
|
|
|
|
|
|
|
|
|
|
|
# 沙箱配置
|
|
|
|
|
|
SANDBOX_ENABLED=true
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
# 2. 启动包含 Agent 服务的完整部署
|
|
|
|
|
|
docker compose --profile agent up -d
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### Agent 模式服务说明
|
|
|
|
|
|
|
|
|
|
|
|
| 服务 | 端口 | 说明 |
|
|
|
|
|
|
|------|------|------|
|
|
|
|
|
|
| `milvus` | 19530 | Milvus 向量数据库 |
|
|
|
|
|
|
| `milvus-etcd` | - | Milvus 元数据存储 |
|
|
|
|
|
|
| `milvus-minio` | - | Milvus 对象存储 |
|
|
|
|
|
|
| `redis` | 6379 | 任务队列(可选) |
|
|
|
|
|
|
|
|
|
|
|
|
### 构建安全沙箱镜像
|
|
|
|
|
|
|
|
|
|
|
|
沙箱用于安全地执行漏洞验证 PoC:
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
# 进入沙箱目录
|
|
|
|
|
|
cd docker/sandbox
|
|
|
|
|
|
|
|
|
|
|
|
# 构建沙箱镜像
|
|
|
|
|
|
./build.sh
|
|
|
|
|
|
|
|
|
|
|
|
# 验证镜像构建成功
|
|
|
|
|
|
docker images | grep deepaudit-sandbox
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
沙箱镜像包含:
|
|
|
|
|
|
- Python 3.11 + 安全工具 (Semgrep, Bandit, Safety)
|
|
|
|
|
|
- Node.js 20 + npm audit
|
|
|
|
|
|
- Go 1.21 + gosec
|
|
|
|
|
|
- Rust (cargo-audit)
|
|
|
|
|
|
- Gitleaks, TruffleHog, OSV-Scanner
|
|
|
|
|
|
|
|
|
|
|
|
### 验证 Agent 模式
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
# 检查所有服务状态
|
|
|
|
|
|
docker compose --profile agent ps
|
|
|
|
|
|
|
|
|
|
|
|
# 检查 Milvus 连接
|
|
|
|
|
|
curl http://localhost:9091/healthz
|
|
|
|
|
|
|
|
|
|
|
|
# 查看 Agent 日志
|
|
|
|
|
|
docker compose logs -f backend | grep -i agent
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
2025-12-05 14:37:07 +08:00
|
|
|
|
## 生产环境部署
|
|
|
|
|
|
|
2025-12-05 20:51:22 +08:00
|
|
|
|
Docker Compose 默认配置已适用于生产环境:
|
2025-12-05 14:37:07 +08:00
|
|
|
|
|
2025-12-05 20:51:22 +08:00
|
|
|
|
- 前端:构建生产版本,使用 serve 提供静态文件服务
|
|
|
|
|
|
- 后端:使用 uv 管理依赖,镜像内包含所有依赖
|
|
|
|
|
|
- 数据库:使用 Docker Volume 持久化数据
|
2025-12-05 14:37:07 +08:00
|
|
|
|
|
2025-12-05 20:51:22 +08:00
|
|
|
|
### 生产环境安全建议
|
2025-12-05 14:37:07 +08:00
|
|
|
|
|
2025-12-05 20:51:22 +08:00
|
|
|
|
1. **修改默认密钥**:务必修改 `SECRET_KEY` 为随机字符串
|
|
|
|
|
|
2. **配置 HTTPS**:使用 Nginx 反向代理并配置 SSL 证书
|
|
|
|
|
|
3. **限制 CORS**:在生产环境配置具体的前端域名
|
|
|
|
|
|
4. **数据库安全**:修改默认数据库密码,限制访问 IP
|
|
|
|
|
|
5. **API 限流**:配置 Nginx 或应用层限流
|
|
|
|
|
|
6. **日志监控**:配置日志收集和监控告警
|
|
|
|
|
|
7. **删除演示账户**:生产环境请删除或禁用 demo 账户
|
2025-12-05 14:37:07 +08:00
|
|
|
|
|
2025-12-05 20:51:22 +08:00
|
|
|
|
### Nginx 反向代理配置(可选)
|
2025-12-05 14:37:07 +08:00
|
|
|
|
|
2025-12-05 20:51:22 +08:00
|
|
|
|
如需使用 Nginx 提供 HTTPS 和统一入口:
|
2025-12-05 14:37:07 +08:00
|
|
|
|
|
|
|
|
|
|
```nginx
|
|
|
|
|
|
server {
|
|
|
|
|
|
listen 80;
|
|
|
|
|
|
server_name your-domain.com;
|
2025-12-05 20:51:22 +08:00
|
|
|
|
return 301 https://$server_name$request_uri;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
server {
|
|
|
|
|
|
listen 443 ssl http2;
|
|
|
|
|
|
server_name your-domain.com;
|
2025-12-05 14:37:07 +08:00
|
|
|
|
|
2025-12-05 20:51:22 +08:00
|
|
|
|
ssl_certificate /path/to/cert.pem;
|
|
|
|
|
|
ssl_certificate_key /path/to/key.pem;
|
|
|
|
|
|
|
|
|
|
|
|
# 前端
|
2025-12-05 14:37:07 +08:00
|
|
|
|
location / {
|
2025-12-05 20:51:22 +08:00
|
|
|
|
proxy_pass http://localhost:3000;
|
|
|
|
|
|
proxy_set_header Host $host;
|
|
|
|
|
|
proxy_set_header X-Real-IP $remote_addr;
|
2025-12-05 14:37:07 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
# API 代理
|
2025-12-05 20:51:22 +08:00
|
|
|
|
location /api/ {
|
|
|
|
|
|
proxy_pass http://localhost:8000/api/;
|
2025-12-05 14:37:07 +08:00
|
|
|
|
proxy_set_header Host $host;
|
|
|
|
|
|
proxy_set_header X-Real-IP $remote_addr;
|
|
|
|
|
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
|
|
|
|
proxy_set_header X-Forwarded-Proto $scheme;
|
|
|
|
|
|
}
|
2025-12-14 21:25:11 +08:00
|
|
|
|
|
|
|
|
|
|
# SSE 事件流(Agent 审计日志)
|
|
|
|
|
|
location /api/v1/agent-tasks/ {
|
|
|
|
|
|
proxy_pass http://localhost:8000/api/v1/agent-tasks/;
|
|
|
|
|
|
proxy_http_version 1.1;
|
|
|
|
|
|
proxy_set_header Connection "";
|
|
|
|
|
|
proxy_buffering off;
|
|
|
|
|
|
proxy_cache off;
|
|
|
|
|
|
proxy_read_timeout 86400;
|
|
|
|
|
|
}
|
2025-12-05 14:37:07 +08:00
|
|
|
|
}
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
2025-12-05 13:38:14 +08:00
|
|
|
|
## 本地开发部署
|
|
|
|
|
|
|
|
|
|
|
|
适合需要开发或自定义修改的场景。
|
|
|
|
|
|
|
|
|
|
|
|
### 环境要求
|
|
|
|
|
|
|
2025-12-05 14:37:07 +08:00
|
|
|
|
| 依赖 | 版本要求 | 说明 |
|
|
|
|
|
|
|------|---------|------|
|
|
|
|
|
|
| Node.js | 18+ | 前端运行环境 |
|
|
|
|
|
|
| Python | 3.13+ | 后端运行环境 |
|
|
|
|
|
|
| PostgreSQL | 15+ | 数据库 |
|
2025-12-05 20:51:22 +08:00
|
|
|
|
| pnpm | 8+ | 推荐的前端包管理器 |
|
2025-12-05 14:37:07 +08:00
|
|
|
|
| uv | 最新版 | 推荐的 Python 包管理器 |
|
|
|
|
|
|
|
|
|
|
|
|
### 数据库准备
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
2025-12-05 20:51:22 +08:00
|
|
|
|
# 方式一:使用 Docker 启动 PostgreSQL(推荐)
|
2025-12-05 14:37:07 +08:00
|
|
|
|
docker run -d \
|
2025-12-08 21:35:09 +08:00
|
|
|
|
--name deepaudit-db \
|
2025-12-05 14:37:07 +08:00
|
|
|
|
-e POSTGRES_USER=postgres \
|
|
|
|
|
|
-e POSTGRES_PASSWORD=postgres \
|
2025-12-08 21:35:09 +08:00
|
|
|
|
-e POSTGRES_DB=deepaudit \
|
2025-12-05 14:37:07 +08:00
|
|
|
|
-p 5432:5432 \
|
|
|
|
|
|
postgres:15-alpine
|
|
|
|
|
|
|
|
|
|
|
|
# 方式二:使用本地 PostgreSQL
|
2025-12-08 21:35:09 +08:00
|
|
|
|
createdb deepaudit
|
2025-12-05 14:37:07 +08:00
|
|
|
|
```
|
2025-12-05 13:38:14 +08:00
|
|
|
|
|
|
|
|
|
|
### 后端启动
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
# 1. 进入后端目录
|
|
|
|
|
|
cd backend
|
|
|
|
|
|
|
2025-12-05 20:51:22 +08:00
|
|
|
|
# 2. 安装 uv(如未安装)
|
|
|
|
|
|
curl -LsSf https://astral.sh/uv/install.sh | sh
|
2025-12-05 13:38:14 +08:00
|
|
|
|
|
2025-12-05 20:51:22 +08:00
|
|
|
|
# 3. 同步依赖
|
|
|
|
|
|
uv sync
|
2025-12-05 13:38:14 +08:00
|
|
|
|
|
|
|
|
|
|
# 4. 配置环境变量
|
|
|
|
|
|
cp env.example .env
|
|
|
|
|
|
# 编辑 .env 文件,配置数据库和 LLM 参数
|
|
|
|
|
|
|
|
|
|
|
|
# 5. 初始化数据库
|
2025-12-05 20:51:22 +08:00
|
|
|
|
uv run alembic upgrade head
|
2025-12-05 13:38:14 +08:00
|
|
|
|
|
2025-12-05 14:37:07 +08:00
|
|
|
|
# 6. 启动后端服务(开发模式,支持热重载)
|
2025-12-05 20:51:22 +08:00
|
|
|
|
uv run uvicorn app.main:app --reload --port 8000
|
2025-12-05 13:38:14 +08:00
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### 前端启动
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
# 1. 进入前端目录
|
|
|
|
|
|
cd frontend
|
|
|
|
|
|
|
|
|
|
|
|
# 2. 安装依赖
|
2025-12-05 14:37:07 +08:00
|
|
|
|
pnpm install
|
2025-12-05 13:38:14 +08:00
|
|
|
|
|
2025-12-05 20:51:22 +08:00
|
|
|
|
# 3. 配置环境变量(可选)
|
2025-12-05 13:38:14 +08:00
|
|
|
|
cp .env.example .env
|
|
|
|
|
|
|
|
|
|
|
|
# 4. 启动开发服务器
|
|
|
|
|
|
pnpm dev
|
|
|
|
|
|
|
|
|
|
|
|
# 5. 访问应用
|
|
|
|
|
|
# 浏览器打开 http://localhost:5173
|
|
|
|
|
|
```
|
2025-12-05 14:37:07 +08:00
|
|
|
|
|
|
|
|
|
|
### 开发工具
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
# 前端代码检查
|
|
|
|
|
|
cd frontend
|
|
|
|
|
|
pnpm lint
|
|
|
|
|
|
pnpm type-check
|
|
|
|
|
|
|
|
|
|
|
|
# 前端代码格式化
|
|
|
|
|
|
pnpm format
|
|
|
|
|
|
|
|
|
|
|
|
# 后端类型检查
|
|
|
|
|
|
cd backend
|
2025-12-05 20:51:22 +08:00
|
|
|
|
uv run mypy app
|
2025-12-05 14:37:07 +08:00
|
|
|
|
|
|
|
|
|
|
# 后端代码格式化
|
2025-12-05 20:51:22 +08:00
|
|
|
|
uv run ruff format app
|
2025-12-05 14:37:07 +08:00
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## 数据存储
|
|
|
|
|
|
|
2025-12-08 21:35:09 +08:00
|
|
|
|
DeepAudit 采用前后端分离架构,所有数据存储在后端 PostgreSQL 数据库中。
|
2025-12-05 14:37:07 +08:00
|
|
|
|
|
|
|
|
|
|
### 数据管理
|
|
|
|
|
|
|
|
|
|
|
|
在 `/admin` 页面的"数据库管理"标签页中,可以:
|
|
|
|
|
|
|
|
|
|
|
|
- **导出数据**: 将所有数据导出为 JSON 文件备份
|
|
|
|
|
|
- **导入数据**: 从 JSON 文件恢复数据
|
|
|
|
|
|
- **清空数据**: 删除所有数据(谨慎操作)
|
|
|
|
|
|
- **健康检查**: 检查数据库连接状态和数据完整性
|
|
|
|
|
|
|
|
|
|
|
|
### 数据库备份
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
# 导出 PostgreSQL 数据
|
2025-12-08 21:35:09 +08:00
|
|
|
|
docker compose exec db pg_dump -U postgres deepaudit > backup.sql
|
2025-12-05 14:37:07 +08:00
|
|
|
|
|
|
|
|
|
|
# 恢复数据
|
2025-12-08 21:35:09 +08:00
|
|
|
|
docker compose exec -T db psql -U postgres deepaudit < backup.sql
|
2025-12-05 14:37:07 +08:00
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## 常见部署问题
|
|
|
|
|
|
|
|
|
|
|
|
### Docker 相关
|
|
|
|
|
|
|
|
|
|
|
|
**Q: 容器启动失败,提示端口被占用**
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
# 检查端口占用
|
2025-12-05 20:51:22 +08:00
|
|
|
|
lsof -i :3000
|
2025-12-05 14:37:07 +08:00
|
|
|
|
lsof -i :8000
|
|
|
|
|
|
lsof -i :5432
|
|
|
|
|
|
|
|
|
|
|
|
# 停止占用端口的进程,或修改 docker-compose.yml 中的端口映射
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
**Q: 数据库连接失败**
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
# 检查数据库容器状态
|
2025-12-05 20:51:22 +08:00
|
|
|
|
docker compose ps db
|
2025-12-05 14:37:07 +08:00
|
|
|
|
|
|
|
|
|
|
# 查看数据库日志
|
2025-12-05 20:51:22 +08:00
|
|
|
|
docker compose logs db
|
2025-12-05 14:37:07 +08:00
|
|
|
|
|
|
|
|
|
|
# 确保数据库健康检查通过后再启动后端
|
2025-12-05 20:51:22 +08:00
|
|
|
|
docker compose up -d db
|
|
|
|
|
|
docker compose exec db pg_isready -U postgres
|
|
|
|
|
|
docker compose up -d backend
|
2025-12-05 14:37:07 +08:00
|
|
|
|
```
|
|
|
|
|
|
|
2025-12-05 20:51:22 +08:00
|
|
|
|
**Q: 构建时网络问题(代理相关)**
|
|
|
|
|
|
|
|
|
|
|
|
如果构建时遇到网络问题,检查 Docker Desktop 的代理设置:
|
|
|
|
|
|
1. 打开 Docker Desktop → Settings → Resources → Proxies
|
|
|
|
|
|
2. 关闭代理或配置正确的代理地址
|
|
|
|
|
|
3. 重启 Docker Desktop
|
|
|
|
|
|
4. 重新构建:`docker compose build --no-cache`
|
|
|
|
|
|
|
2025-12-14 21:25:11 +08:00
|
|
|
|
### Agent 模式相关
|
|
|
|
|
|
|
|
|
|
|
|
**Q: Milvus 启动失败**
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
# 检查 Milvus 相关服务状态
|
|
|
|
|
|
docker compose --profile agent ps
|
|
|
|
|
|
|
|
|
|
|
|
# 查看 Milvus 日志
|
|
|
|
|
|
docker compose logs milvus milvus-etcd milvus-minio
|
|
|
|
|
|
|
|
|
|
|
|
# 重新启动 Milvus 服务
|
|
|
|
|
|
docker compose --profile agent restart milvus
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
**Q: 沙箱镜像构建失败**
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
# 检查 Docker 服务状态
|
|
|
|
|
|
docker info
|
|
|
|
|
|
|
|
|
|
|
|
# 使用国内镜像源重新构建
|
|
|
|
|
|
cd docker/sandbox
|
|
|
|
|
|
# 编辑 Dockerfile,使用国内镜像源
|
|
|
|
|
|
./build.sh
|
|
|
|
|
|
```
|
|
|
|
|
|
|
2025-12-05 14:37:07 +08:00
|
|
|
|
### 后端相关
|
|
|
|
|
|
|
|
|
|
|
|
**Q: PDF 导出功能报错(WeasyPrint 依赖问题)**
|
|
|
|
|
|
|
2025-12-05 20:51:22 +08:00
|
|
|
|
Docker 镜像已包含 WeasyPrint 所需的系统依赖。本地开发时需要安装:
|
2025-12-05 14:37:07 +08:00
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
# macOS
|
|
|
|
|
|
brew install pango cairo gdk-pixbuf libffi
|
|
|
|
|
|
|
|
|
|
|
|
# Ubuntu/Debian
|
2025-12-05 20:51:22 +08:00
|
|
|
|
sudo apt-get install libpango-1.0-0 libpangoft2-1.0-0 libcairo2 libgdk-pixbuf-2.0-0 libglib2.0-0
|
2025-12-05 14:37:07 +08:00
|
|
|
|
|
|
|
|
|
|
# Windows - 参见 FAQ.md 中的详细说明
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
**Q: LLM API 请求超时**
|
|
|
|
|
|
|
|
|
|
|
|
```env
|
|
|
|
|
|
# 增加超时时间
|
|
|
|
|
|
LLM_TIMEOUT=300
|
|
|
|
|
|
|
|
|
|
|
|
# 降低并发数
|
|
|
|
|
|
LLM_CONCURRENCY=1
|
|
|
|
|
|
|
|
|
|
|
|
# 增加请求间隔
|
|
|
|
|
|
LLM_GAP_MS=3000
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### 前端相关
|
|
|
|
|
|
|
|
|
|
|
|
**Q: 前端无法连接后端 API**
|
|
|
|
|
|
|
2025-12-05 20:51:22 +08:00
|
|
|
|
Docker Compose 部署时,前端通过 `http://localhost:8000/api/v1` 访问后端。确保:
|
|
|
|
|
|
1. 后端容器正常运行:`docker compose ps backend`
|
|
|
|
|
|
2. 后端端口 8000 可访问:`curl http://localhost:8000/docs`
|
|
|
|
|
|
|
|
|
|
|
|
本地开发时,检查 `frontend/.env` 中的 API 地址配置:
|
2025-12-05 14:37:07 +08:00
|
|
|
|
|
|
|
|
|
|
```env
|
|
|
|
|
|
VITE_API_BASE_URL=http://localhost:8000/api/v1
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## 更多资源
|
|
|
|
|
|
|
|
|
|
|
|
- [配置说明](CONFIGURATION.md) - 详细的配置参数说明
|
2025-12-14 21:25:11 +08:00
|
|
|
|
- [Agent 审计](AGENT_AUDIT.md) - Multi-Agent 审计模块详解
|
2025-12-05 14:37:07 +08:00
|
|
|
|
- [LLM 平台支持](LLM_PROVIDERS.md) - 各 LLM 平台的配置方法
|
|
|
|
|
|
- [常见问题](FAQ.md) - 更多问题解答
|
|
|
|
|
|
- [贡献指南](../CONTRIBUTING.md) - 参与项目开发
|