Development Guide

June 4, 2025 ยท View on GitHub

Start the Server for Development

1. Requirements

  • Linux, Mac OS, or WSL on Windows [Ubuntu >= 22.04]
  • Docker (For those on MacOS, make sure to allow the default Docker socket to be used from advanced settings!)
  • Python = 3.12
  • NodeJS >= 20.x
  • Poetry >= 1.8
  • OS-specific dependencies:
    • Ubuntu: build-essential => sudo apt-get install build-essential
    • WSL: netcat => sudo apt-get install netcat

Make sure you have all these dependencies installed before moving on to make build.

# Download and install Mamba (a faster version of conda)
curl -L -O "https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-$(uname)-$(uname -m).sh"
bash Miniforge3-$(uname)-$(uname -m).sh

# Install Python 3.12, nodejs, and poetry
mamba install python=3.12
mamba install conda-forge::nodejs
mamba install conda-forge::poetry

2. Build and Setup The Environment

Begin by building the project which includes setting up the environment and installing dependencies. This step ensures that OpenHands-Versa is ready to run on your system:

make build

3. Configuring the Language Model

OpenHands-Versa supports a diverse array of Language Models (LMs) through the powerful litellm library.

To configure the LM of your choice, run:

make setup-config

This command will prompt you to enter the LLM API key, model name, and other variables ensuring that OpenHands-Versa is tailored to your specific needs.

Note on Alternative Models: See OpenHands documentation for recommended models.

4. Debugging

If you encounter any issues with the Language Model (LM) or you're simply curious, export DEBUG=1 in the environment and restart the evaluation. OpenHands-Versa will log the prompts and responses in the logs/llm/CURRENT_DATE directory, allowing you to identify the causes.