feat(route-lab): add shared-group relay validation pack

This commit is contained in:
phamnazage-jpg
2026-05-28 13:57:17 +08:00
parent 6b03eb8fb9
commit e13e6b8fc1
7 changed files with 184 additions and 0 deletions

View File

@@ -0,0 +1,70 @@
# Route Lab Validation
本文件记录 `asxs + codex2api` 同组双线路实验的最小验证路径。
## 目标
验证以下结论是否成立:
1. 同一个 `group` 下可以挂两条不同 `base_url` 的 GPT 线路
2. 两条线路可以通过不同 `channel` 和不同公开 alias 同时对外暴露
3. 用户进入同一个 group 后,可以稳定看到并调用两条线路
## 实验 pack
- pack 目录:`packs/openai-cn-pack-route-lab`
- provider A`gpt-asxs-route-lab`
- provider B`gpt-codex2api-route-lab`
## 实验建模
```text
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 失败,需要先校正
## 建议验证顺序
1. 静态检查 pack
2. 导入 `gpt-asxs-route-lab`
3. 记录 `group_id / channel_id / account_ids`
4. 导入 `gpt-codex2api-route-lab`
5. 再记录 `group_id / channel_id / account_ids`
6. 核对:
- 两次导入后的 `group_id` 应相同
- `channel_id` 应不同
- 两组 account 的 `base_url` 应分别落到 `asxs``codex2api`
7. 用同一个 group 下的用户 key 验证:
- `GET /v1/models`
- `POST /v1/chat/completions`
## 成功标准
- 同一个 group 下同时存在两条独立 channel
- `gpt-5.4-asxs` 命中 `asxs`
- `gpt-5.4-codex2api` 命中 `codex2api`
- 关闭其中一条上游后,另一条 alias 仍能独立工作
## 第二轮暂不做
第二轮是把两条线路都暴露成同一个公开模型名,例如都叫 `gpt-5.4`
这一步当前不建议直接做,因为:
- 现有服务端有同模型冲突校验
- 即使绕过校验,也还缺显式的 route policy无法保证官方 / 中转的命中优先级和 fallback 语义