Developer docsCompute · Arena · API

Use an SSH machine

Generate a key, connect safely, and start building with an agent.

Builders · 4 min · Updated
Markdown

1. Make an SSH key on your laptop

An SSH key lets your laptop prove its identity without sending a password. Generate it on your laptop—not inside HIM—and paste only the public half into Compute.

macOS, Linux, or WSL
ssh-keygen -t ed25519
cat ~/.ssh/id_ed25519.pub
Windows PowerShell
ssh-keygen -t ed25519
Get-Content $env:USERPROFILE\.ssh\id_ed25519.pub

2. Launch and connect

  1. Open Compute, choose a machine, and keep the recommended lifetime and credit ceiling for your first session.
  2. Paste your ssh-ed25519 public key and launch.
  3. Wait for Ready, then copy the ssh root@host -p port command.
  4. Run that command in your laptop terminal. SSH will ask you to trust this temporary machine's host key on the first connection.
  5. Work under /workspace. Stop the machine from HIM when you are finished; the idle and lifetime limits remain backups.
Launch the recommended machine with the CLI
him login
him machine launch --key ~/.ssh/id_ed25519.pub --profile gpu --hours 6
# The command waits for Ready and prints the exact ssh command.

# Later, always stop it explicitly:
him machine stop <machine-id>

3. Check the machine

Run after connecting
cd /workspace
python3 --version
nvidia-smi  # GPU machines only
git clone YOUR_REPOSITORY_URL
cd YOUR_REPOSITORY
# Install this repository's declared dependencies.

The standard workspace gives you a working shell, Python, Git, build tools, PyTorch, JAX, and CUDA on GPU machines. Install the simulator and repository-specific packages you need. The prebuilt HIM robotics environment is coming later after its own qualification.

4. Building with an AI agent

Start your preferred terminal coding agent inside the repository, then copy this single prompt. It covers downloading or locating the data, working in the existing repository, testing the result, and preparing the intended HIM upload. Replace the bracketed fields first.

Copy this simple upload prompt
Help me prepare and upload this robotics project to HIM Arena.

First ask me only for details you cannot discover here: whether this is a policy, simulator, both, or a creative project; the robot; the simulator (MuJoCo, Isaac Lab, Brax, custom, or not applicable); the project name; and the command that produces the result. Then:

1. Read the repository instructions, README, git status, dependency files, tests, and existing run or render commands. Keep the project's current simulator, trainer, model formats, and layout.
2. Run the shortest meaningful test or simulation. Use its real output; do not invent scores, training claims, or hardware readiness.
3. Produce or locate one playable result.mp4 and inspect it. It must contain a real video track and be 50 MB or less. If the project cannot produce video, explain the smallest missing step instead of substituting fake footage.
4. Prepare one ZIP containing only the source and small assets needed to reproduce the result. Exclude .git, secrets, .env files, datasets, intermediate checkpoints, unused weights, logs, caches, and virtual environments. Include a final inference checkpoint only when the verified run requires it and it fits the upload limit. The ZIP plus MP4 must be 100 MB or less.
5. Show me the exact run command, test results, ZIP inventory, file sizes, and the proposed public name and caption. Ask before uploading.
6. If the HIM CLI is missing, install it with: curl -fsSL https://arena.himrobotics.com/install.sh | sh
7. Check authentication with him whoami --json. If login is needed, tell me to run him login and enter my developer token only in its hidden prompt. Never ask me to paste a token into chat.
8. After I approve, upload with:
   him upload ./PROJECT.zip --video ./result.mp4 --kind [policy|simulator|both|creative-project] --robot [microduck|unitree-g1|agibot-x2|unitree-h1|unitree-go2|booster-k1|booster-t1|yam|so-101|franka-panda|other] --simulator [mujoco|isaac-lab|brax|custom|not-applicable] --name "[name]" --caption "[what the video shows]" --run-command "[verified command]" --yes --json
9. Return the project URL, upload ID, exact files uploaded, test evidence, and limitations. The video, metadata, and ZIP are public; the ZIP stays quarantined and is labeled as unreviewed code.

Optional data: after signing in, use him data download table-tennis to get HIM's account-gated data. To upload a private dataset, create and validate a Dataset Manifest, then use him dataset push with one --file URI=PATH mapping per artifact. Ask before large downloads or data uploads.

Do not create a .him directory unless I explicitly ask for an immutable package, CI validation, controlled scoring, or another advanced package workflow. Do not launch paid compute unless I explicitly ask for it and approve the budget.

5. Save your work and stop

  1. Commit or copy out the code, logs, metrics, and checkpoints you want to keep.
  2. Upload the project ZIP and its result MP4 from Build when you want a public video and downloadable code on your profile.
  3. Return to Compute and press Stop machine when you finish. The maximum lifetime remains your automatic backstop.