import { defineWrappedResponseHandler } from "#server/utils/handler"; import { R } from "#server/utils/response"; import { requireAdmin } from "#server/utils/admin-guard"; import { createSystemProvider } from "#server/service/llm"; export default defineWrappedResponseHandler(async (event) => { await requireAdmin(event); const body = await readBody(event); const { name, slug, baseUrl, parseMode, apiKey, status, description } = body as { name: string; slug: string; baseUrl?: string; parseMode: string; apiKey?: string; status?: string; description?: string; }; if (!name || !slug || !parseMode) { return R.error("参数无效:name、slug、parseMode 必填", null); } if (!["openai", "anthropic"].includes(parseMode)) { return R.error("parseMode 仅支持 openai 或 anthropic", null); } const result = await createSystemProvider({ name, slug, baseUrl, parseMode: parseMode as "openai" | "anthropic", apiKey, status: status as "active" | "inactive" | undefined, description, }); return R.success({ id: result.id }); });