fixed model visibility
CI / Lint (push) Has been cancelled
CI / Test (push) Has been cancelled
CI / Build (push) Has been cancelled

This commit is contained in:
2026-04-09 12:13:53 +00:00
parent e12418cc4c
commit 2929f51556
+16 -14
View File
@@ -246,13 +246,16 @@ func (s *Server) handleListModels(c *gin.Context) {
OwnedBy string `json:"owned_by"`
}
var data []OpenAIModel
modelMap := make(map[string]OpenAIModel)
allowedProviders := map[string]bool{
"openai": true,
"google": true, // Models from models.dev use 'google' ID for Gemini
"deepseek": true,
"moonshot": true,
"moonshotai": true, // Official moonshotai ID in models.dev
"moonshotai-cn": true, // Official moonshotai-cn ID in models.dev
"xai": true, // Models from models.dev use 'xai' ID for Grok
"llmgateway": true, // Catch-all for newer models
"ollama": true,
}
@@ -262,12 +265,14 @@ func (s *Server) handleListModels(c *gin.Context) {
continue
}
for mID := range pInfo.Models {
data = append(data, OpenAIModel{
if _, exists := modelMap[mID]; !exists {
modelMap[mID] = OpenAIModel{
ID: mID,
Object: "model",
Created: 1700000000,
OwnedBy: pID,
})
}
}
}
}
}
@@ -275,24 +280,21 @@ func (s *Server) handleListModels(c *gin.Context) {
// Add configured Ollama models
if s.cfg.Providers.Ollama.Enabled {
for _, mID := range s.cfg.Providers.Ollama.Models {
// Check if already added
exists := false
for _, d := range data {
if d.ID == mID {
exists = true
break
}
}
if !exists {
data = append(data, OpenAIModel{
if _, exists := modelMap[mID]; !exists {
modelMap[mID] = OpenAIModel{
ID: mID,
Object: "model",
Created: 1700000000,
OwnedBy: "ollama",
})
}
}
}
}
var data []OpenAIModel
for _, m := range modelMap {
data = append(data, m)
}
c.JSON(http.StatusOK, gin.H{
"object": "list",