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::ClaudeOpus48,
14 ModelId::ClaudeOpus47,
15 ModelId::ClaudeOpus46,
16 ModelId::ClaudeSonnet46,
17 ModelId::DeepSeekV4Pro,
18 ModelId::ZaiGlm5,
19 ]
20 }
21
22 pub fn default_model() -> Self {
24 ModelId::Gemini3FlashPreview
25 }
26
27 pub fn default_orchestrator() -> Self {
29 ModelId::Gemini31ProPreview
30 }
31
32 pub fn default_orchestrator_for_provider(provider: Provider) -> Self {
34 match provider {
35 Provider::Gemini => ModelId::Gemini31ProPreview,
36 Provider::OpenAI => ModelId::GPT5,
37 Provider::Anthropic => ModelId::ClaudeOpus48,
38 Provider::Copilot => ModelId::CopilotAuto,
39 Provider::Minimax => ModelId::MinimaxM27,
40 Provider::MiMo => ModelId::MiMoV25Pro,
41 Provider::Mistral => ModelId::MistralLarge3,
42 Provider::DeepSeek => ModelId::DeepSeekV4Pro,
43 Provider::HuggingFace => ModelId::HuggingFaceOpenAIGptOss120b,
44 Provider::Moonshot => ModelId::MoonshotKimiK26,
45 Provider::OpenRouter => ModelId::OpenRouterQwen3Coder,
46 Provider::Ollama => ModelId::OllamaGptOss20b,
47 Provider::LmStudio => ModelId::GPT5,
48 Provider::ZAI => ModelId::ZaiGlm5,
49 Provider::OpenCodeZen => ModelId::OpenCodeZenGPT54,
50 Provider::OpenCodeGo => ModelId::OpenCodeGoKimiK25,
51 Provider::Qwen => ModelId::Qwen37Max,
52 Provider::StepFun => ModelId::StepFun37Flash,
53 Provider::Poolside => ModelId::PoolsideLagunaM1,
54 }
55 }
56
57 pub fn default_single_for_provider(provider: Provider) -> Self {
59 match provider {
60 Provider::Gemini => ModelId::Gemini3FlashPreview,
61 Provider::OpenAI => ModelId::GPT5,
62 Provider::Anthropic => ModelId::ClaudeOpus47,
63 Provider::Copilot => ModelId::CopilotAuto,
64 Provider::Minimax => ModelId::MinimaxM27,
65 Provider::MiMo => ModelId::MiMoV25Pro,
66 Provider::Mistral => ModelId::MistralLarge3,
67 Provider::DeepSeek => ModelId::DeepSeekV4Pro,
68 Provider::HuggingFace => ModelId::HuggingFaceOpenAIGptOss120b,
69 Provider::Moonshot => ModelId::MoonshotKimiK26,
70 Provider::OpenRouter => ModelId::OpenRouterQwen3Coder,
71 Provider::Ollama => ModelId::OllamaGptOss20b,
72 Provider::LmStudio => ModelId::GPT5,
73 Provider::ZAI => ModelId::ZaiGlm5,
74 Provider::OpenCodeZen => ModelId::OpenCodeZenGPT54,
75 Provider::OpenCodeGo => ModelId::OpenCodeGoKimiK25,
76 Provider::Qwen => ModelId::Qwen36Plus,
77 Provider::StepFun => ModelId::StepFun37Flash,
78 Provider::Poolside => ModelId::PoolsideLagunaXs2,
79 }
80 }
81}