Credentials. The model server key is exported into the shell environment, so keep it out of shared logs and Git checkouts.
Who it is forAn ML engineer who serves an open model on their own hardware and wants to test it as the control agent for robot tasks.
The problemThe harness expects a specific endpoint type, and misconfigured URLs or model IDs fail before any robot motion starts.
The outcomeA verified connection to the model server, a saved session configuration, and a dry-run plan that shows the correct model URL and model ID.
What you need first
- Linux x86-64 machine with an NVIDIA RTX GPU and the CUDA 12.4 toolkit (the validation host had 48 GB VRAM per GPU)
- Python 3.11 and Claude Code 2.1.259 for the paper configuration
- Licensed BEHAVIOR scene data, plus the Isaac Sim terms that the README says apply
- A separately running model server with an Anthropic-compatible /v1/messages endpoint that supports image input, tool calls and streaming
- Enough local disk for the BEHAVIOR data and the Hugging Face assets
Steps
export ROBOHARNESS_MODEL_URL='http://YOUR_MODEL_HOST:31000'export ROBOHARNESS_MODEL='Qwen3.8-Flash-Next-FP8'export ANTHROPIC_API_KEY='YOUR_MODEL_SERVER_KEY'export ANTHROPIC_AUTH_TOKEN="$ANTHROPIC_API_KEY"- Send the small test request in the README and expect a Messages response with "type": "message".
./scripts/reproduce_task.sh task01 --gpu 0 --dry-run
Prompt for your agent
In the RoboHarness repo, set the model URL and model ID from the environment variables for <model server host>, send the small Messages test request from the README, and then run the task01 dry run. Report the model_url, model, gpu and port values from the dry-run output. Verify that the URL has no /v1 suffix before you run the test.
Caveat. The README says dry-run does not contact the model or check the simulator installation, so a successful dry run does not prove the endpoint works.
Get 5 new use cases every morning. Free, one short email, unsubscribe anytime.
Get them freeShare: X LinkedIn Hacker News Email Copy link
Disclaimer
Deduped lists open-source repositories that belong to other people. We do not own, maintain, audit, or vouch for any of them, and a repo appearing here is not an endorsement or a safety check. The use cases, steps, and prompts are written by AI and may be incomplete, outdated, or just wrong. Where a use case is marked "Seen in the wild", we link to public posts where someone described something similar, but we have not verified those posts and the use case itself is still our AI's own write-up. Use all of this at your own risk. Only run code, commands, or agents on systems and accounts you are authorized to use, and read the code and every command before you run it, especially anything that touches credentials, files, or the network. Nothing here is professional, security, legal, or financial advice. All trademarks and project names belong to their respective owners, and their use here does not imply affiliation. Content is provided as is, without warranties of any kind. Found a mistake, a safety problem, or something you want removed? Email [email protected] and we will look at it promptly. Full disclaimer page