Skip to content

CLI command surface

reflex chat # natural-language interface to every command below
reflex go # one-command-deploy: probe → resolve → pull → serve
reflex serve # explicit-config server (full flag surface)
reflex doctor # diagnose env + GPU + per-deploy issues
reflex models {list, pull, info, export} # curated registry + lifecycle
reflex train {finetune, distill} # training operations
reflex validate {dataset, export} # pre-flight checks
reflex inspect {bench, replay, targets, guard, doctor} # diagnostics + forensics
reflex eval # LIBERO benchmark on Modal
reflex replay # replay a recorded trace against a model
reflex bench # microbenchmarks for a single export
reflex traces # list and inspect recorded traces
reflex ros2-serve # ROS2 transport (legacy alias for serve --transport ros2)
reflex export # legacy alias — use `reflex models export` going forward
reflex report # Pro-tier weekly auto-distill report
reflex rollback # Pro-tier manual rollback
reflex pro # Pro license + consent management

Hidden legacy commands (export, bench, replay, etc.) stay callable for one release as alias bridges. Removed in v0.3.

Top-level flags (apply to every subcommand)

Section titled “Top-level flags (apply to every subcommand)”
FlagPurpose
--versionPrint version + exit
--helpShow help for any subcommand
--verbose / -vIncrease log level (repeatable: -vv, -vvv)
--quiet / -qErrors only
--output-jsonEmit machine-readable JSON instead of human output (where applicable)
--no-colorDisable ANSI color codes

One-command deploy. See Deploy a model in one command.

reflex go --model <hf_id> [--embodiment <name>] [--device-class <target>]

Full-flag-surface server. See serve — runtime + safety for the wedge composition.

reflex serve <export_dir> [--port 8000] [--host 0.0.0.0]
[--embodiment <name>] [--safety-config <path>]
[--cuda-graphs] [--auto-calibrate]
[--slo p99=150ms] [--slo-mode {log_only,503,degrade}]
[--robot-id <id>]
[--policy-a <path> --policy-b <path> --split <int> --no-rtc]
[--a2c2-checkpoint <path>]
[--mcp --mcp-transport {stdio,http} --mcp-port 8001]
[--otel-endpoint <url> --otel-sample 1.0]
[--record <dir> --record-images {full,hash_only,none}]
[--max-batch-cost-ms 100] [--batch-timeout-ms 5]
[--max-consecutive-crashes 5]
[--cloud-fallback <url>]
[--inject-latency-ms 0]
[--adaptive-steps]
[--deadline-ms <int>]
reflex doctor [--model <export_dir>] [--format {text,json}] [--show-calibration]

10 falsifiable checks. See reflex doctor.

SubcommandPurpose
reflex models listBrowse the curated registry
reflex models info <id>Show benchmarks + supported targets for a specific model
reflex models pull <id>Download weights from HuggingFace
reflex models export <id> --target <target> --output <dir>Export to ONNX + validate parity
SubcommandPurpose
reflex train finetune <export_dir> --data <path>LoRA fine-tune on customer data
reflex train distill <teacher_export> --output <student_dir>SnapFlow 1-step distillation
SubcommandPurpose
reflex validate dataset <path> [--strict] [--embodiment <name>]8 falsifiable checks against a LeRobot v3.0 corpus
reflex validate export <export_dir> [--reference <hf_id>] [--threshold 1e-4]ONNX vs PyTorch parity

See Pre-flight validation.

Diagnostic and forensic tools that don’t fit anywhere else.

SubcommandPurpose
reflex inspect bench <export_dir>Per-step latency microbenchmarks
reflex inspect replay <trace_file>Replay a recorded trace
reflex inspect targetsList all supported hardware targets
reflex inspect guard --urdf <path>Generate a safety_config.json from a URDF
reflex inspect doctorRun doctor without a specific export (env-only checks)

LIBERO benchmark with cost transparency. See reflex eval.

reflex eval <export_dir> [--suite libero] [--num-episodes 3] [--video] [--cost-preview]
  • Exit code 0 = success
  • Exit code 1 = command-specific failure (e.g. validation failed, doctor reported a fail check)
  • Exit code 2 = setup error (missing arg, bad config)
  • Exit code 3 = subcommand-specific failure (e.g. replay --fail-on triggered)
  • Exit code 5 = adapter error (e.g. eval runner couldn’t classify all episodes)
  • Exit code 6 = external dependency missing (e.g. modal CLI not on PATH)