daytona
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseWhat is Daytona
什么是Daytona
Daytona provides full composable computers — sandboxes — for AI agents. Each sandbox is an isolated runtime environment with its own kernel, filesystem, network stack, and dedicated vCPU, RAM, and disk. Agents can install packages, run servers, compile code, and manage processes inside sandboxes.
Sandboxes are built from OCI-compliant images or snapshots. Any language or tool that runs on Linux works.
Scope: This skill covers Daytona Cloud (). For self-hosted Daytona OSS deployment, see .
app.daytona.io./references/platform/oss-deployment.mdDaytona为AI Agent提供完全可组合的计算环境——即沙箱。每个沙箱都是一个隔离的运行时环境,拥有独立的内核、文件系统、网络栈以及专属的vCPU、内存和磁盘。Agent可以在沙箱内安装包、运行服务器、编译代码和管理进程。
沙箱基于OCI兼容的镜像或快照构建。任何可在Linux上运行的语言或工具都能在其中使用。
适用范围:本技能覆盖Daytona云端()。如需自建Daytona OSS部署,请查看。
app.daytona.io./references/platform/oss-deployment.mdBefore You Start
开始之前
Before writing any Daytona code, verify setup:
- SDK installed? Check that the Daytona SDK is installed for the user's language (e.g. or check
pip show daytonaforpackage.json). If not, install it.@daytonaio/sdk - API key set? Check in the shell environment or in environment files. If not set, tell the user they need an API key and point them to Daytona Dashboard > API Keys to create one.
DAYTONA_API_KEY
在编写任何Daytona代码前,请确认以下配置已完成:
- SDK已安装? 检查用户使用的语言是否已安装Daytona SDK(例如,执行或查看
pip show daytona中的package.json)。若未安装,请指导用户完成安装。@daytonaio/sdk - API密钥已设置? 检查Shell环境或环境文件中的。若未设置,请告知用户需要API密钥,并引导其前往Daytona控制台 > API密钥创建。
DAYTONA_API_KEY
SDK Essentials — Python
SDK核心用法 — Python
Installation
安装
bash
pip install daytonabash
pip install daytonaCreate client and sandbox
创建客户端与沙箱
python
from daytona import Daytonapython
from daytona import DaytonaUses DAYTONA_API_KEY env var
使用DAYTONA_API_KEY环境变量
daytona = Daytona()
daytona = Daytona()
Create a sandbox with defaults (1 vCPU, 1GB RAM, 3GB disk)
使用默认配置创建沙箱(1核vCPU、1GB内存、3GB磁盘)
sandbox = daytona.create()
```python
from daytona import Daytona, CreateSandboxFromImageParams, Image, Resources
daytona = Daytona()sandbox = daytona.create()
```python
from daytona import Daytona, CreateSandboxFromImageParams, Image, Resources
daytona = Daytona()Create with a custom image, name, and resources
使用自定义镜像、名称和资源配置创建沙箱
sandbox = daytona.create(CreateSandboxFromImageParams(
image=Image.debian_slim("3.12"),
name="my-sandbox",
resources=Resources(cpu=2, memory=4, disk=8),
))
undefinedsandbox = daytona.create(CreateSandboxFromImageParams(
image=Image.debian_slim("3.12"),
name="my-sandbox",
resources=Resources(cpu=2, memory=4, disk=8),
))
undefinedExecute commands
执行命令
Both and return an with (stdout) and .
executes in the sandbox's language runtime (set at creation via param, defaults to ). Supported: , , .
execcode_runExecuteResponse.result.exit_codecode_runlanguage="python"pythontypescriptjavascriptpython
undefinedexeccode_run.result.exit_codeExecuteResponsecode_runlanguage="python"pythontypescriptjavascriptpython
undefinedRun a shell command
运行Shell命令
response = sandbox.process.exec("echo 'Hello, World!'")
print(response.result) # "Hello, World!"
print(response.exit_code) # 0
response = sandbox.process.exec("echo 'Hello, World!'")
print(response.result) # "Hello, World!"
print(response.exit_code) # 0
Run Python code (stateless)
运行Python代码(无状态)
response = sandbox.process.code_run('''
import json
data = {"key": "value"}
print(json.dumps(data, indent=2))
''')
print(response.result)
print(response.exit_code) # 0 on success, non-zero on error
undefinedresponse = sandbox.process.code_run('''
import json
data = {"key": "value"}
print(json.dumps(data, indent=2))
''')
print(response.result)
print(response.exit_code) # 成功时为0,出错时为非零值
undefinedFile operations
文件操作
python
undefinedpython
undefinedWrite a file
写入文件
sandbox.fs.upload_file(b"Hello, Daytona!", "/home/daytona/data.txt")
sandbox.fs.upload_file(b"Hello, Daytona!", "/home/daytona/data.txt")
Read a file
读取文件
content = sandbox.fs.download_file("/home/daytona/data.txt")
print(content.decode())
content = sandbox.fs.download_file("/home/daytona/data.txt")
print(content.decode())
List files
列出文件
files = sandbox.fs.list_files("workspace")
for f in files:
print(f"{f.name} ({'dir' if f.is_dir else f.size})")
undefinedfiles = sandbox.fs.list_files("workspace")
for f in files:
print(f"{f.name} ({'目录' if f.is_dir else f.size}字节)")
undefinedSandbox lifecycle
沙箱生命周期管理
python
undefinedpython
undefinedPause and resume later
暂停沙箱,后续可恢复
sandbox.stop() # frees CPU/RAM, keeps disk
sandbox.start() # ready to use again
sandbox.stop() # 释放CPU/内存,保留磁盘数据
sandbox.start() # 恢复使用
Long-term storage (must be stopped first)
长期存储(需先暂停沙箱)
sandbox.stop()
sandbox.archive() # cold storage, no quota impact
sandbox.stop()
sandbox.archive() # 冷存储,不占用配额
Resume a previous sandbox by ID or name
通过ID或名称恢复已有的沙箱
sandbox = daytona.get("sandbox-id-or-name")
sandbox.start()
sandbox = daytona.get("sandbox-id-or-name")
sandbox.start()
Permanently remove
永久删除沙箱
sandbox.delete()
Wrap Daytona calls with `DaytonaError` for error handling. For async, use `AsyncDaytona` (async context manager). For full Python SDK reference, see [python-sdk/README.md](./references/python-sdk/README.md).sandbox.delete()
请使用`DaytonaError`包裹Daytona调用以处理错误。如需异步操作,请使用`AsyncDaytona`(异步上下文管理器)。完整Python SDK参考请查看[python-sdk/README.md](./references/python-sdk/README.md)。SDK Essentials — TypeScript
SDK核心用法 — TypeScript
The TypeScript SDK () mirrors the Python API. Key differences: instead of , instead of , // for file ops, for error handling. Install with .
@daytonaio/sdkexecuteCommandexeccodeRuncode_runuploadFiledownloadFilelistFilesDaytonaErrornpm install @daytonaio/sdkFor full TypeScript SDK reference and examples, see typescript-sdk/README.md.
TypeScript SDK()与Python API结构一致。主要区别在于:使用替代,替代,文件操作用//,错误处理使用。安装命令为。
@daytonaio/sdkexecuteCommandexeccodeRuncode_runuploadFiledownloadFilelistFilesDaytonaErrornpm install @daytonaio/sdk完整TypeScript SDK参考及示例请查看typescript-sdk/README.md。
Common Patterns
常见使用模式
Custom environments and snapshots
自定义环境与快照
When the user needs specific packages, tools, or a custom OS in their sandbox, define a custom image with the builder. If the user will create multiple sandboxes with the same setup, offer to build a snapshot — snapshots bake dependencies into a reusable template so subsequent sandboxes start quickly with everything pre-installed.
ImageNote: Snapshots are built from image definitions, not from live sandbox state. You cannot snapshot a running sandbox to capture its current filesystem.
Define images with the builder:
Imagepython
from daytona import Image当用户需要在沙箱中使用特定包、工具或自定义操作系统时,可使用构建器定义自定义镜像。若用户需要创建多个相同配置的沙箱,建议构建快照——快照会将依赖项打包为可复用模板,后续创建沙箱时可快速启动并预装所有依赖。
Image注意:快照基于镜像定义构建,而非沙箱的实时状态。无法对运行中的沙箱创建快照以捕获当前文件系统状态。
使用构建器定义镜像:
Imagepython
from daytona import ImageDebian with Python packages
安装了Python包的Debian镜像
image = Image.debian_slim("3.12").pip_install(["pandas", "numpy", "scikit-learn"])
image = Image.debian_slim("3.12").pip_install(["pandas", "numpy", "scikit-learn"])
With system packages and shell commands
包含系统包和Shell命令的镜像
image = (Image.debian_slim("3.12")
.run_commands("apt-get update && apt-get install -y curl git",
"curl -fsSL https://deb.nodesource.com/setup_20.x | bash -")
.pip_install(["flask"])
.env({"APP_ENV": "production"}))
image = (Image.debian_slim("3.12")
.run_commands("apt-get update && apt-get install -y curl git",
"curl -fsSL https://deb.nodesource.com/setup_20.x | bash -")
.pip_install(["flask"])
.env({"APP_ENV": "production"}))
From a Dockerfile
基于Dockerfile构建镜像
image = Image.from_dockerfile("./Dockerfile")
image = Image.from_dockerfile("./Dockerfile")
From a registry image directly
直接使用镜像仓库中的镜像
image = Image.base("node:20-slim")
```typescript
import { Image } from '@daytonaio/sdk'
const image = Image.debianSlim('3.12').pipInstall(['pandas', 'numpy', 'scikit-learn'])
const image = Image.debianSlim('3.12')
.runCommands('apt-get update && apt-get install -y curl git',
'curl -fsSL https://deb.nodesource.com/setup_20.x | bash -')
.pipInstall(['flask'])
.env({ APP_ENV: 'production' })
const image = Image.fromDockerfile('./Dockerfile')
const image = Image.base('node:20-slim')Create a one-off sandbox directly from an image:
python
from daytona import Daytona, CreateSandboxFromImageParams, Image
daytona = Daytona()
image = Image.debian_slim("3.12").pip_install(["flask"])
sandbox = daytona.create(CreateSandboxFromImageParams(image=image))typescript
const sandbox = await daytona.create({ image })Or build a snapshot for reuse (recommended if creating multiple sandboxes with the same setup):
python
from daytona import Daytona, CreateSandboxFromSnapshotParams, CreateSnapshotParams, Image
daytona = Daytona()image = Image.base("node:20-slim")
```typescript
import { Image } from '@daytonaio/sdk'
const image = Image.debianSlim('3.12').pipInstall(['pandas', 'numpy', 'scikit-learn'])
const image = Image.debianSlim('3.12')
.runCommands('apt-get update && apt-get install -y curl git',
'curl -fsSL https://deb.nodesource.com/setup_20.x | bash -')
.pipInstall(['flask'])
.env({ APP_ENV: 'production' })
const image = Image.fromDockerfile('./Dockerfile')
const image = Image.base('node:20-slim')直接基于镜像创建一次性沙箱:
python
from daytona import Daytona, CreateSandboxFromImageParams, Image
daytona = Daytona()
image = Image.debian_slim("3.12").pip_install(["flask"])
sandbox = daytona.create(CreateSandboxFromImageParams(image=image))typescript
const sandbox = await daytona.create({ image })或构建快照用于复用(若需创建多个相同配置的沙箱,推荐此方式):
python
from daytona import Daytona, CreateSandboxFromSnapshotParams, CreateSnapshotParams, Image
daytona = Daytona()One-time: build a snapshot
一次性操作:构建快照
image = Image.debian_slim("3.12").pip_install(["pandas", "numpy", "scikit-learn"])
snapshot = daytona.snapshot.create(CreateSnapshotParams(
name="data-science",
image=image,
))
image = Image.debian_slim("3.12").pip_install(["pandas", "numpy", "scikit-learn"])
snapshot = daytona.snapshot.create(CreateSnapshotParams(
name="data-science",
image=image,
))
Every time after: fast start from snapshot
后续操作:从快照快速启动沙箱
sandbox = daytona.create(CreateSandboxFromSnapshotParams(
snapshot=snapshot.name,
))
response = sandbox.process.code_run("import pandas; print(pandas.version)")
```typescript
const snapshot = await daytona.snapshot.create({
name: 'data-science',
image: Image.debianSlim('3.12').pipInstall(['pandas', 'numpy', 'scikit-learn']),
})
const sandbox = await daytona.create({ snapshot: snapshot.name })For the full builder API, see . For snapshot management, see .
Image./references/<lang>-sdk/declarative-builder.md./references/<lang>-sdk/snapshots.mdsandbox = daytona.create(CreateSandboxFromSnapshotParams(
snapshot=snapshot.name,
))
response = sandbox.process.code_run("import pandas; print(pandas.version)")
```typescript
const snapshot = await daytona.snapshot.create({
name: 'data-science',
image: Image.debianSlim('3.12').pipInstall(['pandas', 'numpy', 'scikit-learn']),
})
const sandbox = await daytona.create({ snapshot: snapshot.name })完整构建器API请查看。快照管理相关内容请查看。
Image./references/<lang>-sdk/declarative-builder.md./references/<lang>-sdk/snapshots.mdLong-running task pattern
长期运行任务模式
python
from daytona import Daytona
daytona = Daytona()
sandbox = daytona.create()python
from daytona import Daytona
daytona = Daytona()
sandbox = daytona.create()... clone repo, install deps, etc.
... 克隆仓库、安装依赖等操作 ...
Start a test suite in the background
在后台启动测试套件
sandbox.process.exec("nohup pytest --tb=short > /home/daytona/test.log 2>&1 &")
sandbox.process.exec("nohup pytest --tb=short > /home/daytona/test.log 2>&1 &")
Check progress later
后续检查进度
response = sandbox.process.exec("tail -5 /home/daytona/test.log")
print(response.result)
response = sandbox.process.exec("tail -5 /home/daytona/test.log")
print(response.result)
Download the full report when done
任务完成后下载完整报告
report = sandbox.fs.download_file("/home/daytona/test.log")
undefinedreport = sandbox.fs.download_file("/home/daytona/test.log")
undefinedPreview URLs
预览URL
Sandboxes expose HTTP services via preview URLs. Previews are token-authenticated by default, or public if (Python) / (TypeScript) at sandbox creation.
public=Truepublic: true- Token-authenticated — returns and
.url(send as.tokenheader)x-daytona-preview-token- Python: | TypeScript:
sandbox.get_preview_link(port)| Go:sandbox.getPreviewLink(port)| Ruby:sandbox.GetPreviewLink(port)sandbox.get_preview_link(port)
- Python:
- Signed URL (shareable) — token embedded in URL, no headers needed
- Python: | TypeScript:
sandbox.create_signed_preview_url(port, expires_in_seconds=3600)| Go:sandbox.getSignedPreviewUrl(port, 3600)| Ruby:sandbox.GetSignedPreviewLink(port, 3600)sandbox.create_signed_preview_url(port, expires_in_seconds: 3600)
- Python:
For details, see .
./references/<lang>-sdk/preview.md沙箱可通过预览URL暴露HTTP服务。默认情况下预览URL为令牌认证模式,若创建沙箱时设置(Python)或(TypeScript),则为公开模式。
public=Truepublic: true- 令牌认证模式 — 返回和
.url(需在请求头中携带.token)x-daytona-preview-token- Python: | TypeScript:
sandbox.get_preview_link(port)| Go:sandbox.getPreviewLink(port)| Ruby:sandbox.GetPreviewLink(port)sandbox.get_preview_link(port)
- Python:
- 可分享签名URL — 令牌嵌入URL中,无需携带请求头
- Python: | TypeScript:
sandbox.create_signed_preview_url(port, expires_in_seconds=3600)| Go:sandbox.getSignedPreviewUrl(port, 3600)| Ruby:sandbox.GetSignedPreviewLink(port, 3600)sandbox.create_signed_preview_url(port, expires_in_seconds: 3600)
- Python:
详细说明请查看。
./references/<lang>-sdk/preview.mdSandbox Limits & Constraints
沙箱限制与约束
| Constraint | Default | Maximum |
|---|---|---|
| vCPU per sandbox | 1 | 4 |
| RAM per sandbox | 1 GB | 8 GB |
| Disk per sandbox | 3 GiB | 10 GB |
Aggregate limits (total vCPU/RAM/disk across all sandboxes) depend on your organization tier:
| Tier | vCPU | RAM | Storage | Requirements |
|---|---|---|---|---|
| Tier 1 | 10 | 10 GiB | 30 GiB | Email verified |
| Tier 2 | 100 | 200 GiB | 300 GiB | Credit card + $25 top-up + GitHub connected |
| Tier 3 | 250 | 500 GiB | 2000 GiB | Business email + $500 top-up |
| Tier 4 | 500 | 1000 GiB | 5000 GiB | $2000 top-up every 30 days |
Resource state impact:
- Running sandboxes count against vCPU + RAM + disk
- Stopped sandboxes count only against disk
- Archived sandboxes have no quota impact (data in cold storage)
| 约束项 | 默认值 | 最大值 |
|---|---|---|
| 单沙箱vCPU数量 | 1 | 4 |
| 单沙箱内存 | 1 GB | 8 GB |
| 单沙箱磁盘容量 | 3 GiB | 10 GB |
总资源限制(所有沙箱的vCPU/内存/磁盘总和)取决于您的组织等级:
| 等级 | vCPU总数 | 内存总数 | 存储总数 | 要求 |
|---|---|---|---|---|
| 等级1 | 10 | 10 GiB | 30 GiB | 邮箱已验证 |
| 等级2 | 100 | 200 GiB | 300 GiB | 绑定信用卡 + 充值25美元 + 关联GitHub账号 |
| 等级3 | 250 | 500 GiB | 2000 GiB | 企业邮箱 + 充值500美元 |
| 等级4 | 500 | 1000 GiB | 5000 GiB | 每30天充值2000美元 |
资源状态影响:
- 运行中的沙箱占用vCPU + 内存 + 磁盘配额
- 已暂停的沙箱仅占用磁盘配额
- 已归档的沙箱不占用任何配额(数据存储在冷存储中)
Network access restrictions
网络访问限制
Tier 1 & Tier 2 organizations have restricted network access. Sandboxes can only reach a whitelist of essential services (package registries, Git hosts, AI APIs, CDNs, etc.). This restriction cannot be overridden at the sandbox level — even setting won't help if your org is Tier 1/2.
networkAllowListTier 3 & Tier 4 get full unrestricted internet access by default, with optional per-sandbox firewall controls.
If your code needs to reach arbitrary URLs (external APIs, custom services, etc.), you need Tier 3+. Check your tier at Daytona Dashboard > Limits.
Essential services available on all tiers include: npm/PyPI/apt registries, GitHub/GitLab/Bitbucket, Docker registries, major AI APIs (Anthropic, OpenAI, Google AI, etc.), S3, Google Cloud Storage, and common dev tools (Vercel, Supabase, Clerk, Sentry, etc.). For the full list, see network-limits.md. Missing a service? Submit a request at daytonaio/sandbox-network-whitelist.
View your usage at Daytona Dashboard > Limits. For full details, see limits.md.
等级1和等级2的组织存在网络访问限制。沙箱仅能访问白名单中的核心服务(包注册表、Git托管平台、AI API、CDN等)。此限制无法在沙箱级别覆盖——即使设置也无效,除非您的组织升级到等级3或更高。
networkAllowList等级3和等级4默认拥有完全不受限制的互联网访问权限,还可选择为单个沙箱配置防火墙控制。
若您的代码需要访问任意URL(外部API、自定义服务等),则需要等级3或更高。请前往Daytona控制台 > 限制查看您的组织等级。
所有等级均可访问的核心服务包括:npm/PyPI/apt注册表、GitHub/GitLab/Bitbucket、Docker注册表、主流AI API(Anthropic、OpenAI、Google AI等)、S3、Google Cloud Storage以及常用开发工具(Vercel、Supabase、Clerk、Sentry等)。完整列表请查看network-limits.md。若缺少所需服务,请前往daytonaio/sandbox-network-whitelist提交申请。
请前往Daytona控制台 > 限制查看您的资源使用情况。完整限制说明请查看limits.md。
Quick Decision Tree
快速决策树
| I need to... | Start here |
|---|---|
| Run code/commands in an isolated environment | SDK Essentials above, then |
| Make sandboxes start faster | |
| Persist data across sandbox runs | |
| Build a custom environment (specific OS, packages, deps) | |
| Control what a sandbox can access on the network | |
| Interact with a browser or GUI in the sandbox | |
| Run a stateful Python interpreter (persistent variables between calls) | |
| Store and retrieve objects (S3-compatible) | |
| SSH into a running sandbox | |
Replace with: , , , or .
<lang>-sdkpython-sdktypescript-sdkgo-sdkruby-sdk| 我需要... | 从这里开始 |
|---|---|
| 在隔离环境中运行代码/命令 | 上述SDK核心用法,然后查看 |
| 让沙箱启动更快 | |
| 在沙箱运行之间持久化数据 | |
| 构建自定义环境(特定操作系统、包、依赖) | |
| 控制沙箱可访问的网络资源 | |
| 在沙箱中与浏览器或GUI交互 | |
| 运行有状态的Python解释器(调用之间保留变量) | |
| 存储和检索对象(兼容S3) | |
| SSH连接到运行中的沙箱 | |
请将替换为:、、或。
<lang>-sdkpython-sdktypescript-sdkgo-sdkruby-sdkSDK Index
SDK索引
Python SDK (primary)
Python SDK(主要)
| File | Description |
|---|---|
| python-sdk/README.md | Installation, quickstart, configuration |
| python-sdk/sync/daytona.md | Daytona client — create, list, delete sandboxes |
| python-sdk/sync/sandbox.md | Sandbox instance — lifecycle, resources, labels |
| python-sdk/sync/process.md | Execute commands, run code |
| python-sdk/sync/file-system.md | File operations — read, write, upload, download |
| python-sdk/sync/git.md | Git operations — clone, commit, push, status |
| python-sdk/sync/snapshot.md | Snapshot management |
| python-sdk/sync/volume.md | Volume management |
| python-sdk/sync/code-interpreter.md | Stateful Python interpreter |
| python-sdk/sync/computer-use.md | Desktop automation (mouse/keyboard/screen) |
| python-sdk/sync/lsp-server.md | Language Server Protocol |
| python-sdk/sync/object-storage.md | S3-compatible object storage |
| python-sdk/errors.md | Error types |
| python-sdk/image.md | Custom image definitions |
Async versions mirror the sync API: python-sdk/async/.
| 文件 | 描述 |
|---|---|
| python-sdk/README.md | 安装、快速开始、配置 |
| python-sdk/sync/daytona.md | Daytona客户端 — 创建、列出、删除沙箱 |
| python-sdk/sync/sandbox.md | 沙箱实例 — 生命周期、资源、标签 |
| python-sdk/sync/process.md | 执行命令、运行代码 |
| python-sdk/sync/file-system.md | 文件操作 — 读取、写入、上传、下载 |
| python-sdk/sync/git.md | Git操作 — 克隆、提交、推送、状态查询 |
| python-sdk/sync/snapshot.md | 快照管理 |
| python-sdk/sync/volume.md | 存储卷管理 |
| python-sdk/sync/code-interpreter.md | 有状态Python解释器 |
| python-sdk/sync/computer-use.md | 桌面自动化(鼠标/键盘/屏幕) |
| python-sdk/sync/lsp-server.md | 语言服务器协议 |
| python-sdk/sync/object-storage.md | 兼容S3的对象存储 |
| python-sdk/errors.md | 错误类型 |
| python-sdk/image.md | 自定义镜像定义 |
异步版本与同步API结构一致:python-sdk/async/。
TypeScript SDK
TypeScript SDK
Flat structure (no sync/async split like Python): typescript-sdk/README.md. Files: , , , , , , , , , , , , , , .
daytona.mdsandbox.mdprocess.mdfile-system.mdgit.mdsnapshot.mdvolume.mdcode-interpreter.mdcomputer-use.mdlsp-server.mdobject-storage.mdexecute-response.mdpty-handle.mderrors.mdimage.md扁平化结构(无Python那样的同步/异步拆分):typescript-sdk/README.md。包含文件:、、、、、、、、、、、、、、。
daytona.mdsandbox.mdprocess.mdfile-system.mdgit.mdsnapshot.mdvolume.mdcode-interpreter.mdcomputer-use.mdlsp-server.mdobject-storage.mdexecute-response.mdpty-handle.mderrors.mdimage.mdGo SDK & Ruby SDK
Go SDK & Ruby SDK
Both follow the same patterns. Go uses a compact single-file structure: go-sdk/README.md. Ruby mirrors TypeScript: ruby-sdk/README.md.
两者遵循相同的模式。Go采用紧凑的单文件结构:go-sdk/README.md。Ruby与TypeScript结构类似:ruby-sdk/README.md。
Feature Guides (per-SDK)
功能指南(按SDK分类)
Each SDK folder contains the same set of feature guides with language-specific examples. To find a guide, use (e.g., , ).
./references/<lang>-sdk/<filename>./references/python-sdk/sandboxes.md./references/typescript-sdk/snapshots.md| Filename | Topic |
|---|---|
| Sandbox lifecycle — create, start, stop, archive, delete |
| Run commands and code, stateful interpreter |
| Read, write, upload, download files |
| Clone, commit, push, status |
| Build reusable sandbox templates from image definitions |
| Persistent storage across sandboxes |
| SSH into sandboxes |
| VNC for desktop sandboxes |
| Desktop automation (mouse/keyboard/screen) |
| Environment variables, config precedence |
| Custom sandbox images with the Image builder |
| Stream sandbox logs |
| Network firewall controls |
| IDE-like features (autocomplete, diagnostics) |
| Preview URLs for exposed ports |
| PTY/terminal support |
| Available regions |
| VPN connections |
| Quick start guide |
每个SDK文件夹都包含一套相同主题的功能指南,并提供对应语言的示例。查找指南时,请使用路径(例如,、)。
./references/<lang>-sdk/<filename>./references/python-sdk/sandboxes.md./references/typescript-sdk/snapshots.md| 文件名 | 主题 |
|---|---|
| 沙箱生命周期 — 创建、启动、暂停、归档、删除 |
| 运行命令和代码、有状态解释器 |
| 文件读取、写入、上传、下载 |
| Git克隆、提交、推送、状态查询 |
| 基于镜像定义构建可复用沙箱模板 |
| 跨沙箱的持久化存储 |
| SSH连接沙箱 |
| 桌面沙箱的VNC访问 |
| 桌面自动化(鼠标/键盘/屏幕) |
| 环境变量、配置优先级 |
| 使用Image构建器创建自定义沙箱镜像 |
| 沙箱日志流式传输 |
| 网络防火墙控制 |
| IDE级功能(自动补全、诊断) |
| 暴露端口的预览URL |
| PTY/终端支持 |
| 可用区域 |
| VPN连接 |
| 快速开始指南 |
Platform Reference
平台参考
| File | Description |
|---|---|
| limits.md | Resource limits, rate limits, tier requirements |
| organizations.md | Team management, member roles |
| billing.md | Usage tracking, pricing |
| audit-logs.md | Audit logging |
| linked-accounts.md | GitHub/GitLab account linking |
| web-terminal.md | Browser-based terminal access |
| webhooks.md | Webhook events |
| mcp.md | MCP integration |
| runners.md | Runner infrastructure |
| oss-deployment.md | Self-hosted deployment |
| cli.md | CLI command reference |
| 文件 | 描述 |
|---|---|
| limits.md | 资源限制、速率限制、等级要求 |
| organizations.md | 团队管理、成员角色 |
| billing.md | 使用量跟踪、定价 |
| audit-logs.md | 审计日志 |
| linked-accounts.md | GitHub/GitLab账号关联 |
| web-terminal.md | 基于浏览器的终端访问 |
| webhooks.md | Webhook事件 |
| mcp.md | MCP集成 |
| runners.md | 运行器基础设施 |
| oss-deployment.md | 自建部署 |
| cli.md | CLI命令参考 |
API Reference
API参考
Raw REST API documentation for all Daytona endpoints (sandboxes, snapshots, volumes, toolbox operations, etc.): api/README.md.
Daytona所有端点(沙箱、快照、存储卷、工具箱操作等)的原始REST API文档:api/README.md。