$ show GetSoloTech/solo-cli
The solo-cli is a command-line tool designed to deploy and manage Physical AI systems on local hardware. It integrates functionalities for serving large language models (via Ollama, vLLM, or llama.cpp), controlling robotic arms (through the LeRobot framework), authenticating with a custom model hub (Solo Hub), and fine-tuning models using external datasets. The application features a modular command structure with lazy-loaded dependencies to optimize startup time, cross-platform hardware detection for automated backend selection, and a layered configuration system. Additional utilities include Docker management, system information gathering, and filesystem-safe string handling for robotics data operations. The project also includes example implementations of Model Context Protocol (MCP) servers for various domains, demonstrating how to extend the CLI's capabilities for specialized AI workflows.
The LLM identified 3 files worth highlighting for reuse:
Provides a function to sanitize strings for safe use as file or directory names by removing or replacing invalid characters. This solves a common problem when saving user-generated content (like AI prompts) to a filesystem. The function is self-contained with no internal dependencies, making it easily extractable to any project needing filesystem-safe strings.
Implements a lazy-loading pattern for CLI commands where heavy dependencies (like torch, LeRobot) are only imported when a command is invoked. This significantly improves startup time by avoiding unnecessary imports. The pattern is simple, self-contained, and can be applied to any Typer-based CLI framework with minimal modification.
Detects system hardware specifications including CPU, memory, disk, and GPU information across platforms (Windows, Linux, macOS). While it includes GPU-specific logic (NVIDIA, AMD, Apple), the core functions for CPU, memory, and disk are independent and reusable. The module demonstrates cross-platform hardware detection with graceful fallbacks for unavailable components.