vtcode_config/models/model_id/
defaults.rs1use crate::models::Provider;
2
3use super::ModelId;
4
5impl ModelId {
6 pub fn fallback_models() -> Vec<ModelId> {
8 vec![
9 ModelId::Gemini3FlashPreview,
10 ModelId::GPT52,
11 ModelId::GPT5,
12 ModelId::OpenAIGptOss20b,
13 ModelId::ClaudeOpus47,
14 ModelId::ClaudeOpus46,
15 ModelId::ClaudeSonnet46,
16 ModelId::DeepSeekV4Pro,
17 ModelId::ZaiGlm5,
18 ]
19 }
20
21 pub fn default_model() -> Self {
23 ModelId::Gemini3FlashPreview
24 }
25
26 pub fn default_orchestrator() -> Self {
28 ModelId::Gemini31ProPreview
29 }
30
31 pub fn default_orchestrator_for_provider(provider: Provider) -> Self {
33 match provider {
34 Provider::Gemini => ModelId::Gemini31ProPreview,
35 Provider::OpenAI => ModelId::GPT5,
36 Provider::Anthropic => ModelId::ClaudeOpus47,
37 Provider::Copilot => ModelId::CopilotAuto,
38 Provider::Minimax => ModelId::MinimaxM27,
39 Provider::MiMo => ModelId::MiMoV25Pro,
40 Provider::Mistral => ModelId::MistralLarge3,
41 Provider::DeepSeek => ModelId::DeepSeekV4Pro,
42 Provider::HuggingFace => ModelId::HuggingFaceOpenAIGptOss120b,
43 Provider::Moonshot => ModelId::MoonshotKimiK26,
44 Provider::OpenRouter => ModelId::OpenRouterQwen3Coder,
45 Provider::Ollama => ModelId::OllamaGptOss20b,
46 Provider::LmStudio => ModelId::GPT5,
47 Provider::ZAI => ModelId::ZaiGlm5,
48 Provider::OpenCodeZen => ModelId::OpenCodeZenGPT54,
49 Provider::OpenCodeGo => ModelId::OpenCodeGoKimiK25,
50 Provider::Qwen => ModelId::Qwen37Max,
51 }
52 }
53
54 pub fn default_single_for_provider(provider: Provider) -> Self {
56 match provider {
57 Provider::Gemini => ModelId::Gemini3FlashPreview,
58 Provider::OpenAI => ModelId::GPT5,
59 Provider::Anthropic => ModelId::ClaudeOpus47,
60 Provider::Copilot => ModelId::CopilotAuto,
61 Provider::Minimax => ModelId::MinimaxM27,
62 Provider::MiMo => ModelId::MiMoV25Pro,
63 Provider::Mistral => ModelId::MistralLarge3,
64 Provider::DeepSeek => ModelId::DeepSeekV4Pro,
65 Provider::HuggingFace => ModelId::HuggingFaceOpenAIGptOss120b,
66 Provider::Moonshot => ModelId::MoonshotKimiK26,
67 Provider::OpenRouter => ModelId::OpenRouterQwen3Coder,
68 Provider::Ollama => ModelId::OllamaGptOss20b,
69 Provider::LmStudio => ModelId::GPT5,
70 Provider::ZAI => ModelId::ZaiGlm5,
71 Provider::OpenCodeZen => ModelId::OpenCodeZenGPT54,
72 Provider::OpenCodeGo => ModelId::OpenCodeGoKimiK25,
73 Provider::Qwen => ModelId::Qwen36Plus,
74 }
75 }
76}