feat: v0.7.0 — registre de providers LLM : am providers list/show/add/remove/default, settings.providers + default_provider (closes #88)
This commit is contained in:
+45
@@ -192,6 +192,8 @@ pub enum Command {
|
||||
/// Manage remote catalogs: update the official one, add external ones
|
||||
#[command(subcommand)]
|
||||
Catalog(CatalogCmd),
|
||||
/// Manage the LLM provider registry: base URLs, models, default provider
|
||||
Providers(ProviderArgs),
|
||||
/// Suggest agents matching a query, boosted by real usage (issue #61)
|
||||
Suggest {
|
||||
/// Free-form request ("un agent pour du Python")
|
||||
@@ -634,6 +636,49 @@ pub enum CatalogCmd {
|
||||
List,
|
||||
}
|
||||
|
||||
/// LLM provider registry subcommands (issue #88). The subcommand is
|
||||
/// optional: `am providers` alone lists the registry.
|
||||
#[derive(Args, Debug, Clone, Default)]
|
||||
pub struct ProviderArgs {
|
||||
#[command(subcommand)]
|
||||
pub sub: Option<ProvidersCmd>,
|
||||
}
|
||||
|
||||
#[derive(Subcommand, Debug, Clone)]
|
||||
pub enum ProvidersCmd {
|
||||
/// List the registered providers (the default one is starred)
|
||||
List,
|
||||
/// Show one provider in detail (base URL, models, default model)
|
||||
Show {
|
||||
/// Provider name
|
||||
name: String,
|
||||
},
|
||||
/// Register a provider, or update an existing one
|
||||
Add {
|
||||
/// Provider name (lowercase slug, e.g. openai)
|
||||
name: String,
|
||||
/// Base URL of the provider API
|
||||
#[arg(long, value_name = "URL", required = true)]
|
||||
base_url: String,
|
||||
/// Model used by default for this provider
|
||||
#[arg(long, value_name = "MODEL")]
|
||||
model: Option<String>,
|
||||
/// Comma-separated model list
|
||||
#[arg(long, value_name = "MODELS")]
|
||||
models: Option<String>,
|
||||
},
|
||||
/// Remove a provider from the registry
|
||||
Remove {
|
||||
/// Provider name
|
||||
name: String,
|
||||
},
|
||||
/// Set the default provider
|
||||
Default {
|
||||
/// Provider name
|
||||
name: String,
|
||||
},
|
||||
}
|
||||
|
||||
/// Environment profile subcommands (issue #40).
|
||||
#[derive(Subcommand, Debug, Clone)]
|
||||
pub enum ProfileCmd {
|
||||
|
||||
Reference in New Issue
Block a user