简介
Daytona SDK 让 AI agent 在 90ms 内起一个安全 Linux sandbox。每个 sandbox 是完整 Ubuntu 环境,可写文件系统、可选 GPU、能 fork 或 snapshot 来分叉 agent 执行路径。适合需要测试生成代码、做并行探索分支、或维护持久 agent 工作区的 AI agent。Python 和 TypeScript SDK 都有。装机时间 5 分钟。
起一个 sandbox
from daytona import Daytona
daytona = Daytona(api_key=os.environ["DAYTONA_API_KEY"])
sandbox = daytona.create()
print(sandbox.id) # "sb_abc123"
print(sandbox.cold_start_ms) # ~90
# 跑命令
response = sandbox.process.exec("python -c 'print(2+2)'")
print(response.result) # "4"
# 或 shell session
session = sandbox.process.create_session()
session.execute("cd /workspace && git clone ...")
session.execute("cd repo && pip install -r requirements.txt")
session.execute("pytest")
sandbox.delete() # 或退出时自动清理从本地挂文件
sandbox = daytona.create()
# 上传目录
sandbox.fs.upload_directory(local_path="./my-project", sandbox_path="/workspace/proj")
# 下载生成的产物
sandbox.fs.download(sandbox_path="/workspace/proj/dist", local_path="./build")Snapshot + fork —— 分叉 agent 执行
sandbox = daytona.create()
sandbox.process.exec("git clone https://github.com/example/repo /work")
# 快照当前状态
snap = sandbox.snapshot() # "snap_xyz"
# 分支 1:试方案 A
sb_a = daytona.create_from_snapshot(snap)
sb_a.process.exec("python try_approach_a.py")
# 分支 2:并行试方案 B
sb_b = daytona.create_from_snapshot(snap)
sb_b.process.exec("python try_approach_b.py")
# 选赢的
winner = sb_a if score(sb_a) > score(sb_b) else sb_b为啥用 Daytona 不本地跑 Docker
- 90ms 冷启动 vs Docker 的 ~10s
- Snapshot + fork 让 agent 能在解决方案上做树搜索
- 云端 —— 不占本地 CPU / RAM
- 按 sandbox 秒计费
FAQ
Q: Daytona 免费吗? A: Daytona 有免费档用于测试。付费档(按秒计算定价)规模化时启用。核心平台也在 GitHub 开源,可自托管。
Q: 跟 Modal Sandbox 或 E2B 啥区别? A: 三个都是云 Linux sandbox。区别:Daytona 的 snapshot/fork 原语独特(agent 做并行探索时很好)。Modal 优化 Python ML 工作负载。E2B 优化 code-interpreter 体验和 microVM 隔离。按主要用例选。
Q: 能配 Claude Code 或 Cursor 吗? A: 能 —— Claude Code / Cursor 里的 agent 可以把 Daytona Python SDK 当工具用。也能通过 MCP 接入 —— Daytona 出 MCP server。「提交前在 sandbox 里试一下这段代码」这种工作流很合适。