Skip to content

Add VSR CLI Support for Enhanced User Experience #234

@Xunzhuo

Description

@Xunzhuo

Is your feature request related to a problem? Please describe.

Currently, users need to manually manage complex deployment configurations, Docker Compose files, Kubernetes manifests, and configuration files to set up and operate the Semantic Router. This creates several pain points:

  • Complex Installation Process: Users must manually handle Docker images, Kubernetes deployments, and configuration files
  • Configuration Management: Editing YAML files directly is error-prone and requires deep knowledge of the system architecture
  • Deployment Complexity: Setting up local development, Docker Compose, or Kubernetes environments requires multiple manual steps
  • Debugging Difficulties: No unified way to validate configurations, check system status, or troubleshoot issues
  • Operational Overhead: Managing upgrades, monitoring, and maintenance requires manual intervention across multiple components

Describe the solution you'd like

Implement a comprehensive, user-friendly CLI tool named vsr (vLLM Semantic Router) that provides an interactive and intuitive interface for all Semantic Router operations. The CLI should support:

Installation & Setup Commands:

  • vsr install - Interactive installation wizard with deployment option selection (local, docker-compose, kubernetes)
  • vsr uninstall - Clean removal of all components with confirmation prompts
  • vsr init - Initialize a new project with template configurations
  • vsr upgrade - Seamless upgrade process with backup and rollback capabilities

Configuration Management:

  • vsr configure - Interactive configuration wizard for all settings (models, endpoints, classifiers, etc.)
  • vsr config validate - Comprehensive configuration validation with detailed error messages
  • vsr config show - Display current configuration in human-readable format
  • vsr config edit - Safe configuration editing with validation

Deployment & Operations:

  • vsr deploy - Deploy to target environment (local/docker-compose/kubernetes) with health checks
  • vsr status - Comprehensive system status including all components, health checks, and metrics
  • vsr logs - Unified log viewing across all components with filtering options
  • vsr restart - Graceful restart of services with dependency management

Development & Debugging:

  • vsr test - Run end-to-end tests and validation checks
  • vsr debug - Interactive debugging mode with component inspection
  • vsr dashboard - Launch monitoring dashboard (Grafana) with proper setup
  • vsr benchmark - Run performance benchmarks and generate reports

Model Management:

  • vsr models list - List available and installed models
  • vsr models download - Download required models with progress indicators
  • vsr models validate - Validate model integrity and compatibility

Advanced Features:

  • Interactive prompts with smart defaults
  • Configuration templates for common use cases
  • Automatic dependency checking and installation
  • Built-in health monitoring and alerting
  • Export/import configuration profiles
  • Integration with CI/CD pipelines

Additional context

Technical Implementation Considerations:

  • Build CLI tool named vsr in Go using the Cobra framework for command structure and Viper for configuration management
  • Leverage existing Go codebase and ensure cross-platform compatibility (Linux, macOS, Windows)
  • Implement progressive disclosure - simple commands for beginners, advanced options for power users
  • Include comprehensive help system with examples and troubleshooting guides
  • Support both interactive and non-interactive modes for automation and CI/CD integration

User Experience Goals:

  • Reduce setup time from hours to minutes
  • Eliminate need for manual YAML editing for common configurations
  • Provide clear error messages with actionable solutions
  • Enable one-command deployment across different environments
  • Offer guided troubleshooting for common issues

Integration Points:

  • Leverage existing Docker Compose and Kubernetes manifests
  • Integrate with current configuration system (config.yaml, tools_db.json)
  • Utilize existing health check endpoints and metrics
  • Connect with Grafana dashboard and Prometheus monitoring

This CLI will significantly lower the barrier to entry for new users while providing power users with efficient operational tools, ultimately improving adoption and reducing support overhead.

/area user-experience core environment
/milestone v0.1
/priority P1

Metadata

Metadata

Assignees

Type

No type

Projects

Status

In progress

Relationships

None yet

Development

No branches or pull requests

Issue actions