1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
//! Model management command arguments
use clap::Subcommand;
/// AI model management operations
#[derive(Subcommand, Debug)]
pub enum ModelsCommand {
/// List all models in the catalog
List {
/// Show detailed information
#[arg(short, long)]
verbose: bool,
/// Show only recommended models
#[arg(short, long)]
recommended: bool,
},
/// Download a model from the catalog
Pull {
/// Model name from catalog (e.g., "yolov8n")
name: Option<String>,
/// Download all recommended models
#[arg(long)]
all: bool,
/// Custom HuggingFace repository (e.g., "Xenova/yolov8n")
#[arg(long, requires = "file")]
repo: Option<String>,
/// File name within the repo (e.g., "onnx/model.onnx")
#[arg(long, requires = "repo")]
file: Option<String>,
/// Custom model name for saving (required with --repo)
#[arg(long, requires = "repo")]
custom_name: Option<String>,
},
/// List installed models
Installed {
/// Show detailed information including paths
#[arg(short, long)]
verbose: bool,
},
/// Remove an installed model
Remove {
/// Model name to remove
name: String,
/// Skip confirmation prompt
#[arg(short = 'y', long)]
yes: bool,
},
/// Show information about a model
Info {
/// Model name
name: String,
},
}