8.0 KiB
8.0 KiB
配置说明
本文档详细介绍 DeepAudit 的所有配置选项,包括后端环境变量、前端配置和运行时配置。
目录
配置方式概览
DeepAudit 采用前后端分离架构,数据存储在后端 PostgreSQL 数据库中。
配置优先级(从高到低):
| 配置方式 | 适用场景 | 优先级 |
|---|---|---|
| 运行时配置(浏览器 /admin) | 快速切换 LLM、调试 | 最高 |
| 后端环境变量 | 生产部署、团队共享 | 中 |
| 默认值 | 开箱即用 | 最低 |
后端配置
后端配置文件位于 backend/.env,首次使用请复制示例文件:
cp backend/env.example backend/.env
完整配置参考
# =============================================
# DeepAudit Backend 配置文件
# =============================================
# ========== 数据库配置 ==========
POSTGRES_SERVER=localhost # 数据库服务器地址
POSTGRES_USER=postgres # 数据库用户名
POSTGRES_PASSWORD=postgres # 数据库密码
POSTGRES_DB=deepaudit # 数据库名称
# DATABASE_URL= # 完整数据库连接字符串(可选,会覆盖上述配置)
# ========== 安全配置 ==========
SECRET_KEY=your-super-secret-key # JWT 签名密钥(生产环境必须修改!)
ALGORITHM=HS256 # JWT 加密算法
ACCESS_TOKEN_EXPIRE_MINUTES=11520 # Token 过期时间(分钟),默认 8 天
# ========== LLM 通用配置 ==========
LLM_PROVIDER=openai # LLM 提供商(见下方支持列表)
LLM_API_KEY=sk-your-api-key # API 密钥
LLM_MODEL= # 模型名称(留空使用默认模型)
LLM_BASE_URL= # 自定义 API 端点(API 中转站)
LLM_TIMEOUT=150 # 请求超时时间(秒)
LLM_TEMPERATURE=0.1 # 生成温度(0-1,越低越确定)
LLM_MAX_TOKENS=4096 # 最大生成 Token 数
# ========== 各平台独立配置(可选) ==========
# 如果需要同时配置多个平台,可以单独设置
# OPENAI_API_KEY=sk-xxx
# OPENAI_BASE_URL=https://api.openai.com/v1
# GEMINI_API_KEY=xxx
# CLAUDE_API_KEY=xxx
# QWEN_API_KEY=xxx
# DEEPSEEK_API_KEY=xxx
# ZHIPU_API_KEY=xxx
# MOONSHOT_API_KEY=xxx
# BAIDU_API_KEY=api_key:secret_key # 百度格式特殊
# MINIMAX_API_KEY=xxx
# DOUBAO_API_KEY=xxx
# OLLAMA_BASE_URL=http://localhost:11434/v1
# ========== Git 仓库配置 ==========
GITHUB_TOKEN= # GitHub Personal Access Token
GITLAB_TOKEN= # GitLab Personal Access Token
# ========== 扫描配置 ==========
MAX_ANALYZE_FILES=50 # 单次扫描最大文件数
MAX_FILE_SIZE_BYTES=204800 # 单文件最大大小(字节),默认 200KB
LLM_CONCURRENCY=3 # LLM 并发请求数
LLM_GAP_MS=2000 # 请求间隔(毫秒),避免限流
# ========== 存储配置 ==========
ZIP_STORAGE_PATH=./uploads/zip_files # ZIP 文件存储目录
# ========== 输出配置 ==========
OUTPUT_LANGUAGE=zh-CN # 输出语言:zh-CN(中文)| en-US(英文)
支持的 LLM 提供商
| Provider | 说明 | 适配器类型 |
|---|---|---|
openai |
OpenAI GPT 系列 | LiteLLM |
gemini |
Google Gemini | LiteLLM |
claude |
Anthropic Claude | LiteLLM |
qwen |
阿里云通义千问 | LiteLLM |
deepseek |
DeepSeek | LiteLLM |
zhipu |
智谱 AI (GLM) | LiteLLM |
moonshot |
月之暗面 Kimi | LiteLLM |
ollama |
Ollama 本地模型 | LiteLLM |
baidu |
百度文心一言 | 原生适配器 |
minimax |
MiniMax | 原生适配器 |
doubao |
字节豆包 | 原生适配器 |
配置示例
OpenAI
LLM_PROVIDER=openai
LLM_API_KEY=sk-your-api-key
LLM_MODEL=gpt-4o-mini
通义千问
LLM_PROVIDER=qwen
LLM_API_KEY=sk-your-dashscope-key
LLM_MODEL=qwen-turbo
Ollama 本地模型
LLM_PROVIDER=ollama
LLM_MODEL=llama3
LLM_BASE_URL=http://localhost:11434/v1
百度文心一言
LLM_PROVIDER=baidu
LLM_API_KEY=your_api_key:your_secret_key
LLM_MODEL=ernie-bot-4
前端配置
前端配置文件位于 frontend/.env,首次使用请复制示例文件:
cp frontend/.env.example frontend/.env
完整配置参考
# ========== 后端 API 配置 ==========
VITE_API_BASE_URL=/api # 后端 API 地址
# ========== 应用配置 ==========
VITE_APP_ID=deepaudit
# ========== 代码分析配置 ==========
VITE_MAX_ANALYZE_FILES=40 # 最大分析文件数
VITE_LLM_CONCURRENCY=2 # LLM 并发数
VITE_LLM_GAP_MS=500 # 请求间隔(毫秒)
VITE_OUTPUT_LANGUAGE=zh-CN # 输出语言
配置说明
| 配置项 | 说明 | 默认值 |
|---|---|---|
VITE_API_BASE_URL |
后端 API 地址,Docker 部署时使用 /api |
/api |
VITE_MAX_ANALYZE_FILES |
单次扫描最大文件数 | 40 |
VITE_LLM_CONCURRENCY |
前端 LLM 并发请求数 | 2 |
VITE_LLM_GAP_MS |
前端请求间隔 | 500 |
VITE_OUTPUT_LANGUAGE |
分析结果输出语言 | zh-CN |
运行时配置
DeepAudit 支持在浏览器中进行运行时配置,无需重启服务。
访问方式
- 登录系统后,访问
/admin系统管理页面 - 或点击侧边栏的"系统管理"菜单
可配置项
LLM 配置
- LLM 提供商选择
- API Key 配置
- 模型选择
- 自定义 API 端点(中转站)
- 超时时间
- 温度参数
- 最大 Token 数
分析参数
- 最大分析文件数
- 并发请求数
- 请求间隔时间
- 输出语言
Git 集成
- GitHub Token
- GitLab Token
配置优先级
运行时配置 > 后端环境变量 > 默认值
数据存储
DeepAudit 采用前后端分离架构,所有数据存储在后端 PostgreSQL 数据库中。
架构说明
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ 前端 │────▶│ 后端 API │────▶│ PostgreSQL │
│ (React) │ │ (FastAPI) │ │ 数据库 │
└─────────────┘ └─────────────┘ └─────────────┘
特点
- ✅ 数据持久化存储
- ✅ 支持多用户
- ✅ 支持用户认证
- ✅ 数据导入/导出功能
- ✅ 团队协作
数据管理
在 /admin 页面的"数据库管理"标签页中,可以:
- 导出数据: 将所有数据导出为 JSON 文件备份
- 导入数据: 从 JSON 文件恢复数据
- 清空数据: 删除所有数据(谨慎操作)
- 健康检查: 检查数据库连接状态
API 中转站配置
许多用户使用 API 中转服务来访问 LLM(更稳定、更便宜、解决网络问题)。
后端配置(推荐)
LLM_PROVIDER=openai
LLM_API_KEY=中转站提供的Key
LLM_BASE_URL=https://your-proxy.com/v1
LLM_MODEL=gpt-4o-mini
运行时配置
- 访问系统管理页面(
/admin) - 在"系统配置"标签页中:
- 选择 LLM 提供商
- 填入中转站提供的 API Key
- 设置自定义 API 基础 URL
- 保存配置
常见中转站
| 中转站 | 说明 |
|---|---|
| OpenRouter | 支持多种模型 |
| API2D | 国内访问友好 |
| CloseAI | 价格实惠 |
注意事项
- 确保中转站支持你选择的模型
- 中转站的 API 格式需要与 OpenAI 兼容
- 部分中转站可能有请求限制