diff --git a/migrations/migrate.go b/migrations/migrate.go index daf717a..9708a8d 100755 --- a/migrations/migrate.go +++ b/migrations/migrate.go @@ -1297,16 +1297,15 @@ func SeedUmind() { return } // El panel viejo (Alpine, /app/umind) sigue existiendo y respondiendo, pero - // el menú ahora apunta al orquestador (SPA Vue). Si ya existía el submódulo - // apuntando a la URL vieja, se migra en el mismo registro en vez de crear - // uno duplicado. - url := "/orchestrator" - urlVieja := "/app/umind" + // el menú apunta al SPA. La URL pasó por /app/umind → /orchestrator → + // /studio: se busca por cualquiera de las tres y se migra el mismo + // registro, en vez de dejar submódulos duplicados en el menú. + url := "/studio" var sub models.Submodules - if err := db.Where("url = ? OR url = ?", url, urlVieja).First(&sub).Error; err != nil { + if err := db.Where("url IN ?", []string{url, "/orchestrator", "/app/umind"}).First(&sub).Error; err != nil { sub = models.Submodules{ - Title: "uMind", - Description: "Chat con IA embebible por sitio, con base de conocimiento propia (RAG)", + Title: "uMind Studio", + Description: "Creación y gestión de agentes de IA: conocimiento, canales, herramientas y consumo", Url: url, ModuleId: modulo.ID, ModifiedAt: time.Now(), diff --git a/orchestrator/src/App.vue b/orchestrator/src/App.vue index b776b1d..47ec168 100644 --- a/orchestrator/src/App.vue +++ b/orchestrator/src/App.vue @@ -1,12 +1,22 @@