daytona
Daytona 是一个专为运行 AI 生成代码而设计的安全、弹性基础设施。在 AI 代理(Agent)日益普及的今天,如何安全地执行不可信的自动生成的代码成为一大挑战。Daytona 通过提供完全隔离的“沙箱”环境解决了这一痛点,每个沙箱都是一台拥有独立内核、文件系统、网络栈及专属计算资源的完整计算机,确保代码在受控环境中运行,互不干扰且风险可控。
该平台特别适合开发者、AI 研究人员以及构建智能体工作流的技术团队使用。无论是需要并行处理大量任务,还是希望在不同会话间保持状态持久化,Daytona 都能提供稳定支持。其独特的技术亮点在于极致的启动速度——从代码提交到执行仅需不到 90 毫秒,并基于 OCI/Docker 标准构建,支持 Python、TypeScript 和 JavaScript 等多种语言。此外,Daytona 提供了丰富的 SDK、API 和命令行工具,让用户能轻松编程管理沙箱的生命周期、文件操作及进程执行。凭借状态快照功能,它还能让 AI 代理在多次交互中保留上下文记忆,是构建下一代 AI 应用架构的理想基石。
使用场景
某金融科技公司正在构建一个自动化代码审计系统,需要让 AI 代理频繁生成并执行高风险的 Python 脚本来检测潜在漏洞。
没有 daytona 时
- 安全隐患大:直接在共享服务器或本地容器运行 AI 生成的未知代码,一旦脚本包含恶意逻辑,极易导致宿主机被入侵或数据泄露。
- 环境不一致:不同脚本依赖冲突频发,开发人员需花费大量时间手动配置隔离环境,导致“在我机器上能跑”的问题反复出现。
- 启动速度慢:传统虚拟机或重型容器启动耗时数秒甚至分钟级,无法满足 AI 代理高并发、即时响应的执行需求。
- 状态难持久:每次执行后环境即销毁,AI 无法在后续步骤中复用之前的计算结果或文件状态,迫使工作流断裂。
使用 daytona 后
- 原生安全隔离:daytona 为每段 AI 代码提供拥有独立内核、文件系统和网络栈的沙箱,即使代码恶意也完全无法逃逸,确保宿主绝对安全。
- 环境秒级就绪:依托其弹性架构,沙箱从代码提交到执行仅需 90 毫秒,完美支撑 AI 代理的大规模并行任务调度。
- 状态无缝延续:利用快照功能,AI 代理可在多次交互中保留沙箱内的文件与变量状态,实现复杂的多步推理与调试工作流。
- 标准化交付:通过统一的 SDK 和 API 管理全生命周期,团队不再受困于环境差异,专注于核心算法优化而非运维琐事。
daytona 通过提供毫秒级启动且具备完整隔离性的沙箱基础设施,让企业能够安全、高效地将 AI 生成的代码真正投入生产流程。
运行环境要求
- Linux
- macOS
- Windows
未说明
未说明(沙箱实例可分配 vCPU、RAM 和磁盘,具体取决于配置)

快速开始
运行 AI 代码。
为您的 AI 生成代码提供安全且弹性的基础设施。
文档 · 报告 Bug · 请求功能 · 加入我们的 Slack · 在 X 上联系
Daytona 是一个用于执行 AI 生成代码和代理工作流的安全、弹性的基础设施运行时。我们的开源平台提供 沙箱,即完全隔离的可组合计算机,拥有独立的内核、文件系统、网络栈以及分配的 vCPU、RAM 和磁盘。
沙箱是 Daytona 平台的核心组件,能够在不到 90 毫秒内从代码启动并开始执行,并支持 Python、TypeScript 和 JavaScript 等多种语言的代码运行。基于 OCI/Docker 兼容性、大规模并行化以及无限持久化的特性,沙箱为代理工作流提供了稳定、可预测的环境。
代理和开发者可以通过 Daytona 的 SDKs、API 和 CLI 以编程方式与沙箱交互。操作范围涵盖沙箱生命周期管理、文件系统操作、进程与代码执行,以及通过基础镜像、软件包和工具进行运行时配置。我们提供的有状态环境 快照 能够在会话之间保持代理的持续运行,使 Daytona 成为构建 AI 代理架构的理想基础。
功能
Daytona 提供了丰富的功能和工具来与沙箱交互。
- 平台:为采用 Daytona 标准化的组织提供治理和运营控制
- 沙箱:隔离的完整可组合计算机,用于执行工作负载并保留状态
- 代理工具:面向应用代码、代理和集成的程序化能力
- 人类工具:用于与沙箱交互的界面和远程会话
- 系统工具:用于生命周期事件和网络访问的平台级钩子和控制
| 平台 | 沙箱 | 代理工具 | 人类工具 | 系统工具 |
|---|---|---|---|---|
| 组织 | 环境 | 进程与代码执行 | 仪表板 | Webhooks |
| API 密钥 | 快照 | 文件系统操作 | Web 终端 | 网络限制 |
| 限制 | 声明式构建器 | 语言服务器协议 | SSH 访问 | |
| 计费 | 卷 | 计算机使用 | VNC 访问 | |
| 审计日志 | 区域 | MCP 服务器 | VPN 连接 | |
| OpenTelemetry | Git 操作 | 预览 | ||
| 集成 | 伪终端 (PTY) | 自定义预览代理 | ||
| 安全展示 | 日志流 | 游乐场 |
架构
Daytona 平台由多个平面组件组成,每个组件都有特定的用途。每个组件的详细概述可在 架构文档 中找到。
- 界面平面:提供与 Daytona 交互的客户端接口
- 控制平面:编排所有沙盒操作
- 计算平面:运行和管理沙盒实例
应用程序
Daytona 平台可运行的应用程序和服务。每个目录都是一个可部署或可构建的组件,位于 apps 目录中。
api:基于 NestJS 的 RESTful 服务;平台所有操作的主要入口cli:Go 命令行界面,用于访问核心功能以与沙盒交互daemon:在每个沙盒内运行的代码执行代理dashboard:用于可视化管理沙盒的 Web 用户界面docs:文档内容;网站发布于 daytona.io/docsotel-collector:用于收集 Daytona SDK 操作的跟踪和指标proxy:用于自定义路由和预览 URL 的反向代理runner:为 Daytona 计算平面提供动力并运行沙盒的计算节点snapshot-manager:编排沙盒快照的创建ssh-gateway:独立的 SSH 网关,接受经过身份验证的ssh连接
客户端库
客户端库通过面向开发者的 SDK 将 Daytona 平台集成到应用程序代码中,这些 SDK 由 OpenAPI 生成的 REST 客户端和工具箱 API 客户端支持。每个目录都是针对特定语言或运行时的可发布包,位于 libs 目录中。
Python
pip install daytona
使用 Python 与 Daytona 交互的独立包和库:
sdk-python•api-client-python•api-client-python-async•toolbox-api-client-python•toolbox-api-client-python-async
TypeScript
npm install @daytona/sdk
使用 TypeScript 与 Daytona 交互的独立包和库:
Ruby
gem install daytona
使用 Ruby 与 Daytona 交互的独立包和库:
Go
go get github.com/daytonaio/daytona/libs/sdk-go
使用 Go 与 Daytona 交互的独立包和库:
Java
Gradle (build.gradle.kts):
dependencies {
implementation("io.daytona:sdk:0.1.0")
}
Maven (pom.xml):
<dependency>
<groupId>io.daytona</groupId>
<artifactId>sdk</artifactId>
<version>0.1.0</version>
</dependency>
使用 Java 与 Daytona 交互的独立包和库:
部署
Daytona 可作为托管服务在 app.daytona.io 上使用。Daytona 可以作为完全托管的服务运行,也可以作为您自行运营的开源堆栈,或者在混合部署中运行,在这种情况下,Daytona 编排沙盒,而执行则在您管理的机器上进行。
快速入门
- 在 app.daytona.io 上创建一个账户
- 生成一个 API 密钥
- 创建一个沙盒
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
开发
Devcontainer(完整环境)
在兼容 devcontainer 的编辑器(VS Code、GitHub Codespaces)中打开此仓库,即可获得包含所有语言、工具和支持服务的开箱即用设置。
Nix(轻量级,适合代理)
如果您更喜欢在 devcontainer 外工作——或者您是执行构建命令的人工智能代理——请使用 Nix 开发 shell:
# 进入完整的开发 shell(Go + Node + Python + Ruby + JDK)
nix develop
# 或者选择特定语言的 Shell
nix develop .#go # Go 服务与库
nix develop .#node # TypeScript / Node.js 应用与库
nix develop .#python # Python SDK 与库
nix develop .#ruby # Ruby SDK 与库
nix develop .#java # Java SDK 与库
前置条件: 安装 Nix 并启用 Flakes 功能(在 ~/.config/nix/nix.conf 中添加 experimental-features = nix-command flakes)。
对于非交互式或 CI 环境使用:
nix develop .#go --command bash -c "go build ./..."
可选:安装 direnv 和 nix-direnv,以便在进入项目目录时自动激活 Shell。
完整 Shell 参考、项目到 Shell 的映射以及常用命令,请参阅 AGENTS.md。
注意: 支持性服务(PostgreSQL、Redis 等)仍通过
docker compose -f .devcontainer/docker-compose.yaml up进行管理。
贡献
[!NOTE] Daytona 是遵循 GNU AFFERO GENERAL PUBLIC LICENSE 开源的,其版权归属所有贡献者(详见
NOTICE文件)。如果您希望为本项目贡献力量,请阅读 Developer Certificate of Origin Version 1.1 和 贡献指南,以开始您的贡献之旅。
版本历史
v0.164.02026/04/10v0.163.02026/04/09v0.162.02026/04/08v0.161.02026/04/03v0.160.02026/04/02v0.159.02026/03/31v0.158.12026/03/28v0.158.02026/03/27v0.157.02026/03/26v0.156.02026/03/25v0.155.02026/03/24v0.154.02026/03/20v0.153.02026/03/19v0.152.12026/03/18v0.148.02026/02/27v0.147.02026/02/26v0.152.02026/03/17v0.151.02026/03/13v0.150.02026/03/10v0.149.02026/03/04常见问题
相似工具推荐
openclaw
OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你
stable-diffusion-webui
stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
ComfyUI
ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。
gemini-cli
gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。
markitdown
MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器