import { Tag } from "antd"; import { AudioLines, Check, Film, Image, MessageSquareText } from "lucide-react"; import { ModelIcon } from "@/components/model-picker"; import { cn } from "@/lib/utils"; import { filterModelsByCapability, modelDisplayName, modelOptionName, resolveModelChannel, type AiConfig, type ModelCapability, } from "@/stores/use-config-store"; import { useUserStore } from "@/stores/use-user-store"; type DefaultModelKey = "imageModel" | "videoModel" | "textModel" | "audioModel"; const groups: Array<{ capability: ModelCapability; modelKey: DefaultModelKey; title: string; description: string; icon: typeof Image; }> = [ { capability: "image", modelKey: "imageModel", title: "默认生图模型", description: "图片生成、图像编辑与视觉探索", icon: Image }, { capability: "video", modelKey: "videoModel", title: "默认视频模型", description: "文生视频、图生视频与镜头延展", icon: Film }, { capability: "text", modelKey: "textModel", title: "默认文本模型", description: "提示词改写、脚本与结构化文本", icon: MessageSquareText }, { capability: "audio", modelKey: "audioModel", title: "默认音频模型", description: "语音、音效与音乐生成", icon: AudioLines }, ]; export function ModelDefaultGrid({ config, onChange }: { config: AiConfig; onChange: (key: DefaultModelKey, model: string) => void }) { const creditsEnabled = useUserStore((state) => state.features.creditsEnabled); return (
{group.description}