SaylorTwift's picture
SaylorTwift HF Staff
Switch sandboxes to Harbor hf-sandbox backend; add pinned task prep with docker_image patch; dataset discovery via prompt_rows()
a7525f2 verified
Raw History Blame Contribute Delete
1.26 kB
#!/usr/bin/env bash
# OpenEnv Harbor environment server: Task API + capture proxy + web UI.
# Sandboxes are HF Sandboxes (Harbor's hf-sandbox backend: each rollout boots an
# HF Jobs cpu-basic machine running the task's prebuilt image). Only HF_TOKEN is
# needed — no Daytona/E2B account.
#
# Concurrency and capture settings are env vars, not CLI flags (verified against
# openenv 0.10.0 and the FineEnvs production env Space). MAX_CONCURRENT_ENVS must
# be >= the GRPO group size (8) or rollouts are rejected with CAPACITY_REACHED —
# it also bounds how many sandbox Jobs run at once under your HF account.
set -euo pipefail
PREPARED="${PREPARED:-/app/prepared}"
export OPENENV_DATASETS="${OPENENV_DATASETS:-$PREPARED/datasets/train,$PREPARED/datasets/test}"
export MAX_CONCURRENT_ENVS="${MAX_CONCURRENT_ENVS:-8}"
export OPENENV_MAX_OUTPUT_TOKENS=4096 # same cap as training + eval
export OPENENV_HARBOR_REWARD_KEY="correctness,reward"
# Pin the harness build so rollouts are reproducible (version from the FineEnvs Space).
export OPENENV_HARBOR_AGENT_VERSIONS='{"opencode":"1.18.31"}'
openenv harbor serve \
--dataset "$OPENENV_DATASETS" \
--port "${ENV_PORT:-8000}" \
--capture-port "${CAPTURE_PORT:-8100}" \
--expose gradio