Skip to content

Loading search…

Installation

Terminal window
pip install harness-policy

That is the whole install. The package is small: the harness itself needs only Python 3.11 or newer and its standard library. Import it as harness; the command line is harness.

Hosted language models are reached through OpenRouter or any OpenAI-compatible endpoint. Keys live only in the environment, never in a configuration file:

Terminal window
export OPENROUTER_API_KEY=...

A model’s configuration names the variable that holds its key (api_key_env, default OPENROUTER_API_KEY), so several providers can sit side by side.

Nothing else is installed until a run needs it. When a run starts, the harness works out which skills the agent uses and which models and environments those skills need. Each one this machine does not have yet is installed then, before the first episode:

  • A skill’s model (a segmenter, a learned policy, a world model, a local language model) is installed in an environment of its own, with the Python version and the pinned dependencies its manifest names, so models whose dependencies conflict never share one. Its weights are downloaded from Hugging Face or ModelScope and checked.
  • A benchmark’s official environment (RoboDojo’s, RoboTwin’s) is installed the first time you run on it, with its pinned sources and assets.
  • Skills and models you never enable are never installed.

Everything goes under ~/.cache/harness (HARNESS_HOME moves it). A second run reuses what the first installed. To install ahead of time, for example before going offline:

Terminal window
harness install sam3 simate

harness doctor shows what this machine has, what an agent would still install, and whether the GPUs have room for it.

The harness places the models it starts on the GPUs it finds: resident when they fit, on demand sharing a GPU when they do not. You need a deploy file only to choose yourself; see Run on a small machine. A machine without a GPU runs agents whose models are all hosted, or whose models run elsewhere and are reached by URL (Services and environments).

To run on tasks from The Simulator instead of a benchmark’s own environment, install its client next to the harness:

Terminal window
pip install the-simulator

Contributors work from a checkout of the repository. The development environment builds every model and benchmark into one conda environment for running the full test suite and the paper’s experiments; Contributing has the conventions and checks.

Next: Quickstart.