feat(admin): configure model providers from database

This commit is contained in:
Jesse_Chen
2026-08-07 20:03:20 +08:00
parent d63f10dcc2
commit 3089316d2e
31 changed files with 871 additions and 1430 deletions
+5 -2
View File
@@ -5,7 +5,7 @@ import {
import { createAdminSupabaseClient } from "@/lib/supabase/admin";
import { createServerSupabaseClient } from "@/lib/supabase/server";
import { getOnboardingAgent } from "@/mastra";
import { defaultLanguageModel, resolveLanguageModel } from "@/mastra/model";
import { loadLanguageModelCatalog } from "@/lib/model-catalog";
export const runtime = "nodejs";
export const maxDuration = 30;
@@ -66,7 +66,10 @@ export const POST = createOnboardingPost({
},
generateText: async (name, signal) => {
const preferredModelId = process.env.ONBOARDING_MODEL_ID?.trim() || "deepseek-v4-flash";
const model = resolveLanguageModel(preferredModelId) ?? defaultLanguageModel();
const catalog = await loadLanguageModelCatalog();
const model = catalog.models.find((entry) => entry.id === preferredModelId)
?? catalog.models.find((entry) => entry.id === catalog.defaultModelId)
?? null;
if (!model) return null;
const result = await getOnboardingAgent(model).generate([
{