gcli2api / internal /server /resolve_model.go
a3216's picture
chore: 同步到上游 1.12.0-panel + 凭证同步/独立启动器/保活
6d60378 verified
Raw History Blame Contribute Delete
890 Bytes
package server
import "strings"
// resolveModel 解析模型名协议(PLAN D6):
//
// 分布式前缀: "[realm:]model"
//
// 取第一个 ":",前段恰为 "cn"/"global" 才剥离;否则视为裸名,realm=cn、bare=原串。
// 大小写敏感(前缀必须是精确的小写枚举)。bare 即出站/选号/账本使用的裸模型名。
//
// 导出为 ResolveModel(cmd/server/main.go 粘性闭包需要),包内简写 resolveModel。
func resolveModel(model string) (realm, bare string) {
idx := strings.IndexByte(model, ':')
if idx < 0 {
return "cn", model
}
prefix := model[:idx]
if prefix != "cn" && prefix != "global" {
return "cn", model
}
return prefix, model[idx+1:]
}
// ResolveModel 是 resolveModel 的导出面(跨包调用)。
func ResolveModel(model string) (realm, bare string) { return resolveModel(model) }