Robo Use

robouse CLI

robouse runs tasks, episodes and trials. The help blocks below are the output of robouse 0.1.1, generated by scripts/cli_reference.py.

$ robouse --help
usage: robouse [-h] [--version] {serve,run,run-many,tasks,fetch-assets} ...

Robo Use: agent as a policy for embodied agents. Runs robot tasks with an
agent harness as the policy. https://robouse.ai

positional arguments:
  {serve,run,run-many,tasks,fetch-assets}
    serve               run one trusted episode server (used by `run`)
    run                 run one trial end to end
    run-many            run a set of trials
    tasks               list tasks (default: the bundled tasks)
    fetch-assets        download the MuJoCo Menagerie meshes used by the
                        menagerie, RoboHarm and drone suites

options:
  -h, --help            show this help message and exit
  --version             show program's version number and exit

robouse run#

$ robouse run --help
usage: robouse run [-h] --task TASK --harness HARNESS [--model MODEL] --out
                   OUT [--timeout TIMEOUT] [--seed SEED]

options:
  -h, --help         show this help message and exit
  --task TASK        task folder or bundled task id
  --harness HARNESS  oracle, noop, claude-code, codex, claude-code-glm, codex-
                     glm, mini-swe-agent-glm or molmoact2 (see
                     https://robouse.ai/docs/harnesses/)
  --model MODEL      model for the harness (default: the harness's default)
  --out OUT          job folder; the trial is written to
                     OUT/<task>__<harness>__<id>/
  --timeout TIMEOUT  agent wall-clock limit in seconds (default: the task's
                     agent.timeout_sec)
  --seed SEED        override the task's seed

--model matters only for claude-code and codex; the other harnesses ignore it. The command prints a JSON summary (trial, reward, outcome, steps, wall_s, exception). A non-null exception means the trial could not start; it is not a score.

robouse run-many#

$ robouse run-many --help
usage: robouse run-many [-h] [--tasks TASKS] --harness HARNESS [--model MODEL]
                        --out OUT [--filter FILTER] [--limit LIMIT]
                        [--concurrency CONCURRENCY] [--timeout TIMEOUT]
                        [--task-list TASK_LIST] [--resume]

options:
  -h, --help            show this help message and exit
  --tasks TASKS         task root (default: the bundled tasks)
  --harness HARNESS     oracle, noop, claude-code, codex, claude-code-glm,
                        codex-glm, mini-swe-agent-glm or molmoact2 (see
                        https://robouse.ai/docs/harnesses/)
  --model MODEL         model for the harness (default: the harness's default)
  --out OUT             job folder; one trial folder per task
  --filter FILTER       only task ids containing this substring
  --limit LIMIT         run at most this many tasks (0: all)
  --concurrency CONCURRENCY
                        trials run in parallel (default 1)
  --timeout TIMEOUT     agent wall-clock limit per trial in seconds (default:
                        each task's)
  --task-list TASK_LIST
                        file with one task id per line (subset of --tasks)
  --resume              skip tasks that already have a finished, non-infra-
                        failed trial in --out

--tasks is searched recursively. The command prints one line per finished trial, appends it to OUT/run_log.jsonl, and ends with the number solved.

robouse tasks#

$ robouse tasks --help
usage: robouse tasks [-h] [--path] [root]

positional arguments:
  root        task root (default: the bundled tasks)

options:
  -h, --help  show this help message and exit
  --path      print the bundled task directory and exit

Prints one line per task: id, backend, simulator env id (empty for tabletop tasks).

robouse fetch-assets#

$ robouse fetch-assets --help
usage: robouse fetch-assets [-h] [--dest DEST]

options:
  -h, --help   show this help message and exit
  --dest DEST  target directory (default: ~/.cache/robouse/menagerie or
               $ROBOUSE_MENAGERIE_ASSETS)

Downloads the MuJoCo Menagerie robot models (about 42 MB) that the menagerie, roboharm and drone suites need, each checked by SHA-256. Files already present are skipped. The episode server looks in $ROBOUSE_MENAGERIE_ASSETS, else ~/.cache/robouse/menagerie.

robouse serve#

$ robouse serve --help
usage: robouse serve [-h] --task TASK --run-dir RUN_DIR --socket SOCKET
                     [--workspace WORKSPACE] [--seed SEED]
                     [--max-wall-s MAX_WALL_S] [--ready-file READY_FILE]

options:
  -h, --help            show this help message and exit
  --task TASK           task folder or bundled task id
  --run-dir RUN_DIR     where the episode record is written
  --socket SOCKET       Unix socket path to listen on
  --workspace WORKSPACE
                        agent workspace (camera images are saved in its
                        observations/)
  --seed SEED           override the task's seed
  --max-wall-s MAX_WALL_S
                        wall-clock budget in seconds (default 1800)
  --ready-file READY_FILE
                        file created once the server is listening

Runs one episode server on a Unix socket until the episode ends, then prints the verdict as JSON. run starts it for you; use it directly to drive a robot by hand with robo (set ROBOUSE_SOCKET to the socket path).