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"` OwnedBy string `json:"owned_by"`
} }
var data []OpenAIModel modelMap := make(map[string]OpenAIModel)
allowedProviders := map[string]bool{ allowedProviders := map[string]bool{
"openai": true, "openai": true,
"google": true, // Models from models.dev use 'google' ID for Gemini "google": true, // Models from models.dev use 'google' ID for Gemini
"deepseek": true, "deepseek": true,
"moonshot": 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 "xai": true, // Models from models.dev use 'xai' ID for Grok
"llmgateway": true, // Catch-all for newer models
"ollama": true, "ollama": true,
} }
@@ -262,12 +265,14 @@ func (s *Server) handleListModels(c *gin.Context) {
continue continue
} }
for mID := range pInfo.Models { for mID := range pInfo.Models {
data = append(data, OpenAIModel{ if _, exists := modelMap[mID]; !exists {
modelMap[mID] = OpenAIModel{
ID: mID, ID: mID,
Object: "model", Object: "model",
Created: 1700000000, Created: 1700000000,
OwnedBy: pID, OwnedBy: pID,
}) }
}
} }
} }
} }
@@ -275,24 +280,21 @@ func (s *Server) handleListModels(c *gin.Context) {
// Add configured Ollama models // Add configured Ollama models
if s.cfg.Providers.Ollama.Enabled { if s.cfg.Providers.Ollama.Enabled {
for _, mID := range s.cfg.Providers.Ollama.Models { for _, mID := range s.cfg.Providers.Ollama.Models {
// Check if already added if _, exists := modelMap[mID]; !exists {
exists := false modelMap[mID] = OpenAIModel{
for _, d := range data {
if d.ID == mID {
exists = true
break
}
}
if !exists {
data = append(data, OpenAIModel{
ID: mID, ID: mID,
Object: "model", Object: "model",
Created: 1700000000, Created: 1700000000,
OwnedBy: "ollama", OwnedBy: "ollama",
})
} }
} }
} }
}
var data []OpenAIModel
for _, m := range modelMap {
data = append(data, m)
}
c.JSON(http.StatusOK, gin.H{ c.JSON(http.StatusOK, gin.H{
"object": "list", "object": "list",