From 07e77b3c6fb2e016afef3b82252429f54488d7d6 Mon Sep 17 00:00:00 2001 From: RedwindA Date: Fri, 9 Jan 2026 18:08:11 +0800 Subject: [PATCH] =?UTF-8?q?refactor(gemini):=20=E6=9B=B4=E6=96=B0=20Gemini?= =?UTF-8?q?ModelsResponse=20=E4=BB=A5=E4=BD=BF=E7=94=A8=20dto.GeminiModel?= =?UTF-8?q?=20=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- relay/channel/gemini/relay-gemini.go | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/relay/channel/gemini/relay-gemini.go b/relay/channel/gemini/relay-gemini.go index 1a9281d5..8ca9a502 100644 --- a/relay/channel/gemini/relay-gemini.go +++ b/relay/channel/gemini/relay-gemini.go @@ -1366,18 +1366,8 @@ func GeminiImageHandler(c *gin.Context, info *relaycommon.RelayInfo, resp *http. return usage, nil } -type GeminiModelInfo struct { - Name string `json:"name"` - Version string `json:"version"` - DisplayName string `json:"displayName"` - Description string `json:"description"` - InputTokenLimit int `json:"inputTokenLimit"` - OutputTokenLimit int `json:"outputTokenLimit"` - SupportedGenerationMethods []string `json:"supportedGenerationMethods"` -} - type GeminiModelsResponse struct { - Models []GeminiModelInfo `json:"models"` + Models []dto.GeminiModel `json:"models"` NextPageToken string `json:"nextPageToken"` } @@ -1432,7 +1422,11 @@ func FetchGeminiModels(baseURL, apiKey, proxyURL string) ([]string, error) { } for _, model := range modelsResponse.Models { - modelName := strings.TrimPrefix(model.Name, "models/") + modelNameValue, ok := model.Name.(string) + if !ok { + continue + } + modelName := strings.TrimPrefix(modelNameValue, "models/") allModels = append(allModels, modelName) }