## 上游来源 - PR:https://github.com/QuantumNous/new-api/pull/5348 - 标题:`feat: support v2/v3/non-v1 API version prefix in upstream channel baseURL` - 记录时提交:`ac2b978a2fe1ecbb44813b044b6037f783d814af` - 状态:Open / DIRTY;11 files,+87/-22;仍有 major review 风险且缺少回归测试 ## 轻量审查 - **有用价值:高。** 可避免 base URL 已带 `/v2`、`/api/v3` 等版本路径时再次拼接 `/v1` 导致 404,对 vLLM/厂商兼容端点有普遍价值。 - **合理程度:低(当前实现)。** 改动横跨 router、通用 URL helper 和多个 provider,字符串规则过宽且当前 diff 存在明确路径问题。 - **当前建议:禁止直接引入当前 head。** ## 当前阻断项 - `StripVersionPrefix` 返回 `path[secondSlash+1:]` 会丢掉前导 `/`,调用方可能生成 malformed URL。 - `BaseUrlHasVersionPrefix` 扫描任意 path segment,只要 `v`+数字即判定,可能误判业务路径。 - 自动把入站 `/v2`/`/v1beta` 归一为 `/v1` 扩大了路由契约,需明确是否真的对外支持。 - 同 PR 的 video proxy 仍使用当前 channel key,而异步任务应优先复用提交时捕获的认证上下文。 - 11 个文件没有对应 URL 组合测试。 ## 跟踪策略 - [ ] 等待上游修复路径与认证问题并补测试 - [ ] 上游合并后复核最终 helper 语义再引入 - [ ] 若长期未处理,围绕 `url.URL` 路径拼接重新设计 - [ ] 引入前覆盖 v1/v2/v1beta、query、尾斜杠、Cloudflare 及各 provider
上游来源
feat: support v2/v3/non-v1 API version prefix in upstream channel baseURLac2b978a2fe1ecbb44813b044b6037f783d814af轻量审查
/v2、/api/v3等版本路径时再次拼接/v1导致 404,对 vLLM/厂商兼容端点有普遍价值。当前阻断项
StripVersionPrefix返回path[secondSlash+1:]会丢掉前导/,调用方可能生成 malformed URL。BaseUrlHasVersionPrefix扫描任意 path segment,只要v+数字即判定,可能误判业务路径。/v2//v1beta归一为/v1扩大了路由契约,需明确是否真的对外支持。跟踪策略
url.URL路径拼接重新设计