3.1 KiB
3.1 KiB
Route Lab Validation
本文件记录 asxs + codex2api 同组双线路实验的最小验证路径。
目标
验证以下结论是否成立:
- 同一个
group下可以挂两条不同base_url的 GPT 线路 - 两条线路可以通过不同
channel和不同公开 alias 同时对外暴露 - 用户进入同一个 group 后,可以稳定看到并调用两条线路
实验 pack
- pack 目录:
packs/openai-cn-pack-route-lab - provider A:
gpt-asxs-route-lab - provider B:
gpt-codex2api-route-lab
实验建模
Group: GPT Shared 路由实验
Channel: GPT Shared - asxs
Models:
- gpt-5.4-asxs -> gpt-5.4
- gpt-5.4-mini-asxs -> gpt-5.4-mini
Channel: GPT Shared - codex2api
Models:
- gpt-5.4-codex2api -> gpt-5.4
- gpt-5.4-mini-codex2api -> gpt-5.4-mini
关键约束
- 两条 provider 的
group_template.name必须完全一致 - 两条 provider 的
channel_template.name必须不同 - 第一轮实验不要把两条线路都暴露成同一个公开模型名
codex2api当前先按https://www.codex2api.com/v1作为假设 API 根地址;若 preview 失败,需要先校正
建议验证顺序
- 静态检查 pack
- 导入
gpt-asxs-route-lab - 记录
group_id / channel_id / account_ids - 导入
gpt-codex2api-route-lab - 再记录
group_id / channel_id / account_ids - 核对:
- 两次导入后的
group_id应相同 channel_id应不同- 两组 account 的
base_url应分别落到asxs与codex2api
- 两次导入后的
- 用同一个 group 下的用户 key 验证:
GET /v1/modelsPOST /v1/chat/completions
成功标准
- 同一个 group 下同时存在两条独立 channel
gpt-5.4-asxs命中asxsgpt-5.4-codex2api命中codex2api- 关闭其中一条上游后,另一条 alias 仍能独立工作
2026-05-28 remote43 实际结果
gpt-asxs-route-lab已在 remote43 完成真实导入:- artifact:
artifacts/real-host-acceptance/20260528_142205_remote43_gpt-asxs-route-lab_key_import/21-summary.json - 导入资源:
group_id=8、channel_id=7、plan_id=7、account_id=9 - upstream
asxs的/models与/chat/completions为200
- artifact:
gpt-codex2api-route-lab在尝试复用同一 group 时被宿主拒绝:- artifact:
artifacts/real-host-acceptance/20260528_142320_remote43_gpt-codex2api-route-lab_key_import/03-import.body.json - 宿主返回
409 GROUP_ALREADY_IN_CHANNEL - 错误消息:
one or more groups already belong to another channel
- artifact:
- 因此这轮实验已经证明:
- 当前宿主允许一个 provider 创建
group + channel - 但不允许第二个 channel 复用同一个 group
- 所以“group = 模型族,channel = 官方/中转线路”的方案 B,在当前 sub2api 宿主约束下不能直接落地
- 当前宿主允许一个 provider 创建
第二轮暂不做
第二轮是把两条线路都暴露成同一个公开模型名,例如都叫 gpt-5.4。
这一步当前不建议直接做,因为:
- 现有服务端有同模型冲突校验
- 即使绕过校验,也还缺显式的 route policy,无法保证官方 / 中转的命中优先级和 fallback 语义