vtcode_core/cli/args/models.rs
1use clap::Subcommand;
2
3/// Model management commands with concise, actionable help
4#[derive(Subcommand, Debug, Clone)]
5pub enum ModelCommands {
6 /// List all providers and models with status indicators
7 List,
8
9 /// Set default provider (gemini, openai, anthropic, deepseek, meta, openrouter, merge-gateway)
10 #[command(name = "set-provider")]
11 SetProvider {
12 /// Provider name to set as default
13 provider: String,
14 },
15
16 /// Set default model (e.g., deepseek-reasoner, gpt-5, claude-sonnet-4-6)
17 #[command(name = "set-model")]
18 SetModel {
19 /// Model name to set as default
20 model: String,
21 },
22
23 /// Configure provider settings (API keys, base URLs, models)
24 Config {
25 /// Provider name to configure
26 provider: String,
27
28 /// API key for the provider
29 #[arg(long)]
30 api_key: Option<String>,
31
32 /// Base URL for local providers
33 #[arg(long)]
34 base_url: Option<String>,
35
36 /// Default model for this provider
37 #[arg(long)]
38 model: Option<String>,
39 },
40
41 /// Test provider connectivity and validate configuration
42 Test {
43 /// Provider name to test
44 provider: String,
45 },
46
47 /// Compare model performance across providers (coming soon)
48 Compare,
49
50 /// Show detailed model information and specifications
51 Info {
52 /// Model name to get information about
53 model: String,
54 },
55}