Installation
pip install harness-policyThat 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:
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.
What is installed when
Section titled “What is installed when”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:
harness install sam3 simateharness 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).
Tasks from The Simulator
Section titled “Tasks from The Simulator”To run on tasks from The Simulator instead of a benchmark’s own environment, install its client next to the harness:
pip install the-simulatorBuild from source
Section titled “Build from source”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.