Command-line reference#

Every command, with its options. Run any command with --help for the full list. With pip, drop the uv run prefix.

Command

Does

wbc-mjlab-studio

The whole pipeline in a browser

wbc-mjlab-data-to-npz

Export source clips (CSV / PKL) as NPZ — optional, training reads the sources

wbc-mjlab-data-vis

Play exported NPZ clips (no policy)

wbc-mjlab-list-envs

List robots and tasks

wbc-mjlab-train

Train a task

wbc-mjlab-play

Evaluate a checkpoint; exports policy.onnx + config.yaml

wbc-mjlab-demo

Play the bundled demo checkpoint

wbc-mjlab-export-tracking-params

Write a task’s deploy config.yaml

wbc-mjlab-plot-rsi-bins

Plot saved adaptive-sampling state

python -m wbc_mjlab.studio.train_preset

Train a Studio preset

wbc-mjlab-studio#

uv run wbc-mjlab-studio [--host 0.0.0.0] [--port 8765] [--token SECRET] [--ui web|viser]

--host

Interface to serve on (default 0.0.0.0: the network; 127.0.0.1: this machine)

--port

UI port (default 8765)

--token

Require this token from network clients (default: no access control)

--robot · --device

Robot to start with · torch device for playback and conversion

--ui

web (default) or viser

--no-open-browser

Don’t open a browser tab

Guide: WBC Studio.

wbc-mjlab-data-to-npz#

uv run wbc-mjlab-data-to-npz --robot g1 --dataset my_clips

Training does not need it (How the library is built): it writes npz/<clip>.npz — body poses and velocities — for tools that want them, baked with the training code path (batched GPU forward kinematics).

--robot

Robot model to run forward kinematics on (default g1)

--dataset · --dataset-path

data/<robot>/<name>/ · any folder; output goes to its npz/

--input-path · --output-dir

A single file or folder in, an explicit folder out

--format

Source format (default CSV, gmr_pkl); default from the file extension

--input-fps · --output-fps

Source rate (CSV default 30) · export rate (default 50)

--batch-size

Frames per FK batch on the GPU (at least 4096)

--debias-z · --debias-foot-sole-z

Shift clips so the feet touch the floor · override the robot’s sole height

--mirror

Also write left-right mirrored clips (needs a symmetry config)

--device · --render · --line-range

Torch device · step the clips through the sim and render them (frame by frame, batch size 1) · CSV row range

Formats and output: Motion data formats.

wbc-mjlab-data-vis#

uv run wbc-mjlab-data-vis --robot g1 --dataset samples

Plays exported NPZ clips in viser with a timeline (source clips: the Studio). Options: --robot, --dataset, --dataset-path, --motion-file, --fps, --cache-motion-bundle.

wbc-mjlab-list-envs#

Lists registered robots and tasks (built-in, extensions, robots added in the Studio) with their log folders.

wbc-mjlab-train · wbc-mjlab-play#

uv run wbc-mjlab-train --task Wbc-G1 --dataset samples
uv run wbc-mjlab-play  --task Wbc-G1 --dataset samples --viewer viser

wbc-mjlab options (parsed first):

--task <id>

Task to train / play (robot taken from it) — Choose a task

--dataset <name>

Motion library data/<robot>/<name>/ (source clips, played online)

--dataset-path · --motion-file

A dataset folder, a clip or an NPZ anywhere

--mirror · --debias-z (train)

Add left-right mirrored clips · put each clip’s lowest foot on the ground — Prepare motion data

--cache-motion-bundle

Converted-NPZ datasets only: write / reuse <dataset>/<dataset>.npz

--robot <id> · --no-state-estimation

Shorthand instead of --task: the robot’s default task · its non-SE variant

Everything else passes through to mjlab (mjlab CLI):

--env.scene.num-envs N

Parallel environments (default 8192)

--agent.max-iterations N

Training length

--agent.run-name NAME

Suffix of the run folder

--agent.resume True · --agent.load-run · --agent.load-checkpoint

Continue a run — Train a policy

--agent.logger tensorboard|wandb

Logger (default TensorBoard)

--gpu-ids 0 1 · all

Train on several GPUs

--checkpoint-file PATH (play)

A specific checkpoint (default: latest of the task)

--viewer viser|native (play)

Viewer (viser when headless)

wbc-mjlab-demo#

Plays the bundled checkpoint (demos/wbc_g1) on the bundled samples clips. Options include --agent trained|zero|random, --num-envs, --viewer, --video.

wbc-mjlab-export-tracking-params#

uv run wbc-mjlab-export-tracking-params --task Wbc-G1 --out params/config.yaml [--play]

Rewrites the deploy config.yaml of a task (training and play already write it). Schema: Export.

wbc-mjlab-plot-rsi-bins#

uv run wbc-mjlab-plot-rsi-bins logs/rsl_rl/<experiment>/<run>/params/rsi_bin_stats.npz \
  [--trajectory N] [--output plot.png]

Training a Studio preset#

uv run python -m wbc_mjlab.studio.train_preset --preset <name> --dataset samples [train options]

Registers <base>--<name> from ~/.config/wbc-mjlab/presets/<name>.yaml and trains it; accepts every wbc-mjlab-train option. Single GPU only. File format: Studio preset file.

See also

Configuration and files — files, directories and environment variables