https://github.com/GetSoloTech/solo-cli
CLI for Physical AI Skill Models
https://github.com/GetSoloTech/solo-cli
ai meta model-deployment nebius nvidia physical-ai physical-ai-chatbot physical-ai-humanoid-robotics physical-ai-robotics vla vlm wam
Last synced: 28 days ago
JSON representation
CLI for Physical AI Skill Models
- Host: GitHub
- URL: https://github.com/GetSoloTech/solo-cli
- Owner: GetSoloTech
- License: apache-2.0
- Created: 2024-06-30T00:29:18.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2026-04-11T04:18:15.000Z (2 months ago)
- Last Synced: 2026-04-11T05:35:04.328Z (2 months ago)
- Topics: ai, meta, model-deployment, nebius, nvidia, physical-ai, physical-ai-chatbot, physical-ai-humanoid-robotics, physical-ai-robotics, vla, vlm, wam
- Language: Python
- Homepage: https://getsolo.tech/
- Size: 148 MB
- Stars: 288
- Watchers: 7
- Forks: 40
- Open Issues: 24
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
- awesome-llm-services - Solo CLI
README
# Solo CLI
[](https://www.python.org/downloads/)
[](https://opensource.org/license/apache-2-0)
[](https://pypi.org/project/solo-cli/)
[](https://github.com/GetSoloTech/solo-cli)
[](https://github.com/GetSoloTech/solo-cli)
**Fastest way to deploy Physical AI on your hardware**
Simple CLI for Physical AI:
*Fine-tune and serve models in the physical world; optimized for edge & on-device operations*
---
Solo-CLI powers users of Physical AI Inference by providing access to efficiency tuned AI models in the real world. From language to vision to action models, Solo-CLI allows you to interact with cutting-edge, on-device AI directly within the terminal. It is tailored for context aware intelligence, specialized for mission-critical tasks, and tuned for the edge.
---
> [!TIP]
> **Skip the terminal entirely.** Rather than running setup commands yourself, tell an AI agent what you want and it handles everything — calibration, teleop, recording, training. Install the OpenClaw skills and use them in plain conversation:
>
> | Skill | What it does | Install |
> |---|---|---|
> | [`solo-cli-guide`](https://clawhub.ai/skills/solo-cli-guide) | Step-by-step tutor — walks you through each command, waits for your confirmation | `clawhub install solo-cli-guide` |
> | [`solo-impl`](https://clawhub.ai/skills/solo-impl) | Autonomous executor — runs every command for you, opens terminal windows automatically | `clawhub install solo-impl` |
>
> Requires [OpenClaw](https://openclaw.ai). For a straightforward manual setup, follow the guide below.
---
## Installation
### Prerequisites
Git LFS (required)
Solo-CLI depends on [solo-bot](https://github.com/GetSoloTech/solo-bot) which uses Git LFS. If you haven't installed it before:
```bash
# Mac
brew install git-lfs
# Ubuntu / Debian
sudo apt-get install git-lfs
# Windows (pick one)
winget install GitHub.GitLFS
```
Then run once:
```bash
git lfs install
```
uv package manager (recommended)
```bash
# Mac & Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows Powershell
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
```
### Setup
```bash
# Create and activate a uv virtual environment (Python 3.12 recommended)
uv venv --python 3.12
source .venv/bin/activate # Windows: .venv\Scripts\activate
```
### Install
```bash
git clone https://github.com/GetSoloTech/solo-cli.git
cd solo-cli
uv pip install -e .
```
## Solo Commands:
```bash
solo --help
╭─ Commands ────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ setup Set up Solo CLI environment with interactive prompts and saves configuration to config.json. │
│ login Authenticate with Solo Hub using device-code login flow. │
│ whoami Display current user profile, organization, and subscription info. │
│ download Download a model from Solo Hub (format: org/model_name or solo:org/model_name). │
│ robo Robotics operations: motor setup, calibration, teleoperation, data recording, training, and inference │
│ serve Start a model server with the specified model. │
│ status Check running models, system status, and configuration. │
│ list List all downloaded models available in HuggingFace cache and Ollama. │
│ test Test if the Solo CLI is running correctly. Performs an inference test to verify server functionality. │
│ stop Stops Solo CLI services. You can specify a server type with 'ollama', 'vllm', or 'llama.cpp' │
│ Otherwise, all Solo services will be stopped. │
╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
```
## Solo Hub - Authentication and Model Downloads
```bash
# Authenticate with Solo Hub
solo login
# Force re-authentication
solo login --force
# Check your profile and subscription
solo whoami
# Download a model from Solo Hub
solo download org/model_name
# Download to a specific local directory
solo download org/model_name --local-dir ./my-models
```
## Interactive CLI for Robots
**Find more details here: [Solo Robo Docs](solo/commands/robots/lerobot/README.md)**
```bash
# Calibrate -> Teleop
solo robo --calibrate all
solo robo --teleop
# Record a new local dataset with prompts
solo robo --record
# Train ACT or SmolVLA Policy on a recorded dataset and push to Hub
solo robo --train
# Inference with VLA
solo robo --inference
# Replay a recorded action/episode
solo robo --replay
# Use -y or --yes to auto-use saved settings (skip prompts)
solo robo --teleop -y
solo robo --record --yes
```
## Interactive CLI for Local AI Deployment
```bash
# Note that you will need Docker for solo serve
solo setup
solo serve --server ollama --model llama3.2:1b
```
## API Reference
Find more details here: OpenAI -> [OpenAI API Docs](https://platform.openai.com/docs/api-reference/introduction) Ollama -> [Ollama API Docs](https://docs.ollama.com/api)
### vLLM & llama.cpp (OpenAI Compatible)
```bash
# Chat request endpoint
curl http://localhost:5070/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "llama3.2",
"messages": [{"role": "user", "content": "Analyze sensor data"}],
"tools": [{"type": "mcp", "name": "VitalSignsMCP"}]
}'
```
### Ollama
```bash
# Chat request endpoint
curl http://localhost:5070/api/chat -d '{
"model": "llama3.2",
"messages": [
{
"role": "user",
"content": "why is the sky blue?"
}
]
}'
```
## Configuration
Navigate to config file
`.solo/config.json`
```json
{
"hardware": {
"use_gpu": false,
"cpu_model": "Apple M3",
"cpu_cores": 8,
"memory_gb": 16.0,
"gpu_vendor": "None",
"gpu_model": "None",
"gpu_memory": 0,
"compute_backend": "CPU",
"os": "Darwin"
},
"user": {
"domain": "Software",
"role": "Full-Stack Developer"
},
"server": {
"type": "ollama",
"ollama": {
"default_port": 5070
}
},
"active_model": {
"server": "ollama",
"name": "llama3.2:1b",
"full_model_name": "llama3.2:1b",
"port": 5070,
"last_used": "2025-10-09 11:30:06"
}
}
```
## Contributing
1. Fork the repository
2. Create feature branch (`git checkout -b feature/name`)
3. Commit changes (`git commit -m 'Add feature'`)
4. Push to branch (`git push origin feature/name`)
5. Open Pull Request