daytonaio/daytona · 上手攻略
- 仓库:daytonaio/daytona
- 链接:https://github.com/daytonaio/daytona
- 分类:ai
- 作者:Tom
- 更新:2026-07-10
⚠️ 重要声明:仓库已停止维护
截至 2026 年 6 月,Daytona 核心开发已迁移至私有代码库,本仓库不再更新。 仓库仍公开可用,许可证(MIT)允许自由使用和 fork,但不再有官方支持和版本更新。如果你正在评估此类工具,请关注其商业产品或寻找活跃的替代项目。
这是什么
Daytona 是一个用于运行 AI 生成代码的安全、弹性基础设施运行时。它的核心抽象是 Sandbox(沙盒)——每一个 Sandbox 是一个完全隔离的"可组合计算机",拥有独立内核、文件系统、网络栈,以及分配的 vCPU、RAM 和磁盘。AI Agent 或开发者可以通过 SDK(Python/TypeScript/Go/Java/Ruby)、CLI 或 REST API 编程式地管理这些沙盒,在其中执行代码、安装依赖、运行服务。
解决的问题:AI 生成代码的执行存在安全风险(隔离性)和状态持久性问题。传统 Docker 容器启动较慢(秒级),且缺乏专门为 AI Agent 设计的状态快照和 MCP 集成能力。Daytona 的沙盒可在 90ms 内从代码到执行就绪,并支持状态持久化。
快速安装
⚠️ 注意:本仓库已停止维护,以下内容基于 2026 年 6 月停止更新前的版本验证。安装前请确认版本仍可用。
Python SDK
pip install daytona
TypeScript SDK
npm install @daytona/sdk
Go SDK
go get github.com/daytonaio/daytona/libs/sdk-go
CLI(需要先安装 SDK)
# 安装 daytona CLI(Linux/macOS)
curl -fsSL https://download.daytona.io/daytona-cli/install.sh | sh
# 验证安装
daytona version
Docker(自托管沙盒运行时)
Daytona 也支持 Docker 方式自托管 compute plane,详见官方文档:https://www.daytona.io/docs/installation/
核心用法
1. 创建沙盒(Python 示例)
from daytona import Daytona
daytona = Daytona()
sandbox = daytona.create()
print(f"Sandbox ID: {sandbox.id}")
print(f"Sandbox IP: {sandbox.ip}")
2. 从快照创建(预配置环境)
from daytona import Daytona, CreateSandboxFromSnapshotParams
daytona = Daytona()
sandbox = daytona.create(
CreateSandboxFromSnapshotParams(
snapshot="daytona-small" # 1 vCPU, 1GiB RAM, 3GiB Disk
)
)
可用快照类型:
- daytona-small — 1 vCPU / 1GiB RAM / 3GiB(容器类型)
- daytona-medium — 2 vCPU / 4GiB RAM / 8GiB
- daytona-large — 4 vCPU / 8GiB RAM / 10GiB
- daytona-gpu — 1 vCPU / 1GiB RAM + 1 GPU
- daytona-vm-small/medium/large — Linux VM 类型
3. 指定自定义镜像和资源
from daytona import Daytona, CreateSandboxFromImageParams, Image, Resources
daytona = Daytona()
sandbox = daytona.create(
CreateSandboxFromImageParams(
image="ubuntu:22.04",
resources=Resources(cpu=2, memory=4, disk=8), # vCPU/GiB
)
)
4. 在沙盒中执行代码
# 执行 Python 代码
result = sandbox.run("print('Hello from sandbox')")
print(result.output)
# 执行 Shell 命令
result = sandbox.exec(["bash", "-c", "ls -la /app"])
5. 文件系统操作
# 上传文件到沙盒
sandbox.write_file("/app/app.py", open("app.py", "rb").read())
# 读取文件
content = sandbox.read_file("/app/app.py")
# 列出目录
files = sandbox.list_dir("/app")
6. 创建快照(保存环境状态)
snapshot = sandbox.create_snapshot(name="my-env-001")
print(f"Snapshot created: {snapshot.id}")
7. MCP 服务器集成
Daytona 提供 MCP(Model Context Protocol)服务器,适合与 AI Agent 框架(如 LangChain、AutoGPT 等)集成:
# 启动 MCP 服务器
from daytona import MCPServer
mcp = daytona.create_mcp_server(sandbox_id=sandbox.id)
print(f"MCP server: {mcp.url}")
8. 通过 CLI 管理
# 登录
daytona login
# 列出沙盒
daytona sandbox list
# 创建沙盒
daytona sandbox create --snapshot daytona-small
# SSH 进入沙盒
daytona sandbox ssh <sandbox-id>
# 删除沙盒
daytona sandbox delete <sandbox-id>
典型适用场景
| 场景 | 说明 |
|---|---|
| AI Agent 代码执行 | 为 Agent 提供安全隔离的代码执行环境,防止恶意代码影响宿主机 |
| 开发环境标准化 | 团队共享预配置的开发容器,一键启动一致环境 |
| CI/CD 测试隔离 | 每个测试用例在独立沙盒运行,完全隔离,互不影响 |
| 临时计算任务 | 按需启动沙盒,执行完即销毁,适合短期数据分析、模型推理等 |
| 多租户 SaaS | 为每个用户提供独立隔离的执行环境,提升安全性 |
坑与注意
- ⚠️ 仓库停止维护:核心代码库已私有化,不继续发布新版本。生产环境中使用需自行承担维护风险,或考虑迁移到其他活跃的沙盒项目(如 Firecracker、CodeServer 等)。
- 网络隔离限制:沙盒默认有独立网络栈,但某些云服务商的网络配置可能与 Daytona 的 OCI 运行时存在兼容性问题,务必在测试环境验证。
- 资源配额:组织级账户最大支持 4 vCPU / 8GB RAM / 10GB Disk,超出需付费升级(具体价格见官方 pricing 页面)。
- 冷启动延迟:虽然宣传 90ms 启动,但在高并发场景下(数百个沙盒同时创建),compute plane 的调度延迟可能达到秒级。
- 快照存储成本:快照会持久化整个文件系统状态,快照数量增多后存储成本不可忽视,建议定期清理不需要的快照。
与同类对比
| 特性 | Daytona | Firecracker | Docker容器 | CodeServer |
|---|---|---|---|---|
| 启动速度 | ~90ms | ~125ms | 1-5s | 5-10s |
| 隔离级别 | VM级 | VM级 | 容器级 | 进程级 |
| 状态持久化 | 原生快照 | 需要额外配置 | 卷挂载 | 只读文件系统 |
| MCP 集成 | ✅ 原生 | ❌ | ❌ | ❌ |
| Agent SDK | 多语言官方SDK | ❌ | ❌ | ❌ |
| 开源状态 | ⚠️ 停止维护 | ✅ 活跃 | ✅ 活跃 | ✅ 活跃 |
| 适用场景 | AI Agent | 微服务安全隔离 | 通用容器化 | 浏览器IDE |
一句话推荐结论
Daytona 的沙盒抽象为 AI Agent 提供了开箱即用的安全执行环境,90ms 启动 + 快照持久化非常适合 Agent 工作流——但请务必注意仓库已停止维护,生产使用前需评估长期维护策略。
参考来源
- GitHub README:https://github.com/daytonaio/daytona
- 官方文档:https://www.daytona.io/docs
- Sandboxes 文档:https://www.daytona.io/docs/sandboxes/
- SDK 安装(pip/npm/go):https://www.daytona.io/docs/#3-install-the-sdk
- ⚠️ 停止维护公告:https://github.com/daytonaio/daytona(README 头部)