# Daytona Runtime [Daytona](https://www.daytona.io/) is a platform that provides a secure and elastic infrastructure for running AI-generated code. It provides all the necessary features for an AI Agent to interact with a codebase. It provides a Daytona SDK with official Python and TypeScript interfaces for interacting with Daytona, enabling you to programmatically manage development environments and execute code. ## Quick Start ### Step 1: Retrieve Your Daytona API Key 1. Visit the [Daytona Dashboard](https://app.daytona.io/dashboard/keys). 2. Click **"Create Key"**. 3. Enter a name for your key and confirm the creation. 4. Once the key is generated, copy it. ### Step 2: Set Your API Key as an Environment Variable Run the following command in your terminal, replacing `` with the actual key you copied: Mac/Linux: ```bash export DAYTONA_API_KEY="" ``` Windows PowerShell: ```powershell $env:DAYTONA_API_KEY="" ``` This step ensures that OpenHands can authenticate with the Daytona platform when it runs. ### Step 3: Run OpenHands Locally Using Docker To start the latest version of OpenHands on your machine, execute the following command in your terminal: Mac/Linux: ```bash bash -i <(curl -sL https://get.daytona.io/openhands) ``` Windows: ```powershell powershell -Command "irm https://get.daytona.io/openhands-windows | iex" ``` #### What This Command Does: - Downloads the latest OpenHands release script. - Runs the script in an interactive Bash session. - Automatically pulls and runs the OpenHands container using Docker. Once executed, OpenHands should be running locally and ready for use. ## Manual Initialization ### Step 1: Set the `OPENHANDS_VERSION` Environment Variable Run the following command in your terminal, replacing `` with the latest release's version seen in the [main README.md file](https://github.com/All-Hands-AI/OpenHands?tab=readme-ov-file#-quick-start): #### Mac/Linux: ```bash export OPENHANDS_VERSION="" # e.g. 0.27 ``` #### Windows PowerShell: ```powershell $env:OPENHANDS_VERSION="" # e.g. 0.27 ``` ### Step 2: Retrieve Your Daytona API Key 1. Visit the [Daytona Dashboard](https://app.daytona.io/dashboard/keys). 2. Click **"Create Key"**. 3. Enter a name for your key and confirm the creation. 4. Once the key is generated, copy it. ### Step 3: Set Your API Key as an Environment Variable: Run the following command in your terminal, replacing `` with the actual key you copied: #### Mac/Linux: ```bash export DAYTONA_API_KEY="" ``` #### Windows PowerShell: ```powershell $env:DAYTONA_API_KEY="" ``` ### Step 4: Run the following `docker` command: This command pulls and runs the OpenHands container using Docker. Once executed, OpenHands should be running locally and ready for use. #### Mac/Linux: ```bash docker run -it --rm --pull=always \ -e SANDBOX_RUNTIME_CONTAINER_IMAGE=docker.all-hands.dev/all-hands-ai/runtime:${OPENHANDS_VERSION}-nikolaik \ -e LOG_ALL_EVENTS=true \ -e RUNTIME=daytona \ -e DAYTONA_API_KEY=${DAYTONA_API_KEY} \ -v ~/.openhands-state:/.openhands-state \ -p 3000:3000 \ --name openhands-app \ docker.all-hands.dev/all-hands-ai/openhands:${OPENHANDS_VERSION} ``` #### Windows: ```powershell docker run -it --rm --pull=always ` -e SANDBOX_RUNTIME_CONTAINER_IMAGE=docker.all-hands.dev/all-hands-ai/runtime:${env:OPENHANDS_VERSION}-nikolaik ` -e LOG_ALL_EVENTS=true ` -e RUNTIME=daytona ` -e DAYTONA_API_KEY=${env:DAYTONA_API_KEY} ` -v ~/.openhands-state:/.openhands-state ` -p 3000:3000 ` --name openhands-app ` docker.all-hands.dev/all-hands-ai/openhands:${env:OPENHANDS_VERSION} ``` > **Tip:** If you don't want your sandboxes to default to the EU region, you can set the `DAYTONA_TARGET` environment variable to `us` ### Running OpenHands Locally Without Docker Alternatively, if you want to run the OpenHands app on your local machine using `make run` without Docker, make sure to set the following environment variables first: #### Mac/Linux: ```bash export RUNTIME="daytona" export DAYTONA_API_KEY="" ``` #### Windows PowerShell: ```powershell $env:RUNTIME="daytona" $env:DAYTONA_API_KEY="" ``` ## Documentation Read more by visiting our [documentation](https://www.daytona.io/docs/) page.