import type { LLMModelType, LLMProvider } from "@/types"; import { getProviderDisplayName, isPopiProviderMode } from "@/lib/providerMode"; export interface LLMModelOption { value: LLMModelType; label: string; } export const DEFAULT_NEWAPIWG_LLM_MODEL_ID: LLMModelType = "doubao-seed-2-0-lite-260428"; export const DEFAULT_POPISERVER_LLM_MODEL_ID: LLMModelType = "kimi-k2.6"; const ALL_LLM_PROVIDERS: { value: LLMProvider; label: string }[] = [ { value: "popiserver", label: getProviderDisplayName("popiserver") }, { value: "newapiwg", label: getProviderDisplayName("newapiwg") }, { value: "google", label: "Google" }, { value: "openai", label: "OpenAI" }, { value: "anthropic", label: "Anthropic" }, ]; export const LLM_PROVIDERS: { value: LLMProvider; label: string }[] = isPopiProviderMode() ? ALL_LLM_PROVIDERS.filter((provider) => provider.value === "popiserver") : ALL_LLM_PROVIDERS; export const LLM_MODELS: Record = { popiserver: [ { value: DEFAULT_POPISERVER_LLM_MODEL_ID, label: "Kimi K2.6" }, ], newapiwg: [ { value: "doubao-seed-2-0-lite-260428", label: "Doubao Seed 2.0 Lite" }, { value: "doubao-seed-2-0-pro-260215", label: "Doubao Seed 2.0 Pro" }, // { value: "gpt-4.1-mini", label: "GPT-4.1 Mini" }, ], google: [ { value: "gemini-3-flash-preview", label: "Gemini 3 Flash" }, { value: "gemini-2.5-flash", label: "Gemini 2.5 Flash" }, { value: "gemini-3-pro-preview", label: "Gemini 3.0 Pro" }, { value: "gemini-3.1-pro-preview", label: "Gemini 3.1 Pro" }, ], openai: [ { value: "gpt-4.1-mini", label: "GPT-4.1 Mini" }, { value: "gpt-4.1-nano", label: "GPT-4.1 Nano" }, ], anthropic: [ { value: "claude-sonnet-4.5", label: "Claude Sonnet 4.5" }, { value: "claude-haiku-4.5", label: "Claude Haiku 4.5" }, { value: "claude-opus-4.6", label: "Claude Opus 4.6" }, ], };