文档焕新,旧文档请访问 doc.newapi.pro
New APINew API
使用指南部署安装API 参考AI 应用帮助支持商务合作

环境变量配置指南

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

提示

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

基本配置

环境变量说明默认值示例
PORT服务监听端口3000PORT=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空闲连接池最大连接数100SQL_MAX_IDLE_CONNS=50
SQL_MAX_OPEN_CONNS连接池最大打开连接数1000SQL_MAX_OPEN_CONNS=500
SQL_MAX_LIFETIME连接最大生命周期(分钟)60SQL_MAX_LIFETIME=120
LOG_SQL_DSN日志表独立数据库连接字符串-LOG_SQL_DSN=root:123456@tcp(localhost:3306)/oneapi_logs
SQLITE_PATHSQLite数据库路径/path/to/sqlite.dbSQLITE_PATH=/var/lib/new-api/new-api.db

缓存配置

环境变量说明默认值示例
REDIS_CONN_STRINGRedis连接字符串-REDIS_CONN_STRING=redis://default:redispw@localhost:6379
MEMORY_CACHE_ENABLED是否启用内存缓存falseMEMORY_CACHE_ENABLED=true
REDIS_POOL_SIZERedis连接池大小10REDIS_POOL_SIZE=20
BATCH_UPDATE_ENABLED启用数据库批量更新聚合falseBATCH_UPDATE_ENABLED=true
BATCH_UPDATE_INTERVAL批量更新聚合时间间隔(秒)5BATCH_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缓存与数据库同步频率(秒)60SYNC_FREQUENCY=60
NODE_TYPE节点类型masterNODE_TYPE=slave

集群部署

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

用户及令牌配置

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

请求限制配置

环境变量说明默认值示例
GLOBAL_API_RATE_LIMIT全局API速率限制(单IP三分钟)180GLOBAL_API_RATE_LIMIT=100
GLOBAL_WEB_RATE_LIMIT全局Web速率限制(单IP三分钟)60GLOBAL_WEB_RATE_LIMIT=30
RELAY_TIMEOUT中继请求超时时间(秒)0RELAY_TIMEOUT=60
STREAMING_TIMEOUT流式一次回复的超时时间(秒)300STREAMING_TIMEOUT=120
MAX_FILE_DOWNLOAD_MB最大文件下载大小(MB)20MAX_FILE_DOWNLOAD_MB=50
GLOBAL_API_RATE_LIMIT_ENABLE全局API速率限制开关trueGLOBAL_API_RATE_LIMIT_ENABLE=false
GLOBAL_API_RATE_LIMIT_DURATION全局API速率限制窗口(秒)180GLOBAL_API_RATE_LIMIT_DURATION=120
GLOBAL_WEB_RATE_LIMIT_ENABLE全局Web速率限制开关trueGLOBAL_WEB_RATE_LIMIT_ENABLE=false
GLOBAL_WEB_RATE_LIMIT_DURATION全局Web速率限制窗口(秒)180GLOBAL_WEB_RATE_LIMIT_DURATION=120
CRITICAL_RATE_LIMIT_ENABLE关键操作速率限制开关trueCRITICAL_RATE_LIMIT_ENABLE=false
CRITICAL_RATE_LIMIT关键操作速率限制次数20CRITICAL_RATE_LIMIT=10
CRITICAL_RATE_LIMIT_DURATION关键操作速率限制窗口(秒)1200CRITICAL_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批量更新渠道时请求间隔(秒)0POLLING_INTERVAL=5
ENABLE_METRIC是否根据请求成功率禁用渠道falseENABLE_METRIC=true
METRIC_QUEUE_SIZE请求成功率统计队列大小10METRIC_QUEUE_SIZE=20
METRIC_SUCCESS_RATE_THRESHOLD请求成功率阈值0.8METRIC_SUCCESS_RATE_THRESHOLD=0.7
TEST_PROMPT测试模型时的用户promptPrint your model name exactly...TEST_PROMPT=Hello

模型和请求处理配置

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

特定模型配置

环境变量说明默认值示例
AZURE_DEFAULT_API_VERSIONAzure渠道默认API版本2025-04-01-previewAZURE_DEFAULT_API_VERSION=2023-05-15
COHERE_SAFETY_SETTINGCohere模型安全设置NONECOHERE_SAFETY_SETTING=CONTEXTUAL
GEMINI_VISION_MAX_IMAGE_NUMGemini模型最大图片数量16GEMINI_VISION_MAX_IMAGE_NUM=8
DIFY_DEBUGDify渠道输出工作流和节点信息trueDIFY_DEBUG=false

其他配置

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

分析统计

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

元数据同步

环境变量说明默认值示例
SYNC_UPSTREAM_BASE模型/厂商元数据上游地址https://basellm.github.io/llm-metadataSYNC_UPSTREAM_BASE=https://mirror.example.com/llm-metadata
SYNC_HTTP_TIMEOUT_SECONDS同步HTTP超时(秒)10SYNC_HTTP_TIMEOUT_SECONDS=15
SYNC_HTTP_RETRY同步重试次数3SYNC_HTTP_RETRY=5
SYNC_HTTP_MAX_MB响应体最大大小(MB)10SYNC_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_ENDPOINTLinuxDo 令牌端点https://connect.linux.do/oauth2/tokenLINUX_DO_TOKEN_ENDPOINT=https://connect.linux.do/oauth2/token
LINUX_DO_USER_ENDPOINTLinuxDo 用户端点https://connect.linux.do/api/userLINUX_DO_USER_ENDPOINT=https://connect.linux.do/api/user

调试相关

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

这篇文档对您有帮助吗?

最后更新于