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::Gemini31FlashLitePreview => "Gemini 3.1 Flash Lite Preview",
14 ModelId::Gemini35Flash => "Gemini 3.5 Flash",
15 ModelId::Gemini3FlashPreview => "Gemini 3 Flash",
16 ModelId::GPT55 => "GPT-5.5",
18 ModelId::GPT5 => "GPT-5",
19 ModelId::GPT52 => "GPT-5.2",
20 ModelId::GPT52Codex => "GPT-5.2 Codex",
21 ModelId::GPT54 => "GPT-5.4",
22 ModelId::GPT54Pro => "GPT-5.4 Pro",
23 ModelId::GPT54Nano => "GPT-5.4 Nano",
24 ModelId::GPT54Mini => "GPT-5.4 Mini",
25 ModelId::GPT53Codex => "GPT-5.3 Codex",
26 ModelId::GPT51Codex => "GPT-5.1 Codex",
27 ModelId::GPT51CodexMax => "GPT-5.1 Codex Max",
28 ModelId::GPT5Mini => "GPT-5 Mini",
29 ModelId::GPT5Nano => "GPT-5 Nano",
30 ModelId::GPT5Codex => "GPT-5 Codex",
31 ModelId::OpenAIGptOss20b => "GPT-OSS 20B",
32 ModelId::OpenAIGptOss120b => "GPT-OSS 120B",
33 ModelId::ClaudeOpus48 => "Claude Opus 4.8",
35 ModelId::ClaudeOpus47 => "Claude Opus 4.7",
36 ModelId::ClaudeOpus46 => "Claude Opus 4.6",
37 ModelId::ClaudeSonnet46 => "Claude Sonnet 4.6",
38 ModelId::ClaudeHaiku45 => "Claude Haiku 4.5",
39 ModelId::ClaudeMythosPreview => "Claude Mythos Preview",
40 ModelId::CopilotAuto => "GitHub Copilot Auto",
41 ModelId::CopilotGPT52Codex => "GitHub Copilot GPT-5.2 Codex",
42 ModelId::CopilotGPT51CodexMax => "GitHub Copilot GPT-5.1 Codex Max",
43 ModelId::CopilotGPT54 => "GitHub Copilot GPT-5.4",
44 ModelId::CopilotGPT54Mini => "GitHub Copilot GPT-5.4 Mini",
45 ModelId::CopilotClaudeSonnet46 => "GitHub Copilot Claude Sonnet 4.6",
46 ModelId::DeepSeekV4Pro => "DeepSeek V4 Pro",
48 ModelId::DeepSeekV4Flash => "DeepSeek V4 Flash",
49 ModelId::MistralLarge3 => "Mistral Large 3",
51 ModelId::MiMoV25Pro => "MiMo V2.5 Pro",
53 ModelId::MiMoV25 => "MiMo V2.5",
54 ModelId::MiMoV2Flash => "MiMo V2 Flash",
55 ModelId::ZaiGlm5 => "GLM 5",
57 ModelId::ZaiGlm51 => "GLM 5.1",
58 ModelId::Qwen37Max => "Qwen 3.7 Max",
60 ModelId::Qwen36Flash => "Qwen 3.6 Flash",
61 ModelId::Qwen36Plus => "Qwen 3.6 Plus",
62 ModelId::QwenDeepSeekV4Flash => "DeepSeek V4 Flash (Qwen)",
63 ModelId::QwenDeepSeekV4Pro => "DeepSeek V4 Pro (Qwen)",
64 ModelId::QwenGlm51 => "GLM-5.1 (Qwen)",
65 ModelId::OllamaGptOss20b => "GPT-OSS 20B (local)",
67 ModelId::OllamaGptOss20bCloud => "GPT-OSS 20B (cloud)",
68 ModelId::OllamaGptOss120bCloud => "GPT-OSS 120B (cloud)",
69 ModelId::OllamaQwen317b => "Qwen3 1.7B (local)",
70 ModelId::OllamaQwen3CoderNext => "Qwen3-Coder-Next (cloud)",
71 ModelId::OllamaDeepseekV32Cloud => "DeepSeek V3.2 (cloud)",
72 ModelId::OllamaDeepseekV4FlashCloud => "DeepSeek V4 Flash (cloud)",
73 ModelId::OllamaDeepseekV4ProCloud => "DeepSeek V4 Pro (cloud)",
74 ModelId::OllamaQwen3Next80bCloud => "Qwen3 Next 80B (cloud)",
75 ModelId::OllamaGemini3FlashPreviewCloud => "Gemini 3 Flash Preview (cloud)",
76 ModelId::OllamaMinimaxM2Cloud => "MiniMax-M2 (cloud)",
77 ModelId::OllamaMinimaxM27Cloud => "MiniMax-M2.7 (cloud)",
78 ModelId::OllamaGlm5Cloud => "GLM-5 (cloud)",
79 ModelId::OllamaGlm51Cloud => "GLM-5.1 (cloud)",
80 ModelId::OllamaMinimaxM25Cloud => "MiniMax-M2.5 (cloud)",
81 ModelId::OllamaKimiK26Cloud => "Kimi-K2.6 (cloud)",
82 ModelId::OllamaNemotron3SuperCloud => "Nemotron-3-Super (cloud)",
83 ModelId::OllamaLagunaXs2 => "Laguna XS.2 (local)",
84 ModelId::HuggingFaceDeepseekV32 => "DeepSeek V3.2 (HF)",
86 ModelId::HuggingFaceOpenAIGptOss20b => "GPT-OSS 20B (HF)",
87 ModelId::HuggingFaceOpenAIGptOss120b => "GPT-OSS 120B (HF)",
88 ModelId::HuggingFaceMinimaxM25Novita => "MiniMax-M2.5 (Novita)",
89 ModelId::HuggingFaceDeepseekV32Novita => "DeepSeek V3.2 (Novita)",
90 ModelId::HuggingFaceXiaomiMimoV2FlashNovita => "MiMo-V2-Flash (Novita)",
91 ModelId::HuggingFaceGlm5Novita => "GLM-5 (Novita)",
92 ModelId::HuggingFaceGlm51ZaiOrg => "GLM-5.1 (zai-org)",
93 ModelId::HuggingFaceQwen3CoderNextNovita => "Qwen3-Coder-Next (Novita)",
94 ModelId::HuggingFaceQwen35397BA17BTogether => "Qwen3.5-397B-A17B (Together)",
95 ModelId::HuggingFaceKimiK26Novita => "Kimi K2.6 (Novita)",
96 ModelId::HuggingFaceDeepseekV4FlashNovita => "DeepSeek V4 Flash (Novita)",
97 ModelId::HuggingFaceDeepseekV4ProTogether => "DeepSeek V4 Pro (Together)",
98 ModelId::HuggingFaceStep35Flash => "Step 3.5 Flash (HF)",
99 ModelId::OpenRouterMinimaxM25 => "MiniMax-M2.5 (OpenRouter)",
100 ModelId::OpenRouterQwen3CoderNext => "Qwen3-Coder-Next (OpenRouter)",
101 ModelId::OpenRouterMoonshotaiKimiK26 => "Kimi K2.6 (OpenRouter)",
102 ModelId::OpenRouterOpenAIGpt55 => "OpenAI GPT-5.5 (OpenRouter)",
103 ModelId::MinimaxM27 => "MiniMax-M2.7",
105 ModelId::MinimaxM25 => "MiniMax-M2.5",
106 ModelId::PoolsideLagunaM1 => "Laguna M.1",
108 ModelId::PoolsideLagunaXs2 => "Laguna XS.2",
109 ModelId::MoonshotKimiK26 => "Kimi K2.6 (Moonshot)",
111 ModelId::MoonshotKimiK25 => "Kimi K2.5 (Moonshot)",
112 ModelId::OpenCodeZenGPT54 => "GPT-5.4 (OpenCode Zen)",
114 ModelId::OpenCodeZenGPT54Mini => "GPT-5.4 Mini (OpenCode Zen)",
115 ModelId::OpenCodeZenClaudeSonnet46 => "Claude Sonnet 4.6 (OpenCode Zen)",
116 ModelId::OpenCodeZenGlm51 => "GLM-5.1 (OpenCode Zen)",
117 ModelId::OpenCodeZenKimiK25 => "Kimi K2.5 (OpenCode Zen)",
118 ModelId::OpenCodeGoGlm51 => "GLM-5.1 (OpenCode Go)",
120 ModelId::OpenCodeGoKimiK25 => "Kimi K2.5 (OpenCode Go)",
121 ModelId::OpenCodeGoMinimaxM25 => "MiniMax-M2.5 (OpenCode Go)",
122 ModelId::OpenCodeGoMinimaxM27 => "MiniMax-M2.7 (OpenCode Go)",
123 _ => unreachable!(),
125 }
126 }
127}