项目配置

系统设置

配置特点

存储方式

  • • 存储在数据库中
  • • 支持管理 API 动态修改
  • • 支持热重载无需重启
  • • 为整个应用提供行为基准

管理特性

  • • Web 界面可视化配置
  • • RESTful API 程序化管理
  • • 配置验证和约束检查
  • • 变更历史记录和回滚

基础参数

配置项字段名默认值分组可覆盖说明
项目地址app_urlhttp://localhost:3001项目基础 URL,用于拼接分组端点
全局代理密钥proxy_keys初始值为环境配置的 AUTH_KEY全局生效的代理认证密钥,多个用逗号分隔
日志保留天数request_log_retention_days7请求日志数据库保留天数,0 为不清理
日志写入间隔request_log_write_interval_minutes1日志写入数据库周期(分钟)
启用日志详情enable_request_body_loggingfalse是否在请求日志中记录完整的请求体内容,启用会增加内存和存储占用

请求设置

配置项字段名默认值分组可覆盖说明
请求超时request_timeout600转发请求完整生命周期超时(秒)
连接超时connect_timeout15与上游服务建立连接超时(秒)
空闲连接超时idle_conn_timeout120HTTP 客户端空闲连接超时(秒)
响应头超时response_header_timeout600等待上游响应头超时(秒)
最大空闲连接数max_idle_conns100连接池最大空闲连接总数
每主机最大空闲连接数max_idle_conns_per_host50每个上游主机最大空闲连接数
代理服务器地址proxy_url-用于转发请求的 HTTP/HTTPS 代理,为空则使用环境配置

密钥配置

配置项字段名默认值分组可覆盖说明
最大重试次数max_retries3单个请求使用不同密钥的最大重试次数
黑名单阈值blacklist_threshold3密钥连续失败多少次后进入黑名单
密钥验证间隔key_validation_interval_minutes60后台定时验证密钥周期(分钟)
密钥验证并发数key_validation_concurrency10后台定时验证无效 Key 时的并发数
密钥验证超时key_validation_timeout_seconds20后台定时验证单个 Key 时的 API 请求超时时间(秒)

代理配置优先级

系统代理配置优先级为中等,会覆盖环境变量配置,但可被分组配置覆盖:

分组配置 > 系统配置 > 环境配置

当系统配置中的 proxy_url 为空时,将自动使用环境变量中的代理设置。

分组配置

配置特点

优先级最高

  • • 可覆盖系统设置的任意参数
  • • 为特定分组定制专用行为
  • • 支持细粒度的性能调优
  • • 实现多租户隔离配置
  • • 代理配置优先级最高,覆盖系统和环境设置

配置灵活性

  • • JSON 格式的灵活配置
  • • 支持参数覆盖和继承
  • • 动态计算有效配置
  • • 配置验证和约束检查

可覆盖的配置项

请求与连接配置

  • request_timeout - 请求超时
  • connect_timeout - 连接超时
  • idle_conn_timeout - 空闲连接超时
  • response_header_timeout - 响应头超时
  • max_idle_conns - 最大空闲连接数
  • max_idle_conns_per_host - 每主机最大空闲连接数
  • proxy_url - 代理服务器地址

密钥管理配置

  • max_retries - 最大重试次数
  • blacklist_threshold - 黑名单阈值
  • key_validation_interval_minutes - 密钥验证间隔
  • key_validation_concurrency - 密钥验证并发数
  • key_validation_timeout_seconds - 密钥验证超时
  • enable_request_body_logging - 启用日志详情

项目配置总结

项目配置是 GPT-Load 配置系统的核心,提供了强大的动态管理能力,涵盖系统级和分组级的配置。

  • 角色与分层:分为“系统设置”和“分组配置”,前者为全局基准,后者为特定场景提供覆盖,实现了层次化管理。
  • 管理特性:支持通过 Web 界面和 API 进行动态修改,配置变更可热更新,无需重启服务,保证了系统的高可用性。
  • 代理配置优先级:分组配置 > 系统配置 > 环境配置,实现了从全局到特定分组的灵活代理设置。
  • 使用优势:提供了极高的灵活性和动态调整能力,允许针对不同业务场景(如多租户)进行细粒度隔离和优化。