vtcode_config/models/model_id/
display.rs1use super::ModelId;
2
3impl ModelId {
4 pub fn display_name(&self) -> &'static str {
6 if let Some(meta) = self.openrouter_metadata() {
7 return meta.display;
8 }
9 match self {
10 ModelId::Gemini31ProPreview => "Gemini 3.1 Pro Preview",
12 ModelId::Gemini31ProPreviewCustomTools => "Gemini 3.1 Pro Preview (Custom Tools)",
13 ModelId::Gemini3FlashPreview => "Gemini 3 Flash",
14 ModelId::GPT5 => "GPT-5",
16 ModelId::GPT52 => "GPT-5.2",
17 ModelId::GPT5Mini => "GPT-5 Mini",
18 ModelId::GPT5Nano => "GPT-5 Nano",
19 ModelId::GPT53Codex => "GPT-5.3 Codex",
20 ModelId::OpenAIGptOss20b => "GPT-OSS 20B",
21 ModelId::OpenAIGptOss120b => "GPT-OSS 120B",
22 ModelId::ClaudeOpus46 => "Claude Opus 4.6",
24 ModelId::ClaudeSonnet46 => "Claude Sonnet 4.6",
25 ModelId::ClaudeOpus45 => "Claude Opus 4.5",
26 ModelId::ClaudeOpus41 => "Claude Opus 4.1",
27 ModelId::ClaudeSonnet45 => "Claude Sonnet 4.5",
28 ModelId::ClaudeHaiku45 => "Claude Haiku 4.5",
29 ModelId::ClaudeSonnet4 => "Claude Sonnet 4",
30 ModelId::DeepSeekChat => "DeepSeek V3.2 Chat",
32 ModelId::DeepSeekReasoner => "DeepSeek V3.2 Reasoner",
33 ModelId::ZaiGlm5 => "GLM 5",
35 ModelId::OllamaGptOss20b => "GPT-OSS 20B (local)",
37 ModelId::OllamaGptOss20bCloud => "GPT-OSS 20B (cloud)",
38 ModelId::OllamaGptOss120bCloud => "GPT-OSS 120B (cloud)",
39 ModelId::OllamaQwen317b => "Qwen3 1.7B (local)",
40 ModelId::OllamaQwen3CoderNext => "Qwen3-Coder-Next (cloud)",
41 ModelId::OllamaDeepseekV32Cloud => "DeepSeek V3.2 (cloud)",
42 ModelId::OllamaQwen3Next80bCloud => "Qwen3 Next 80B (cloud)",
43 ModelId::OllamaMistralLarge3675bCloud => "Mistral Large 3 675B (cloud)",
44 ModelId::OllamaQwen3Coder480bCloud => "Qwen3 Coder 480B (cloud)",
45 ModelId::OllamaGemini3FlashPreviewCloud => "Gemini 3 Flash Preview (cloud)",
46 ModelId::OllamaDevstral2123bCloud => "Devstral 2 123B (cloud)",
47 ModelId::OllamaMinimaxM2Cloud => "MiniMax-M2 (cloud)",
48 ModelId::OllamaGlm5Cloud => "GLM-5 (cloud)",
49 ModelId::OllamaMinimaxM25Cloud => "MiniMax-M2.5 (cloud)",
50 ModelId::OllamaNemotron3Nano30bCloud => "Nemotron-3-Nano 30B (cloud)",
51 ModelId::HuggingFaceDeepseekV32 => "DeepSeek V3.2 (HF)",
53 ModelId::HuggingFaceOpenAIGptOss20b => "GPT-OSS 20B (HF)",
54 ModelId::HuggingFaceOpenAIGptOss120b => "GPT-OSS 120B (HF)",
55 ModelId::HuggingFaceMinimaxM25Novita => "MiniMax-M2.5 (Novita)",
56 ModelId::HuggingFaceDeepseekV32Novita => "DeepSeek V3.2 (Novita)",
57 ModelId::HuggingFaceXiaomiMimoV2FlashNovita => "MiMo-V2-Flash (Novita)",
58 ModelId::HuggingFaceGlm5Novita => "GLM-5 (Novita)",
59 ModelId::HuggingFaceQwen3CoderNextNovita => "Qwen3-Coder-Next (Novita)",
60 ModelId::HuggingFaceQwen35397BA17BTogether => "Qwen3.5-397B-A17B (Together)",
61 ModelId::OpenRouterMinimaxM25 => "MiniMax-M2.5 (OpenRouter)",
62 ModelId::OpenRouterQwen3CoderNext => "Qwen3-Coder-Next (OpenRouter)",
63 ModelId::MinimaxM25 => "MiniMax-M2.5",
65 ModelId::MinimaxM2 => "MiniMax-M2",
66 ModelId::MoonshotMinimaxM25 => "MiniMax-M2.5 (Moonshot)",
67 ModelId::MoonshotQwen3CoderNext => "Qwen3-Coder-Next (Moonshot)",
68 _ => unreachable!(),
70 }
71 }
72}