上游是平台模型背后的真实供应商端点。在这里创建上游、添加多个 API Key、设置协议和超时、同步远端模型,并管理路由绑定。
使用入口#
进入管理端后选择「上游」。工具栏提供搜索、「状态」「兼容」筛选、排序、「同步」和批量操作。右上角的「自动熔断」开关决定是否显示和使用熔断状态。
| 列 | 含义 |
|---|---|
| ID | 上游 ID。 |
| 名称 | 展示名称。 |
| 地址 | Base URL。 |
| 兼容 / 协议 | 兼容类型,以及按类别设置的协议默认值数量。 |
| 状态 | 正常、停用或熔断中。 |
| 模型数 | 「活跃 {active} / 总数 {total}」。 |
| 超时设置 | 「C 连接{s} / R 读取{s} / S 流{s}」。 |
| 更新时间 | 最近更新时间。 |
创建上游#
- 点击「新增」。
- 填写「名称」和「地址」,例如
https://api.example.com/v1。 - 在「密钥(支持多密钥轮询)」中按行粘贴 API Key,每行一个。
- 选择「兼容」和「状态」。
- 展开「调用协议」「超时设置」「熔断机制」「请求头」设置可选项。
- 点击「创建」。
创建时名称、地址和至少一个 API Key 为必填。密钥以轮询列表保存,策略为 round_robin,请求会分散到这些密钥上。
编辑上游与轮换密钥#
从行菜单打开「编辑上游」。表单会载入当前配置,但明文密钥不会回显。
- 要新增密钥,在「新增 API Key」中按行粘贴,它们会追加到轮询列表。
- 每个已有密钥显示掩码值和删除按钮。删除只是标记,保存后生效。
- 必须至少保留一个有效密钥。如果删掉了最后一个,请先填写新密钥再保存,否则会提示「至少需要保留一个 API Key,或先填写新的 API Key 后再保存。」
| 字段 | 说明 |
|---|---|
| 名称 | 必填。 |
| 地址 | 必填,供应商接口根地址。 |
| 密钥 | 每行一个,按轮询使用。 |
| 兼容 | OpenAI、Anthropic、Google、xAI、OpenRouter 或自定义。 |
| 状态 | 正常或停用。 |
| 调用协议 | 按类别设置默认协议。 |
| 超时设置 | 连接、读取、流超时,单位毫秒。 |
| 熔断机制 | 失败阈值、阈值逻辑、持续时长和滑动窗口。 |
| 请求头 | JSON 对象形式的额外请求头。 |
设置按类别的调用协议#
展开「调用协议」,为每个类别设置路由未指定协议时使用的默认协议。类别包括对话、语音、图像生成、图像编辑、视频生成和视频扩展,每个类别只列出适用的协议。保留「系统默认」时,由后端按兼容类型推断协议。
配置超时设置#
| 字段 | 单位 | 作用 |
|---|---|---|
| 连接超时 | 毫秒 | 建立连接允许的时长。 |
| 读取超时 | 毫秒 | 读取首个响应允许的时长。 |
| 流超时 | 毫秒 | 流式响应相邻分片之间允许的最大间隔,超过即视为中断。 |
留空表示使用系统默认值。列表中的超时列以秒显示。
配置熔断机制#
熔断设置只在「自动熔断」开启后生效。
| 字段 | 含义 |
|---|---|
| 调用失败次数阈值 | 窗口内累计失败达到该值时触发上游熔断,0 表示禁用。 |
| 模型失败个数阈值 | 已熔断模型数达到该值时触发上游熔断,0 表示禁用。 |
| 阈值逻辑 | OR 任一条件满足即触发;AND 两个条件都满足才触发。 |
| 熔断持续时长 | 熔断保持开启的分钟数。 |
| 熔断滑动窗口 | 统计失败的分钟窗口。 |
熔断中的上游会停止接收新请求,直到持续时间结束或手动结束。将鼠标移到状态图标上可以看到「预计恢复」时间。
添加请求头#
展开「请求头」编辑 JSON 对象。「快捷填充」会添加常用标识,且不会覆盖已有请求头:
| 预设 | 请求头 |
|---|---|
| 会话 ID | X-Conversation-Id |
| 会话键 | X-Session-Id |
| 请求 ID | X-Request-Id |
| OpenAI 调试请求 ID | X-Client-Request-Id |
| Codex 兼容会话亲和 | session-id、thread-id、x-client-request-id |
如果预设名称已存在但值不同,会提示冲突。编辑器无法解析 JSON 时,请先修正为有效对象再填充。
同步远端模型#
- 从行菜单打开「同步」,或在模型管理弹窗中点击「同步」。
- 等待远端目录加载。顶部会汇总计划变更:「新增」「更新」「恢复」「停用」「未变」「保留」。
- 查看远端模型,勾选要绑定的模型,并编辑每个「平台模型名」。
- 可选:通过「加入权限组」把导入的模型放入权限组。
- 点击「应用同步」。
如果同步会停用上游已不再返回的模型,会先弹出确认并说明影响。停用只调整当前上游的目录状态;平台模型和路由配置会保留,模型重新出现在上游后会在后续同步中自动恢复。
绑定完成后,汇总会报告成功、失败、新建平台模型、新建路由和复用路由的数量。需要重新拉取远端目录时点击「重新拉取」。
管理路由绑定#
从行菜单打开「管理模型」,弹窗列出该上游的绑定。
- 按上游模型名、平台模型名、协议或状态搜索。
- 按「路由状态」「上游状态」「协议」筛选,并按需排序。
- 用开关切换路由,编辑「平台模型」名称,或修改「协议」和「类别」。
- 用批量控件把路由状态、协议或类别应用到已选行。
- 点击「保存」。
要手动新增绑定,点击「新增」,填写「上游模型名」和「平台模型名」,选择「协议」「类别」「状态」,再点击「保存」。启用路由必须填写平台模型名;要解除绑定,请先关闭路由。删除绑定会保留上游模型目录,之后可以通过同步重新绑定。
立即熔断与结束熔断#
开启「自动熔断」后,行菜单会根据当前状态显示「立即熔断」或「结束熔断」。
- 「立即熔断」会停止接收新请求,直到持续时间结束或手动结束。
- 「结束熔断」会立即恢复正常接收请求。
两个操作都需要确认。供应商维护、密钥异常或网络问题时可以手动熔断,确认恢复后再结束。
批量修改状态与删除#
用复选框选中多行。
- 修改状态:在批量状态控件中选择「正常」或「停用」,点击「应用」并确认。
- 删除:点击「删除」并确认。删除上游会同时删除它的路由绑定,但保留模型目录。
批量操作完成后会报告成功和失败的数量。
常见问题#
| 现象 | 检查 |
|---|---|
| 加载上游列表失败 | 刷新页面;若登录状态失效,请重新登录。 |
| 创建失败或更新失败 | 检查名称、地址和密钥;必须至少保留一个密钥。 |
| 上游显示熔断中 | 检查供应商状态和密钥,确认恢复后再结束熔断。 |
| 同步显示模型被停用 | 上游已不再返回这些模型;后续同步会自动恢复。 |
| 模型路由不可用 | 上游或上游模型已停用,或路由未启用。 |
| 模型同步失败 | 确认地址、密钥和兼容类型后重试。 |