daytona README

The project's README from github.com/daytonaio/daytona. As one markdown file: README.md.

[!IMPORTANT] This repository is no longer maintained.

As of June 2026, Daytona's core development has moved to a private codebase. This repository will receive no further updates, fixes, or releases. It remains public and free to use, fork, and build on under the LICENSE, as is and without support or warranty.

Daytona resources are available at github.com/daytona.

 

Daytona logo

Run AI Code.
Secure and Elastic Infrastructure for Running Your AI-Generated Code.

Documentation · Report Bug · Request Feature · Join our Slack · Connect on X

 

Daytona is a secure and elastic infrastructure runtime for AI-generated code execution and agent workflows. Our open-source platform provides sandboxes, full composable computers with complete isolation, a dedicated kernel, filesystem, network stack, and allocated vCPU, RAM, and disk.

Sandboxes are the core component of the Daytona platform, spinning up in under 90ms from code to execution and running any code in Python, TypeScript, and JavaScript. Built on OCI/Docker compatibility, massive parallelization, and unlimited persistence, sandboxes deliver consistent, predictable environments for agent workflows.

Agents and developers interact with sandboxes programmatically using the Daytona SDKs, API, and CLI. Operations span sandbox lifecycle management, filesystem operations, process and code execution, and runtime configuration through base images, packages, and tooling. Our stateful environment snapshots enable persistent agent operations across sessions, making Daytona the ideal foundation for AI agent architectures.

Features

Daytona provides an extensive set of features and tools for interacting with sandboxes.

Platform Sandboxes Agent tools Human tools System tools
Organizations Environment Process & code execution Dashboard Webhooks
API Keys Snapshots File system operations Web terminal Network limits
Limits Declarative builder Language server protocol SSH access
Billing Volumes Computer use VNC access
Audit logs Regions MCP server VPN connection
OpenTelemetry Git operations Preview
Integrations Pseudo terminal (PTY) Custom preview proxy
Security exhibit Log streaming Playground

Architecture

Daytona platform is organized into multiple plane components, each serving a specific purpose. A detailed overview of each component is available in the architecture documentation.

Client libraries

Client libraries integrate the Daytona platform from application code through developer-facing SDKs backed by OpenAPI-generated REST clients and toolbox API clients. Each directory is a publishable package for a specific language or runtime, available in the libs directory.

Python

pip install daytona

Standalone packages and libraries for interacting with Daytona using Python:

sdk-python • api-client-python • api-client-python-async • toolbox-api-client-python • toolbox-api-client-python-async

TypeScript

npm install @daytona/sdk

Standalone packages and libraries for interacting with Daytona using TypeScript:

sdk-typescript • api-client • toolbox-api-client

Ruby

gem install daytona

Standalone packages and libraries for interacting with Daytona using Ruby:

sdk-ruby • api-client-ruby • toolbox-api-client-ruby

Go

go get github.com/daytonaio/daytona/libs/sdk-go

Standalone packages and libraries for interacting with Daytona using Go:

sdk-go • api-client-go • toolbox-api-client-go

Java

Gradle (build.gradle.kts):

dependencies {
    implementation("io.daytona:sdk:x.y.z")
}

Maven (pom.xml):

<dependency>
  <groupId>io.daytona</groupId>
  <artifactId>sdk</artifactId>
  <version>x.y.z</version>
</dependency>

Standalone packages and libraries for interacting with Daytona using Java:

sdk-java • api-client-java • toolbox-api-client-java

Quick Start

  1. Create an account at app.daytona.io
  2. Generate an API key
  3. Create a sandbox

Python SDK

from daytona import Daytona, DaytonaConfig

config = DaytonaConfig(api_key="YOUR_API_KEY")
daytona = Daytona(config)
sandbox = daytona.create()
response = sandbox.process.code_run('print("Hello World!")')
print(response.result)

Typescript SDK

import { Daytona } from "@daytona/sdk";

const daytona = new Daytona({ apiKey: "YOUR_API_KEY" });
const sandbox = await daytona.create();
const response = await sandbox.process.codeRun('print("Hello World!")');
console.log(response.result);

Ruby SDK

require 'daytona'

config = Daytona::Config.new(api_key: 'YOUR_API_KEY')
daytona = Daytona::Daytona.new(config)
sandbox = daytona.create
response = sandbox.process.code_run(code: 'print("Hello World!")')
puts response.result

Go SDK

package main

import (
  "context"
  "fmt"
  "github.com/daytonaio/daytona/libs/sdk-go/pkg/daytona"
  "github.com/daytonaio/daytona/libs/sdk-go/pkg/types"
)

func main() {
  config := &types.DaytonaConfig{APIKey: "YOUR_API_KEY"}
  client, _ := daytona.NewClientWithConfig(config)
  ctx := context.Background()
  sandbox, _ := client.Create(ctx, nil)
  response, _ := sandbox.Process.ExecuteCommand(ctx, "echo 'Hello World!'")
  fmt.Println(response.Result)
}

Java SDK

import io.daytona.sdk.Daytona;
import io.daytona.sdk.DaytonaConfig;
import io.daytona.sdk.Sandbox;
import io.daytona.sdk.model.ExecuteResponse;

public class Main {
  public static void main(String[] args) {
    DaytonaConfig config = new DaytonaConfig.Builder()
        .apiKey("YOUR_API_KEY")
        .build();
    try (Daytona daytona = new Daytona(config)) {
      Sandbox sandbox = daytona.create();
      ExecuteResponse response = sandbox.getProcess().executeCommand("echo 'Hello World!'");
      System.out.println(response.getResult());
    }
  }
}

API

curl 'https://app.daytona.io/api/sandbox' \
  --request POST \
  --header 'Authorization: Bearer <YOUR_API_KEY>' \
  --header 'Content-Type: application/json' \
  --data '{}'

CLI

daytona create

daytona (daytonaio/daytona)

Searching Database…

71.5K ·GitHub
archived
这是什么?Daytona 是一个安全、弹性的基础设施运行时,用于在隔离的沙箱中运行 AI 生成的代码,智能体和开发者可以通过 SDK、API 和 CLI 使用它。
这是我需要注册使用的云服务,还是要自己运行的软件?这是一个基础设施平台:每个沙箱都是一台完整的隔离计算机,拥有自己的内核、文件系统、网络栈,以及分配的 vCPU、内存和磁盘,由 Daytona 提供,而不是在本地运行。
我怎么开始在沙箱里运行代码?在 app.daytona.io 创建账号,生成 API 密钥,然后使用 Python、TypeScript、Ruby、Go 或 Java SDK、REST API 或 CLI 创建沙箱。
我的代码实际能用哪些语言运行?沙箱可以执行 Python、TypeScript 和 JavaScript 代码,启动时间不到 90ms;用于操控沙箱的 SDK 提供 Python、TypeScript、Ruby、Go 和 Java 版本。
这个项目还在维护吗?不再维护。截至 2026 年 6 月,开发已转入私有代码库,这个公开仓库不会再有任何更新、修复或发布,按原样提供,不提供技术支持。
沙箱启动有多快?从提交代码到开始执行,沙箱只需不到 90ms,为智能体工作流提供几乎即时的隔离环境。
MCP 服务器是做什么用的?Daytona 提供一个 MCP 服务器,让 AI 智能体能通过模型上下文协议(Model Context Protocol)调用沙箱操作,例如代码执行和文件系统访问。
我能直接操作沙箱,而不只是通过代码吗?可以。人工操作工具包括控制面板、网页终端、SSH 访问、VNC 访问,以及用于查看或控制运行中沙箱的预览代理。
为什么不直接在本地运行 AI 生成的代码,而要用 Daytona?每个沙箱都是兼容 OCI/Docker 的完全隔离计算机,拥有自己的内核、文件系统,以及专用的 vCPU、内存和磁盘,能为智能体代码提供一致、可持久化、可大规模并行的运行环境,这是本地运行无法安全做到的。
Creator
daytonaio
Size
156 MB
Stars
71.5K
Age
2y
Commits · 90 Days