Supply 管理与 Route Group 选择
这页专门解释为什么当前设计把“管理自己的 Upstream Supply”和“决定哪些 Supply 真正进入路由”拆成了两件事。先记住一句话:Supply 页面负责管理 owner 自己的供给,Route Group 页面负责决定这些供给会不会进入当前路由范围。
先记住的变化
GET /api/dashboard/upstream-supplies现在只返回当前用户自己可管理的 supply。- dashboard 不再提供
PUT /api/dashboard/upstream-supplies/availability这种“对当前用户生效”编辑入口。 - owner 在 Route Group 编辑时,不是逐把 key 管理,也不是用旧的 availability 开关,而是按
vendor选择要纳入路由的来源类型。 - 保存 Route Group 时,页面虽然按
vendor维度呈现,但后台仍会展开成当前命中的 flat supply refs。 - 共享组里的 non-owner 只能消费 owner 已经保存进组的 selections,不会把自己名下的 supply 自动带进来。
现在谁负责什么
Supply 管理页负责 owner 自己的 supply、模型、upstream API key,以及这个 supply 是否共享给别人看见。Route Group负责当前这组本地 API Key 到底允许使用哪些 supply。Local Api Key负责把请求带进某个 Route Group,而不是直接指定某个 upstream key。upstream API key只在某个 supply 已经被命中后,才作为真正发往上游 Vendor 的执行 key 出现。
可以把新的边界理解成:
- 先在 Supply 页面把“我有哪些供给、是否共享”管理好。
- 再在 Route Group 页面决定“这些可见供给里,哪些真的进入这组的 allowed supply 集合”。
- 请求运行时只消费 Route Group 已保存下来的结果,不再临时根据旧的 availability 开关推导。
Dashboard 上怎么理解 vendor 选择
当前 Route Group 编辑入口按 vendor 组织选择,而不是让 owner 手动在每个场景里维护一长串零散 supply。
每个 vendor 下的来源类型固定为三类:
All Private SupplySelf Shared SupplyOther User Shared Supply
可以这样理解:
All Private Supply表示 owner 自己名下、当前属于 private 的 supply。Self Shared Supply表示 owner 自己名下、但已经公开共享出去的 supply。Other User Shared Supply表示其他用户已经公开共享、当前对 owner 可见的 supply。
页面上是按 vendor 和来源类型帮助你做选择,但保存以后,系统仍会把这次命中的对象展开成真实的 supply refs。也就是说:
- dashboard 编辑体验是
vendor维度; - runtime 选路语义仍然是 flat supply refs;
- 因此当前系统依旧是 manual-only,而不是自动在运行时临时展开。
对用户操作意味着什么
- 如果你只是想新增、修改、删除自己的 supply,或者调整它是否共享,去 Supply 页面。
- 如果你是想让某把本地 API Key 或某个 Route Group 真的开始使用某批 supply,去 Route Group 页面。
- 如果某个 supply 已经共享,但当前请求还是打不到它,先检查它有没有被纳入目标 Route Group。
- 如果你在共享组里是 non-owner,看得到或使用得到什么,要以 owner 已经保存进组的 selections 为准,而不是以你自己名下还有什么 supply 为准。
- 如果当前 Route Group 为空,或者组里没有目标 Vendor 的可路由 supply,请求会直接 no-route,不会偷偷跳到别的组。
常见误解
共享出来就一定会被路由到:不对。共享只决定别人能不能看到或纳入候选,不等于已经进了某个 Route Group。Supply 页面还能控制“对当前用户生效”:不对。当前设计已经把这层能力收走了。Route Group 按 vendor 选择,就说明运行时按 vendor 自动找 supply:不对。编辑入口按 vendor 呈现,但保存后仍是 flat supply refs,运行时不会组外自动补。non-owner 进了共享组,就会自动把自己的 supply 贡献进去:不对。共享组运行时只消费 owner 已保存进组的 selections。