fix(model-resolution): 修复模型解析优先级和别名匹配范围

- 调整 ModelCacheService 解析优先级:优先直接匹配 GlobalModel.name,
  避免被 provider_model_name 误导到错误的 GlobalModel
- 为 check_model_allowed_with_aliases 新增 candidate_models 参数,
  限制别名匹配只能落到 Provider 实际配置的模型名上
- 对 allowed_set 排序以确保别名匹配结果的确定性
- 调整 HTTP_READ_TIMEOUT 默认值从 300s 改为 60s
- 优化 ModelMappingTab 组件布局,将正则表达式提取到 Key 级别展示
- 补充 .env.example 超时配置文档
This commit is contained in:
fawney19
2026-01-14 17:29:04 +08:00
parent 97d66a8d0c
commit 0ed053b02f
8 changed files with 294 additions and 67 deletions
+41
View File
@@ -42,3 +42,44 @@ ADMIN_PASSWORD=admin123456
# 示例: 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
# 发送数据超时(默认 60 秒)
# 发送请求体到上游的超时时间
# HTTP_WRITE_TIMEOUT=60.0
# 连接池获取超时(默认 10 秒)
# 从连接池获取可用连接的超时时间
# HTTP_POOL_TIMEOUT=10.0
# --- 业务层超时 ---
# 这些是应用层的超时,控制请求处理流程
# 流式响应首字节超时(默认 30 秒,范围 10-120 秒)
# 从发起请求到收到第一个字节的最大等待时间
# 仅对流式请求生效,超时触发故障转移
# STREAM_FIRST_BYTE_TIMEOUT=30.0
# 请求体读取超时(默认 60 秒)
# 等待客户端发送完整请求体的超时时间
# 防止客户端发送不完整请求导致连接卡死
# REQUEST_BODY_TIMEOUT=60.0
# --- Provider 级别超时 ---
# 在管理面板中为每个 Provider 单独配置的 timeout 字段
# 控制"建立连接 + 获取首字节"的总时间(默认 300 秒)
# 建议根据 Provider 响应速度设置为 30-120 秒