CodeReview/docs/CONFIGURATION.md

8.0 KiB
Raw Blame History

配置说明

本文档详细介绍 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 支持在浏览器中进行运行时配置,无需重启服务。

访问方式

  1. 登录系统后,访问 /admin 系统管理页面
  2. 或点击侧边栏的"系统管理"菜单

可配置项

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

运行时配置

  1. 访问系统管理页面(/admin
  2. 在"系统配置"标签页中:
    • 选择 LLM 提供商
    • 填入中转站提供的 API Key
    • 设置自定义 API 基础 URL
  3. 保存配置

常见中转站

中转站 说明
OpenRouter 支持多种模型
API2D 国内访问友好
CloseAI 价格实惠

注意事项

  1. 确保中转站支持你选择的模型
  2. 中转站的 API 格式需要与 OpenAI 兼容
  3. 部分中转站可能有请求限制

更多资源