Goals
- Understand what Harbor is and how its tasks map to OpenReward environments.
- Install and use the
harbor2orCLI tool. - Convert a Harbor task source into a deployable ORS environment.
- Build, test, and deploy the generated environment to OpenReward.
Prerequisites
- An OpenReward account and API key
- Python 3.11+
- Docker installed locally (for building task images)
- Familiarity with environments and deployment
What is Harbor?
Harbor is a framework for defining agent tasks using a standardized directory structure. Each Harbor task includes instructions, a container environment (Dockerfile or pre-built image), verification tests, and optional oracle solutions. Theharbor2or CLI tool converts Harbor task repositories into ORS environments that can be deployed on OpenReward. It handles downloading tasks, generating environment server code, building Docker images, and validating tasks with oracle agents.
Installation
Installharbor2or from GitHub:
Quick Start
Create the environment
Point For example, to convert Terminal-Bench into an OpenReward environment:This generates a complete ORS environment in
harbor2or create at a Harbor task source. This can be a GitHub repository, a HuggingFace dataset, or a local directory:./terminal-bench/ containing:server.py— the environment server with tools and task logicDockerfileandrequirements.txt— for containerised deploymentsplits.jsonandtasks.txt— task metadata and split mappings
Build Docker images
Build the Docker images for each task locally:This builds and pushes an image per task, then caches the image digest in each task’s
sha.txt file.For production workloads,
harbor2or build also supports Google Cloud Build for parallel, remote image building. See the harbor2or README for details.Test with the oracle agent
Run the oracle agent on tasks that include a This starts a sandbox for each task, uploads and runs the oracle solution, then reports pass/fail results with a summary.
solution/solve.sh file:Deploy to OpenReward
Push the generated environment to GitHub and connect it via the OpenReward dashboard:Then follow the GitHub deployment guide to connect the repository and trigger your first build on OpenReward.
Generated Tools
The generated environment exposes the following tools to the agent:| Tool | Description |
|---|---|
bash | Run shell commands in the sandbox |
str_replace | Edit files via unique string replacement |
view | View file contents or directory listings |
create_file | Create new files with content |
submit_answer | Run verification and return reward |
When an agent calls
submit_answer, the environment executes the tests/test.sh script from the original Harbor task to verify the result. The reward is read from /logs/verifier/reward.txt in the sandbox.Supported Sources
Theharbor2or create command accepts several source formats:
- GitHub repository:
https://github.com/org/repo - HuggingFace dataset URL:
https://huggingface.co/datasets/org/name - HuggingFace short ID:
org/name - Local directory:
./path/to/tasks
instruction.md, task.toml, tests/test.sh, and either an environment/Dockerfile or a docker_image reference in task.toml.

