Getting started¶
Requirements¶
- Python 3.12 or later
uv- Git
- Docker and Harbor-compatible task data for real isolated experiments
Install for development¶
git clone https://github.com/simple-agent-lab/RSIHub.git
cd RSIHub
uv sync --dev --locked
uv run --frozen evolve --help
Run a deterministic baseline check¶
From the repository root, use the bundled local task fixtures for a check that does not require a model, Docker, or access to the Harbor dataset registry:
export EVOLVE_RUNTIME_DIGEST="sha256:local-smoke-runtime"
export EVOLVE_HOME="/tmp/evolve-home"
uv run --frozen evolve init /tmp/evolve-demo \
--dataset "$PWD/tests/fixtures/tasks-local"
EVAL_STUB=1 /tmp/evolve-demo/evolve run /tmp/evolve-demo --max-generations 0
/tmp/evolve-demo/evolve status /tmp/evolve-demo
/tmp/evolve-demo/evolve verify /tmp/evolve-demo
This verifies workspace generation, baseline evaluation, and archive integrity. It does not run a mutation round or measure agent quality. The first run may download the workspace's locked Python dependencies.
Download a Harbor dataset¶
After installing the development dependencies, use Harbor's downloader to export a benchmark dataset as local task directories. For example:
uv run --frozen harbor download terminal-bench@2.0 \
--export \
-o /absolute/path/to/terminal-bench-2
The output path can then be passed to evolve preflight and evolve init with
--dataset. For the repository's reproducible Terminal-Bench subset, prefer
the setup script below: it downloads Terminal-Bench 2.0, verifies and
materializes the pinned task subset, and builds the selected recipe's
meta-agent image.
Prepare a real experiment¶
Run the read-only preflight before initialization:
export EVOLVE_RUNTIME_DIGEST="sha256:replace-with-your-evaluator-digest"
uv run evolve preflight /tmp/evolve-harbor \
--recipe aevolve \
--dataset /absolute/path/to/harbor/tasks
uv run evolve init /tmp/evolve-harbor \
--recipe aevolve \
--dataset /absolute/path/to/harbor/tasks
evolve doctor /tmp/evolve-harbor --profile experiment
evolve smoke /tmp/evolve-harbor --profile experiment
/tmp/evolve-harbor/evolve run /tmp/evolve-harbor --max-generations 5
evolve preflight accepts the same initialization inputs, writes nothing, and
reports unmet preconditions as one checklist.
Next steps¶
- Create a custom recipe
- Initialize a workspace and launch an experiment
- Configure credentials and runtime environment
- Choose operators and variants
- Run preflight, smoke tests, and recovery commands
- Configure meta-agent execution
- Use the trusted local Harbor backend
- Understand recipes in the source repository