GetNotes Tools
daytonaio/daytona
Tool นี้คืออะไร
Daytona เป็นแพลตฟอร์ม Open Source ที่ให้บริการโครงสร้างพื้นฐานที่ปลอดภัยและยืดหยุ่นสำหรับการรันโค้ดที่สร้างโดย AI และเวิร์กโฟลว์ของเอเจนต์ เหมาะสำหรับนักพัฒนาและเอเจนต์ AI ที่ต้องการสภาพแวดล้อมที่แยกจากกันและคาดการณ์ได้
ข้อมูลโปรเจกต์
ดาว
72.1K
Forks
5.7K
License
ไม่ระบุ
อัปเดต GitHub ล่าสุด
24 ก.ค. 2569
เพิ่มใน GetNotes
14 ก.ค. 2569
Repository
daytonaio/daytona
เหมาะกับงาน
เหมาะกับอาชีพ
แปลและเรียบเรียงโดย AI
เนื้อหาฉบับภาษาไทย
ใช้อ่านเพื่อทำความเข้าใจเบื้องต้น โปรดตรวจสอบรายละเอียดสำคัญกับเอกสารต้นฉบับด้านล่าง
ที่เก็บนี้ไม่ได้รับการดูแลอีกต่อไป
ตั้งแต่มิถุนายน 2026 การพัฒนาหลักของ Daytona ได้ย้ายไปยังโค้ดเบสส่วนตัว ที่เก็บนี้จะไม่ได้รับการอัปเดต การแก้ไข หรือการเผยแพร่ใดๆ อีกต่อไป ยังคงเป็นสาธารณะและใช้งานได้ฟรี สามารถ fork และพัฒนาต่อได้ภายใต้ LICENSE ตามสภาพที่เป็นอยู่ โดยไม่มีการสนับสนุนหรือการรับประกัน
แหล่งข้อมูลของ Daytona มีอยู่ที่ github.com/daytona

Daytona คือรันไทม์โครงสร้างพื้นฐานที่ปลอดภัยและยืดหยุ่นสำหรับการประมวลผลโค้ดที่สร้างโดย AI และเวิร์กโฟลว์ของเอเจนต์ แพลตฟอร์ม Open Source ของเรามี sandboxes ซึ่งเป็นคอมพิวเตอร์ที่ประกอบขึ้นได้อย่างสมบูรณ์พร้อมการแยกส่วนที่สมบูรณ์ เคอร์เนลเฉพาะ ไฟล์ระบบ สแต็กเครือข่าย และ vCPU, RAM และดิสก์ที่จัดสรรไว้
Sandboxes เป็นส่วนประกอบหลักของแพลตฟอร์ม Daytona โดยสามารถเริ่มทำงานได้ภายในเวลาไม่ถึง 90 มิลลิวินาทีตั้งแต่โค้ดจนถึงการประมวลผล และสามารถรันโค้ดใดๆ ก็ได้ใน Python, TypeScript และ JavaScript สร้างขึ้นบนความเข้ากันได้กับ OCI/Docker, การประมวลผลแบบขนานขนาดใหญ่ และการคงอยู่ของข้อมูลแบบไม่จำกัด ทำให้ sandboxes มอบสภาพแวดล้อมที่สอดคล้องและคาดการณ์ได้สำหรับเวิร์กโฟลว์ของเอเจนต์
เอเจนต์และนักพัฒนาสามารถโต้ตอบกับ sandboxes ได้ด้วยโปรแกรมโดยใช้ SDKs, API และ CLI ของ Daytona การดำเนินการครอบคลุมการจัดการวงจรชีวิตของ sandbox, การดำเนินการกับไฟล์ระบบ, การประมวลผลและการรันโค้ด, และการกำหนดค่ารันไทม์ผ่านอิมเมจพื้นฐาน, แพ็กเกจ และเครื่องมือต่างๆ snapshots ของสภาพแวดล้อมแบบมีสถานะของเราช่วยให้การทำงานของเอเจนต์คงอยู่ได้ตลอดหลายเซสชัน ทำให้ Daytona เป็นรากฐานที่เหมาะสำหรับสถาปัตยกรรมเอเจนต์ AI
คุณสมบัติ
Daytona มีชุดคุณสมบัติและเครื่องมือที่ครอบคลุมสำหรับการโต้ตอบกับ sandboxes
- แพลตฟอร์ม: การกำกับดูแลและการควบคุมการปฏิบัติงานสำหรับองค์กรที่ใช้ Daytona เป็นมาตรฐาน
- Sandboxes: คอมพิวเตอร์ที่ประกอบขึ้นได้อย่างสมบูรณ์แบบแยกส่วนที่ประมวลผลเวิร์กโหลดและรักษาสถานะ
- เครื่องมือสำหรับเอเจนต์: ความสามารถในการเขียนโปรแกรมสำหรับโค้ดแอปพลิเคชัน, เอเจนต์ และการผสานรวม
- เครื่องมือสำหรับมนุษย์: อินเทอร์เฟซและเซสชันระยะไกลสำหรับการโต้ตอบกับ sandboxes
- เครื่องมือระบบ: ฮุกและส่วนควบคุมระดับแพลตฟอร์มสำหรับเหตุการณ์วงจรชีวิตและการเข้าถึงเครือข่าย
สถาปัตยกรรม
แพลตฟอร์ม Daytona จัดระเบียบเป็นส่วนประกอบหลายระนาบ (plane components) โดยแต่ละส่วนมีวัตถุประสงค์เฉพาะ ภาพรวมโดยละเอียดของแต่ละส่วนประกอบมีอยู่ใน เอกสารสถาปัตยกรรม
- ระนาบอินเทอร์เฟซ: มีอินเทอร์เฟซไคลเอ็นต์สำหรับการโต้ตอบกับ Daytona
- ระนาบควบคุม: ประสานงานการดำเนินการ sandbox ทั้งหมด
- ระนาบประมวลผล: รันและจัดการอินสแตนซ์ sandbox
ไลบรารีไคลเอ็นต์
ไลบรารีไคลเอ็นต์ผสานรวมแพลตฟอร์ม Daytona จากโค้ดแอปพลิเคชันผ่าน SDKs สำหรับนักพัฒนาที่รองรับโดย REST client ที่สร้างจาก OpenAPI และ toolbox API client แต่ละไดเรกทอรีเป็นแพ็กเกจที่เผยแพร่ได้สำหรับภาษาหรือรันไทม์เฉพาะ ซึ่งมีอยู่ในไดเรกทอรี libs
Python
pip install daytonaแพ็กเกจและไลบรารีแบบสแตนด์อโลนสำหรับการโต้ตอบกับ Daytona โดยใช้ Python:
TypeScript
npm install @daytona/sdkแพ็กเกจและไลบรารีแบบสแตนด์อโลนสำหรับการโต้ตอบกับ Daytona โดยใช้ TypeScript:
Ruby
gem install daytonaแพ็กเกจและไลบรารีแบบสแตนด์อโลนสำหรับโต้ตอบกับ Daytona โดยใช้ Ruby:
Go
go get github.com/daytonaio/daytona/libs/sdk-goแพ็กเกจและไลบรารีแบบสแตนด์อโลนสำหรับโต้ตอบกับ Daytona โดยใช้ 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>แพ็กเกจและไลบรารีแบบสแตนด์อโลนสำหรับโต้ตอบกับ Daytona โดยใช้ Java:
เริ่มต้นใช้งานอย่างรวดเร็ว
- 1สร้างบัญชีที่ app.daytona.io
- 2สร้าง API key
- 3สร้าง 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.resultGo 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เอกสารโปรเจกต์
อ่านเอกสารต้นฉบับ
README วิธีติดตั้ง วิธีใช้งาน และข้อกำหนดจาก repository ต้นฉบับ
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 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: governance and operational controls for organizations standardizing on Daytona
- Sandboxes: isolated full composable computers that execute workloads and retain state
- Agent tools: programmatic capabilities for application code, agents, and integrations
- Human tools: interfaces and remote sessions for interacting with sandboxes
- System tools: platform-level hooks and controls for lifecycle events and network access
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.
- Interface plane: provides client interfaces for interacting with Daytona
- Control plane: orchestrates all sandbox operations
- Compute plane: runs and manages sandbox instances
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 daytonaStandalone packages and libraries for interacting with Daytona using Python:
TypeScript
npm install @daytona/sdkStandalone packages and libraries for interacting with Daytona using TypeScript:
Ruby
gem install daytonaStandalone packages and libraries for interacting with Daytona using Ruby:
Go
go get github.com/daytonaio/daytona/libs/sdk-goStandalone packages and libraries for interacting with Daytona using 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:
Quick Start
- 1Create an account at app.daytona.io
- 2Generate an API key
- 3Create 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.resultGo 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