多账号模型路由机制
三层机制
-
按模型目录筛选账号 每个账号带一份
Models目录(从上游拉取)。轮询只在能服务该模型的账号里挑(itemCouldServeModel)。若某账号目录未知(Models == nil),则失败开放(认为它什么都能服务)。 -
请求内锁区,请求间交替 命中的账号会钉住 region 覆盖整个请求(
lastRegion),避免 failover 重试时中途跨区翻转。 于是:交替发生在不同对话之间;同一段对话(按首条消息哈希粘账号)中途不换。 -
额度互补与自动冷却 某账号额度耗尽会自动冷却,后续请求落到另一区;反过来同理。这是"混用"真正的收益点——不是负载均衡,是额度池合并。
推论
- 只有两边目录都有的模型才会真正跨区轮转;只有一边有的模型,路由根本不会送过去(不是"会被拒绝",是"不会选中")。
- 想确认某次请求实际落在哪个账号,看响应头里的账号标识。
- 想强制某类流量只走某一区:用请求头指定,或把 Key 绑定到 region。
相关
- Agent模型接入与额度机制
- 模型可见性按入口分批 —— 「谁接得到」由账号/入口目录决定