mirror of
https://github.com/fawney19/Aether.git
synced 2026-09-01 17:00:21 +08:00
- 添加批量余额查询并发限制,避免数据库连接池耗尽 - 支持余额加载 pending 状态和前端自动重试机制 - 添加用户可用模型 API,统一使用 AccessRestrictions - 修复用户表单编辑时数组引用共享导致的数据覆盖问题 - 添加数据库连接池配置说明到 .env.example
94 lines
3.2 KiB
Plaintext
94 lines
3.2 KiB
Plaintext
# ==================== 必须配置(启动前) ====================
|
||
# 以下配置项必须在项目启动前设置
|
||
|
||
# 数据库配置
|
||
DB_HOST=localhost
|
||
DB_PORT=5432
|
||
DB_USER=postgres
|
||
DB_NAME=aether
|
||
DB_PASSWORD=your_secure_password_here
|
||
|
||
# Redis 配置
|
||
REDIS_HOST=localhost
|
||
REDIS_PORT=6379
|
||
REDIS_PASSWORD=your_redis_password_here
|
||
|
||
# JWT密钥(使用 python generate_keys.py 生成)
|
||
# 用于用户登录 token 签名,更换后所有用户需重新登录
|
||
JWT_SECRET_KEY=change-this-to-a-secure-random-string
|
||
|
||
# 独立加密密钥(用于加密 Provider API Key 等敏感数据)
|
||
# 注意:更换此密钥后需要在管理面板重新配置所有 Provider API Key
|
||
ENCRYPTION_KEY=change-this-to-another-secure-random-string
|
||
|
||
# 管理员账号(仅首次初始化时使用, 创建完成后可在系统内修改密码)
|
||
ADMIN_EMAIL=admin@example.com
|
||
ADMIN_USERNAME=admin
|
||
ADMIN_PASSWORD=admin123456
|
||
|
||
# ==================== 可选配置(有默认值) ====================
|
||
# 以下配置项有合理的默认值,可按需调整
|
||
|
||
# 应用端口(默认 8084)
|
||
# APP_PORT=8084
|
||
|
||
# API Key 前缀(默认 sk)
|
||
# API_KEY_PREFIX=sk
|
||
|
||
# 日志级别(默认 INFO,可选:DEBUG, INFO, WARNING, ERROR)
|
||
# LOG_LEVEL=INFO
|
||
|
||
# CORS 配置(允许跨域的源,多个源用逗号分隔)
|
||
# 示例: http://localhost:3000,https://example.com
|
||
# 默认: * (允许所有源)
|
||
# CORS_ORIGINS=*
|
||
|
||
# ==================== 超时配置 ====================
|
||
# 以下配置控制各种超时行为,影响故障转移和请求处理
|
||
|
||
# --- HTTP 连接层超时(httpx 底层) ---
|
||
# 这些是网络层的超时,控制 TCP 连接和数据传输
|
||
|
||
# TCP 连接建立超时(默认 10 秒)
|
||
# 无法在此时间内建立 TCP 连接则触发故障转移
|
||
# HTTP_CONNECT_TIMEOUT=10.0
|
||
|
||
# 读取数据超时(默认 60 秒)
|
||
# 两次数据包之间的最大等待时间,超时触发故障转移
|
||
# 注意:如果上游持续发送数据(哪怕很慢),此计时器会不断重置
|
||
# HTTP_READ_TIMEOUT=60.0
|
||
|
||
# 流式响应首字节超时(默认 30 秒,范围 10-120 秒)
|
||
# 从发起请求到收到第一个字节的最大等待时间
|
||
# 仅对流式请求生效,超时触发故障转移
|
||
# STREAM_FIRST_BYTE_TIMEOUT=30.0
|
||
|
||
# ==================== 数据库连接池配置 ====================
|
||
# 连接池大小直接影响并发能力,特别是流式请求场景
|
||
# 每个流式请求会占用一个连接直到响应完成
|
||
|
||
# PostgreSQL 最大连接数(默认 100,需与 postgresql.conf 中 max_connections 匹配)
|
||
# PG_MAX_CONNECTIONS=100
|
||
|
||
# 预留给管理工具的连接数(默认 10)
|
||
# PG_RESERVED_CONNECTIONS=10
|
||
|
||
# 连接池大小(默认自动计算:(PG_MAX - RESERVED) / WORKERS / 2)
|
||
# 高并发场景建议手动设置较大值
|
||
# DB_POOL_SIZE=20
|
||
|
||
# 最大溢出连接数(默认等于 DB_POOL_SIZE)
|
||
# 高峰期可临时创建的额外连接
|
||
# DB_MAX_OVERFLOW=20
|
||
|
||
# 连接获取超时(默认 60 秒)
|
||
# 超时后抛出 TimeoutError
|
||
# DB_POOL_TIMEOUT=60
|
||
|
||
# 连接池使用率警告阈值(默认 70%)
|
||
# DB_POOL_WARN_THRESHOLD=70
|
||
|
||
# 批量余额查询并发限制(默认自动计算:连接池的 40%)
|
||
# 控制 Provider 余额查询的并发数,避免耗尽连接池
|
||
# BATCH_BALANCE_CONCURRENCY=8
|