跳转至

环境变量配置指南

本文档提供了New API支持的所有环境变量及其配置说明。您可以通过设置这些环境变量来自定义系统的行为。

提示

New API 支持从 .env 文件中读取环境变量,请参照 .env.example 文件,使用时请将其重命名为 .env

基本配置

环境变量 说明 默认值 示例
PORT 服务监听端口 3000 PORT=8080
TZ 时区设置 - TZ=America/New_York
VERSION 覆盖运行版本号 - VERSION=1.2.3

数据库配置

环境变量 说明 默认值 示例
SQL_DSN 数据库连接字符串 SQLite (data/one-api.db) MySQL: SQL_DSN=root:123456@tcp(localhost:3306)/new-api | PostgreSQL: SQL_DSN=postgresql://root:123456@postgres:5432/new-api
SQL_MAX_IDLE_CONNS 空闲连接池最大连接数 100 SQL_MAX_IDLE_CONNS=50
SQL_MAX_OPEN_CONNS 连接池最大打开连接数 1000 SQL_MAX_OPEN_CONNS=500
SQL_MAX_LIFETIME 连接最大生命周期(分钟) 60 SQL_MAX_LIFETIME=120
LOG_SQL_DSN 日志表独立数据库连接字符串 - LOG_SQL_DSN=root:123456@tcp(localhost:3306)/oneapi_logs
SQLITE_PATH SQLite数据库路径 /path/to/sqlite.db SQLITE_PATH=/var/lib/new-api/new-api.db

缓存配置

环境变量 说明 默认值 示例
REDIS_CONN_STRING Redis连接字符串 - REDIS_CONN_STRING=redis://default:redispw@localhost:6379
REDIS_POOL_SIZE Redis连接池大小 10 REDIS_POOL_SIZE=20
MEMORY_CACHE_ENABLED 是否启用内存缓存 false MEMORY_CACHE_ENABLED=true
BATCH_UPDATE_ENABLED 启用数据库批量更新聚合 false BATCH_UPDATE_ENABLED=true
BATCH_UPDATE_INTERVAL 批量更新聚合时间间隔(秒) 5 BATCH_UPDATE_INTERVAL=10

多节点与安全配置

环境变量 说明 默认值 示例
SESSION_SECRET 会话密钥(多机部署必须) - SESSION_SECRET=random_string
CRYPTO_SECRET 加密密钥(加密数据库内容) - CRYPTO_SECRET=your_crypto_secret
FRONTEND_BASE_URL 前端基础URL - FRONTEND_BASE_URL=https://your-domain.com
SYNC_FREQUENCY 缓存与数据库同步频率(秒) 60 SYNC_FREQUENCY=60
NODE_TYPE 节点类型 master NODE_TYPE=slave

集群部署

关于如何使用这些环境变量构建完整的集群部署,请参考集群部署指南

用户及令牌配置

环境变量 说明 默认值 示例
GENERATE_DEFAULT_TOKEN 为新注册用户生成初始令牌 false GENERATE_DEFAULT_TOKEN=true
NOTIFICATION_LIMIT_DURATION_MINUTE 通知限制的持续时间(分钟) 10 NOTIFICATION_LIMIT_DURATION_MINUTE=15
NOTIFY_LIMIT_COUNT 指定持续时间内的最大通知数量 2 NOTIFY_LIMIT_COUNT=3

请求限制配置

环境变量 说明 默认值 示例
GLOBAL_API_RATE_LIMIT 全局API速率限制(单IP三分钟) 180 GLOBAL_API_RATE_LIMIT=100
GLOBAL_WEB_RATE_LIMIT 全局Web速率限制(单IP三分钟) 60 GLOBAL_WEB_RATE_LIMIT=30
RELAY_TIMEOUT 中继请求超时时间(秒) 0 RELAY_TIMEOUT=60
STREAMING_TIMEOUT 流式一次回复的超时时间(秒) 300 STREAMING_TIMEOUT=120
MAX_FILE_DOWNLOAD_MB 最大文件下载大小(MB) 20 MAX_FILE_DOWNLOAD_MB=50
GLOBAL_API_RATE_LIMIT_ENABLE 全局API速率限制开关 true GLOBAL_API_RATE_LIMIT_ENABLE=false
GLOBAL_API_RATE_LIMIT_DURATION 全局API速率限制窗口(秒) 180 GLOBAL_API_RATE_LIMIT_DURATION=120
GLOBAL_WEB_RATE_LIMIT_ENABLE 全局Web速率限制开关 true GLOBAL_WEB_RATE_LIMIT_ENABLE=false
GLOBAL_WEB_RATE_LIMIT_DURATION 全局Web速率限制窗口(秒) 180 GLOBAL_WEB_RATE_LIMIT_DURATION=120
CRITICAL_RATE_LIMIT_ENABLE 关键操作速率限制开关 true CRITICAL_RATE_LIMIT_ENABLE=false
CRITICAL_RATE_LIMIT 关键操作速率限制次数 20 CRITICAL_RATE_LIMIT=10
CRITICAL_RATE_LIMIT_DURATION 关键操作速率限制窗口(秒) 1200 CRITICAL_RATE_LIMIT_DURATION=600

RELAY_TIMEOUT 设置警告

设置 RELAY_TIMEOUT 环境变量时请谨慎,如果设置过短可能导致以下问题:

  • 上游API已经完成请求并计费,但本地因超时而未完成计费

  • 造成计费不同步,可能导致系统亏损

  • 建议不设置,除非您知道自己在做什么

渠道管理配置

环境变量 说明 默认值 示例
CHANNEL_UPDATE_FREQUENCY 定期更新渠道余额(分钟) - CHANNEL_UPDATE_FREQUENCY=1440
CHANNEL_TEST_FREQUENCY 定期检查渠道(分钟) - CHANNEL_TEST_FREQUENCY=1440
POLLING_INTERVAL 批量更新渠道时请求间隔(秒) 0 POLLING_INTERVAL=5

模型和请求处理配置

环境变量 说明 默认值 示例
FORCE_STREAM_OPTION 覆盖客户端stream_options参数 true FORCE_STREAM_OPTION=false
GET_MEDIA_TOKEN 是否统计图片token true GET_MEDIA_TOKEN=false
GET_MEDIA_TOKEN_NOT_STREAM 非流模式下是否统计图片token false GET_MEDIA_TOKEN_NOT_STREAM=false
UPDATE_TASK 是否更新异步任务(MJ、Suno) true UPDATE_TASK=false
CountToken 是否统计文本token true CountToken=false
TASK_PRICE_PATCH 任务价格补丁(逗号分隔) "" TASK_PRICE_PATCH=suno=0.8,mj=1.2

特定模型配置

环境变量 说明 默认值 示例
AZURE_DEFAULT_API_VERSION Azure渠道默认API版本 2025-04-01-preview AZURE_DEFAULT_API_VERSION=2023-05-15
COHERE_SAFETY_SETTING Cohere模型安全设置 NONE COHERE_SAFETY_SETTING=CONTEXTUAL
GEMINI_VISION_MAX_IMAGE_NUM Gemini模型最大图片数量 16 GEMINI_VISION_MAX_IMAGE_NUM=8
DIFY_DEBUG Dify渠道输出工作流和节点信息 true DIFY_DEBUG=false

其他配置

环境变量 说明 默认值 示例
ERROR_LOG_ENABLED 是否记录并在前端显示错误日志 false ERROR_LOG_ENABLED=true

分析统计

环境变量 说明 默认值 示例
UMAMI_WEBSITE_ID Umami站点ID - UMAMI_WEBSITE_ID=xxxx-xxxx
UMAMI_SCRIPT_URL Umami脚本地址 https://analytics.umami.is/script.js UMAMI_SCRIPT_URL=https://umami.example.com/script.js
GOOGLE_ANALYTICS_ID Google Analytics站点ID - GOOGLE_ANALYTICS_ID=G-XXXXXXX

元数据同步

环境变量 说明 默认值 示例
SYNC_UPSTREAM_BASE 模型/厂商元数据上游地址 https://basellm.github.io/llm-metadata SYNC_UPSTREAM_BASE=https://mirror.example.com/llm-metadata
SYNC_HTTP_TIMEOUT_SECONDS 同步HTTP超时(秒) 10 SYNC_HTTP_TIMEOUT_SECONDS=15
SYNC_HTTP_RETRY 同步重试次数 3 SYNC_HTTP_RETRY=5
SYNC_HTTP_MAX_MB 响应体最大大小(MB) 10 SYNC_HTTP_MAX_MB=20

前端配置

环境变量 说明 默认值 示例
VITE_REACT_APP_SERVER_URL 前端请求后端的基础地址 - VITE_REACT_APP_SERVER_URL=https://api.example.com

已废弃的环境变量

以下环境变量已被废弃,请使用系统设置界面中的相应选项:

环境变量 替代方式
GEMINI_MODEL_MAP 请在系统设置-模型相关设置中设置
GEMINI_SAFETY_SETTING 请在系统设置-模型相关设置中设置

多机部署示例

在多机部署场景中,必须设置以下环境变量:

主节点配置

# 数据库配置 - 使用远程数据库
SQL_DSN=root:password@tcp(db-server:3306)/oneapi

# 安全配置
SESSION_SECRET=your_unique_session_secret
CRYPTO_SECRET=your_unique_crypto_secret

# Redis缓存配置
REDIS_CONN_STRING=redis://default:password@redis-server:6379

从节点配置

# 数据库配置 - 使用相同的远程数据库
SQL_DSN=root:password@tcp(db-server:3306)/oneapi

# 安全配置 - 与主节点使用相同的密钥
SESSION_SECRET=your_unique_session_secret
CRYPTO_SECRET=your_unique_crypto_secret

# Redis缓存配置 - 与主节点使用相同的Redis
REDIS_CONN_STRING=redis://default:password@redis-server:6379

# 节点类型设置
NODE_TYPE=slave

# 可选:前端基础URL
FRONTEND_BASE_URL=https://your-domain.com

# 可选:同步频率
SYNC_FREQUENCY=60

完整集群配置

这只是基本的多节点配置示例。完整的集群部署配置、架构说明和最佳实践,请参考集群部署指南

Docker Compose中的环境变量示例

下面是一个在Docker Compose配置文件中设置环境变量的简要示例:

services:
  new-api:
    image: calciumion/new-api:latest
    environment:
      - TZ=Asia/Shanghai
      - SQL_DSN=root:123456@tcp(mysql:3306)/oneapi
      - REDIS_CONN_STRING=redis://default:redispw@redis:6379
      - SESSION_SECRET=your_unique_session_secret
      - CRYPTO_SECRET=your_unique_crypto_secret
      - MEMORY_CACHE_ENABLED=true
      - GENERATE_DEFAULT_TOKEN=true
      - STREAMING_TIMEOUT=120
      - CHANNEL_UPDATE_FREQUENCY=1440

有关完整的Docker Compose配置,包括更多环境变量设置选项,请参考Docker Compose配置说明文档。

LinuxDo 相关

正常情况下无需修改

环境变量 说明 默认值 示例
LINUX_DO_TOKEN_ENDPOINT LinuxDo 令牌端点 https://connect.linux.do/oauth2/token LINUX_DO_TOKEN_ENDPOINT=https://connect.linux.do/oauth2/token
LINUX_DO_USER_ENDPOINT LinuxDo 用户端点 https://connect.linux.do/api/user LINUX_DO_USER_ENDPOINT=https://connect.linux.do/api/user

调试相关

环境变量 说明 默认值 示例
ENABLE_PPROF 启用pprof性能分析 false ENABLE_PPROF=true
DEBUG 启用调试模式 false DEBUG=true
GIN_MODE Gin运行模式 - GIN_MODE=release