feat(cliproxy, gemini): improve ID matching logic and enrich normalized model output

- Enhanced ID matching in `cliproxy` by adding additional conditions to better handle ID equality cases.
- Updated `gemini` handlers to include `displayName` and `description` in normalized models for enriched metadata.
This commit is contained in:
Luis Pater
2026-01-17 04:44:09 +08:00
parent 65b4e1ec6c
commit 384578a88c
2 changed files with 9 additions and 2 deletions

View File

@@ -56,9 +56,13 @@ func (h *GeminiAPIHandler) GeminiModels(c *gin.Context) {
for k, v := range model {
normalizedModel[k] = v
}
if name, ok := normalizedModel["name"].(string); ok && name != "" && !strings.HasPrefix(name, "models/") {
if name, ok := normalizedModel["name"].(string); ok && name != "" {
if !strings.HasPrefix(name, "models/") {
normalizedModel["name"] = "models/" + name
}
normalizedModel["displayName"] = name
normalizedModel["description"] = name
}
if _, ok := normalizedModel["supportedGenerationMethods"]; !ok {
normalizedModel["supportedGenerationMethods"] = defaultMethods
}

View File

@@ -1212,6 +1212,9 @@ func rewriteModelInfoName(name, oldID, newID string) string {
if strings.EqualFold(oldID, newID) {
return name
}
if strings.EqualFold(trimmed, oldID) {
return newID
}
if strings.HasSuffix(trimmed, "/"+oldID) {
prefix := strings.TrimSuffix(trimmed, oldID)
return prefix + newID