Skip to main content

vtcode_config/models/model_id/
display.rs

1use super::ModelId;
2
3impl ModelId {
4    /// Get the display name for the model (human-readable)
5    pub fn display_name(&self) -> &'static str {
6        if let Some(meta) = self.openrouter_metadata() {
7            return meta.display;
8        }
9        match self {
10            // Gemini models
11            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            // OpenAI models
16            ModelId::GPT55 => "GPT-5.5",
17            ModelId::GPT54 => "GPT-5.4",
18            ModelId::GPT54Pro => "GPT-5.4 Pro",
19            ModelId::GPT54Nano => "GPT-5.4 Nano",
20            ModelId::GPT54Mini => "GPT-5.4 Mini",
21            ModelId::GPT53Codex => "GPT-5.3 Codex",
22            ModelId::OpenAIGptOss20b => "GPT-OSS 20B",
23            ModelId::OpenAIGptOss120b => "GPT-OSS 120B",
24            // Anthropic models
25            ModelId::ClaudeOpus48 => "Claude Opus 4.8",
26            ModelId::ClaudeSonnet46 => "Claude Sonnet 4.6",
27            ModelId::ClaudeHaiku45 => "Claude Haiku 4.5",
28            ModelId::ClaudeMythosPreview => "Claude Mythos Preview",
29            ModelId::CopilotAuto => "GitHub Copilot Auto",
30            ModelId::CopilotGPT52Codex => "GitHub Copilot GPT-5.2 Codex",
31            ModelId::CopilotGPT51CodexMax => "GitHub Copilot GPT-5.1 Codex Max",
32            ModelId::CopilotGPT54 => "GitHub Copilot GPT-5.4",
33            ModelId::CopilotGPT54Mini => "GitHub Copilot GPT-5.4 Mini",
34            ModelId::CopilotClaudeSonnet46 => "GitHub Copilot Claude Sonnet 4.6",
35            // DeepSeek models
36            ModelId::DeepSeekV4Pro => "DeepSeek V4 Pro",
37            ModelId::DeepSeekV4Flash => "DeepSeek V4 Flash",
38            // Mistral models
39            ModelId::MistralLarge3 => "Mistral Large 3",
40            // MiMo models
41            ModelId::MiMoV25Pro => "MiMo V2.5 Pro",
42            ModelId::MiMoV25 => "MiMo V2.5",
43            // Z.AI models
44            ModelId::ZaiGlm5 => "GLM 5",
45            ModelId::ZaiGlm51 => "GLM 5.1",
46            // Qwen models
47            ModelId::Qwen37Max => "Qwen 3.7 Max",
48            ModelId::Qwen36Flash => "Qwen 3.6 Flash",
49            ModelId::Qwen36Plus => "Qwen 3.6 Plus",
50            ModelId::QwenDeepSeekV4Flash => "DeepSeek V4 Flash (Qwen)",
51            ModelId::QwenDeepSeekV4Pro => "DeepSeek V4 Pro (Qwen)",
52            ModelId::QwenGlm51 => "GLM-5.1 (Qwen)",
53            // Ollama models
54            ModelId::OllamaGptOss20b => "GPT-OSS 20B (local)",
55            ModelId::OllamaGptOss20bCloud => "GPT-OSS 20B (cloud)",
56            ModelId::OllamaGptOss120bCloud => "GPT-OSS 120B (cloud)",
57            ModelId::OllamaQwen317b => "Qwen3 1.7B (local)",
58            ModelId::OllamaQwen3CoderNext => "Qwen3-Coder-Next (cloud)",
59            ModelId::OllamaDeepseekV4FlashCloud => "DeepSeek V4 Flash (cloud)",
60            ModelId::OllamaDeepseekV4ProCloud => "DeepSeek V4 Pro (cloud)",
61            ModelId::OllamaQwen3Next80bCloud => "Qwen3 Next 80B (cloud)",
62            ModelId::OllamaGemini3FlashPreviewCloud => "Gemini 3 Flash Preview (cloud)",
63            ModelId::OllamaMinimaxM2Cloud => "MiniMax-M2 (cloud)",
64            ModelId::OllamaMinimaxM27Cloud => "MiniMax-M2.7 (cloud)",
65            ModelId::OllamaGlm5Cloud => "GLM-5 (cloud)",
66            ModelId::OllamaGlm51Cloud => "GLM-5.1 (cloud)",
67            ModelId::OllamaMinimaxM25Cloud => "MiniMax-M2.5 (cloud)",
68            ModelId::OllamaKimiK26Cloud => "Kimi-K2.6 (cloud)",
69            ModelId::OllamaNemotron3SuperCloud => "Nemotron-3-Super (cloud)",
70            ModelId::OllamaLagunaXs2 => "Laguna XS.2 (local)",
71            ModelId::LlamaCppQwen3627b => "Qwen 3.6 27B (llama.cpp)",
72            ModelId::LlamaCppQwen3635bA3b => "Qwen 3.6 35B A3B (llama.cpp)",
73            ModelId::LlamaCppGemma426bA4b => "Gemma 4 26B A4B (llama.cpp)",
74            ModelId::LlamaCppGemma4E4b => "Gemma 4 E4B (llama.cpp)",
75            ModelId::LlamaCppGptOss20b => "GPT-OSS 20B (llama.cpp)",
76            ModelId::LlamaCppStep35Flash => "Step 3.5 Flash (llama.cpp)",
77            // Hugging Face models
78            ModelId::HuggingFaceOpenAIGptOss20b => "GPT-OSS 20B (HF)",
79            ModelId::HuggingFaceOpenAIGptOss120b => "GPT-OSS 120B (HF)",
80            ModelId::HuggingFaceMinimaxM25Novita => "MiniMax-M2.5 (Novita)",
81            ModelId::HuggingFaceGlm5Novita => "GLM-5 (Novita)",
82            ModelId::HuggingFaceGlm51ZaiOrg => "GLM-5.1 (zai-org)",
83            ModelId::HuggingFaceQwen3CoderNextNovita => "Qwen3-Coder-Next (Novita)",
84            ModelId::HuggingFaceQwen35397BA17BTogether => "Qwen3.5-397B-A17B (Together)",
85            ModelId::HuggingFaceKimiK26Novita => "Kimi K2.6 (Novita)",
86            ModelId::HuggingFaceDeepseekV4FlashNovita => "DeepSeek V4 Flash (Novita)",
87            ModelId::HuggingFaceDeepseekV4ProTogether => "DeepSeek V4 Pro (Together)",
88            ModelId::HuggingFaceStep35Flash => "Step 3.5 Flash (HF)",
89            ModelId::HuggingFaceGlm51Deepinfra => "GLM-5.1 (DeepInfra)",
90            ModelId::HuggingFaceMinimaxM27Novita => "MiniMax-M2.7 (Novita)",
91            ModelId::HuggingFaceDeepseekV4ProNovita => "DeepSeek V4 Pro (Novita)",
92            ModelId::StepFun37Flash => "Step 3.7 Flash",
93            ModelId::OpenRouterMinimaxM25 => "MiniMax-M2.5 (OpenRouter)",
94            ModelId::OpenRouterQwen3CoderNext => "Qwen3-Coder-Next (OpenRouter)",
95            ModelId::OpenRouterMoonshotaiKimiK26 => "Kimi K2.6 (OpenRouter)",
96            ModelId::OpenRouterZaiGlm51 => "GLM-5.1 (OpenRouter)",
97            ModelId::OpenRouterOpenAIGpt55 => "OpenAI GPT-5.5 (OpenRouter)",
98            // OpenRouter models
99            ModelId::MinimaxM27 => "MiniMax-M2.7",
100            ModelId::MinimaxM25 => "MiniMax-M2.5",
101            // Poolside models
102            ModelId::PoolsideLagunaM1 => "Laguna M.1",
103            ModelId::PoolsideLagunaXs2 => "Laguna XS.2",
104            // Moonshot models
105            ModelId::MoonshotKimiK26 => "Kimi K2.6 (Moonshot)",
106            // OpenCode Zen models
107            ModelId::OpenCodeZenGPT54 => "GPT-5.4 (OpenCode Zen)",
108            ModelId::OpenCodeZenGPT54Mini => "GPT-5.4 Mini (OpenCode Zen)",
109            ModelId::OpenCodeZenClaudeSonnet46 => "Claude Sonnet 4.6 (OpenCode Zen)",
110            ModelId::OpenCodeZenGlm51 => "GLM-5.1 (OpenCode Zen)",
111            // OpenCode Go models
112            ModelId::OpenCodeGoGlm51 => "GLM-5.1 (OpenCode Go)",
113            ModelId::OpenCodeGoMinimaxM25 => "MiniMax-M2.5 (OpenCode Go)",
114            ModelId::OpenCodeGoMinimaxM27 => "MiniMax-M2.7 (OpenCode Go)",
115            // OpenRouter models
116            _ => unreachable!(),
117        }
118    }
119}