You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This PR revamps the user-facing ov CLI setup and diagnostic experience. The main change is replacing the old ov config setup-cli flow with a guided ov config config manager that supports adding, editing, and deleting saved configs while preserving the existing ov config show, ov config validate, and ov config switch command semantics.
The PR also improves adjacent CLI surfaces so users have a consistent path from setup to validation and day-to-day operation: curated help output, cleaner error reporting, styled health/status views, and updated CLI setup documentation in English and Chinese.
Related Issue
N/A
Type of Change
Bug fix (non-breaking change that fixes an issue)
New feature (non-breaking change that adds functionality)
Breaking change (fix or feature that would cause existing functionality to not work as expected)
Documentation update
Refactoring (no functional changes)
Test update
Changes Made
Replaced ov config setup-cli with an interactive ov config flow for add/edit/delete config management.
Added a backward-compatible config store layer for saved ovcli.conf.<name> configs, active config detection, safe deletion rules, and redacted config display.
Added validation-aware setup behavior for Volcengine Cloud and Self-Managed configs, including API-key validation and local no-key identity prompts.
Improved ov config validate and ov config switch with clearer terminal UI, validation before activation, and safer cancellation/back behavior.
Added styled output for ov health, default ov status, CLI error messages, top-level ov --help, and selected command/group help screens.
Added English and Chinese CLI setup docs and updated existing docs/README references from ov config setup-cli to ov config.
Testing
I have added tests that prove my fix is effective or that my feature works
New and existing unit tests pass locally with my changes
I have tested this on the following platforms:
Linux
macOS
Windows
Commands run locally:
cargo test -p ov_cli
cargo build -p ov_cli
npm --prefix docs run docs:build
git diff --check
git diff --cached --check
Checklist
My code follows the project's coding style
I have performed a self-review of my code
I have commented my code, particularly in hard-to-understand areas
I have made corresponding changes to the documentation
My changes generate no new warnings
Any dependent changes have been merged and published
The health function in commands/system.rs now takes an Option<&Config> parameter. Ensure the call to commands::system::health in handlers::handle_health passes the config from the context.
Reduce redundant active config file reads when listing configs
Load the active config once before the loop instead of once per config entry. This reduces redundant file reads from O(N) to O(1) when listing configs.
pub fn list_configs(&self) -> Result<Vec<ConfigEntry>> {
let mut configs = Vec::new();
if !self.config_dir.exists() {
return Ok(configs);
}
++ let active_config = self.load_active()?;
for entry in fs::read_dir(&self.config_dir)? {
let entry = entry?;
let path = entry.path();
if !path.is_file() {
continue;
}
let Some(filename) = path.file_name().and_then(|value| value.to_str()) else {
continue;
};
let Some(name) = filename.strip_prefix("ovcli.conf.") else {
continue;
};
if name == "bak" || validate_config_name(name).is_err() {
continue;
}
let Ok(config) = Config::from_file(&path.to_string_lossy()) else {
continue;
};
+ let is_active = if let Some(active) = &active_config {+ configs_equivalent(active, &config)?+ } else {+ false+ };+
configs.push(ConfigEntry {
name: name.to_string(),
- is_active: self.is_config_active(&config)?,+ is_active,
kind: ConfigKind::from_config(&config),
config,
});
}
configs.sort_by(|left, right| left.name.cmp(&right.name));
normalize_active_config(&mut configs);
Ok(configs)
}
Suggestion importance[1-10]: 6
__
Why: The suggestion correctly identifies a redundant file I/O pattern where the active config is loaded once per config entry. Pre-loading the active config once reduces this to a single read, improving performance without changing functionality. The implementation is accurate and maintains the same logic.
Low
ehz0ah
changed the title
Improve ov CLI configuration UX
Revamp ov CLI configuration, help, and diagnostics UX
May 22, 2026
ehz0ah
changed the title
Revamp ov CLI configuration, help, and diagnostics UX
fix(cli): Improve OV CLI UX
May 22, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
This PR revamps the user-facing
ovCLI setup and diagnostic experience. The main change is replacing the oldov config setup-cliflow with a guidedov configconfig manager that supports adding, editing, and deleting saved configs while preserving the existingov config show,ov config validate, andov config switchcommand semantics.The PR also improves adjacent CLI surfaces so users have a consistent path from setup to validation and day-to-day operation: curated help output, cleaner error reporting, styled health/status views, and updated CLI setup documentation in English and Chinese.
Related Issue
N/A
Type of Change
Changes Made
ov config setup-cliwith an interactiveov configflow for add/edit/delete config management.ovcli.conf.<name>configs, active config detection, safe deletion rules, and redacted config display.ov config validateandov config switchwith clearer terminal UI, validation before activation, and safer cancellation/back behavior.ov health, defaultov status, CLI error messages, top-levelov --help, and selected command/group help screens.ov config setup-clitoov config.Testing
Commands run locally:
cargo test -p ov_cli cargo build -p ov_cli npm --prefix docs run docs:build git diff --check git diff --cached --checkChecklist