CelestoAI/celesto
Secure and persistent computer for AI agents
Celesto AI – AI 에이전트를 위한 안전하고 지속적인 샌드박스
개요 – Celesto(이전 명칭 SmolVM)는 대규모 언어 모델 에이전트(Claude, Codex, Pi 등)에게 코드 실행, 웹 브라우징 또는 전체 데스크톱 환경 사용을 가능하게 하는 개인용 고속 부팅 가상 컴퓨터를 제공하는 오픈소스 플랫폼입니다. 각 샌드박스는 경량 마이크로 VM(Linux의 Firecracker, KVM 기반 Windows 게스트)으로, 약 500ms 내에 부팅되며 하드웨어 수준에서 에이전트를 호스트와 격리하고 여러 API 호출에 걸쳐 유지될 수 있습니다.
중요성 – AI가 생성한 코드를 개발자의 노트북에서 직접 실행하는 것은 위험합니다. Celesto를 사용하면 일회용 VM 내에서 코드를 실행할 수 있으며, 다음과 같은 기능을 제공합니다:
- 턴 간에 파일과 상태를 유지하여 다단계 워크플로우 가능.
- "컴퓨터 사용" 에이전트를 위한 실제 브라우저 또는 전체 데스크톱 제공.
- 엄격한 네트워크 정책(차단, 제한된 CIDR 또는 전체 인터넷) 강제.
- 호스트 디렉토리를 읽기 전용 또는 쓰기 가능으로 마운트하여 파일을 복사하지 않고 기존 코드베이스에서 작업 가능.
- VM 스냅샷 생성 및 재개, 또는 Python
with블록 종료 시 자동 삭제.
핵심 구성 요소
| 구성 요소 | 기능 |
|---|---|
Python SDK (celesto 패키지) |
생성, 명령 실행, 파일 업로드, 디렉토리 마운트, 터미널 열기, 브라우저 관리를 위한 고수준 Computer / Celesto 클래스. |
CLI (celesto 명령) |
샌드박스 생성, 목록 확인, 중지, 셸 접속, 삭제; 브라우저 또는 데스크톱 세션 시작; Windows/macOS 미리보기 관리. |
TypeScript 미리보기 (@celestoai/smolvm) |
JavaScript/TypeScript로 작성된 서버 측 에이전트에 유용한 동일한 샌드박스 기능을 위한 Node.js API. |
| Firecracker 기반 Linux 마이크로 VM | 초고속 부팅, 하드웨어 격리, 구성 가능한 네트워크, 스냅샷 지원. |
| Windows 11 게스트 지원 | KVM이 있는 Linux 호스트에서 실행; PowerShell 액세스 및 병렬 샌드박싱 제공. |
| macOS 데스크톱 미리보기 | Apple 실리콘 Mac에서 UI 테스트를 위한 임시 macOS 데스크톱 실행(약 50GB 다운로드 필요). |
일반적인 사용 사례
- AI 생성 코드의 안전한 실행 – 호스트 OS를 위험에 빠뜨리지 않고 신뢰할 수 없는 코드 조각 실행.
- 에이전트를 위한 브라우저 자동화 – CDP, VNC 또는 뷰어 URL을 통해 제어할 수 있는 라이브 Chromium 인스턴스를 LLM에 제공.
- 코드베이스 지원 – 프로젝트 디렉토리를 마운트하여 에이전트가 샌드박스 내에서 읽기, 편집 및 변경 사항 커밋 가능.
- 상태 유지 다중 턴 워크플로우 – 여러 API 호출에 걸쳐 동일한 VM을 유지하여 컨텍스트 보존.
- 설치 프로그램 또는 GUI 앱 테스트 – macOS 또는 Linux 데스크톱 미리보기를 사용하여 UI 상호작용 자동화.
시작하기(퀵스타트)
# alpha 패키지 설치(Python 3.11+ 필요)
pip install 'celesto==0.0.15a0'
# 호스트 의존성 준비(Linux에서는 sudo가 필요할 수 있음)
celesto setup
celesto doctor # 상태 점검
from celesto import Computer
# 메시지를 출력하는 일회용 샌드박스
with Computer(local=True) as comp:
out = comp.run("echo 'Hello from the sandbox!'")
print(out.stdout)
with 블록이 끝나면 샌드박스는 사라집니다. 지속적인 VM이 필요한 경우 lifetime="persistent"로 생성하고 나중에 Computer.get(id, local=True)를 통해 다시 연결하십시오.
클라우드에서 실행 – CELESTO_API_KEY를 설정하고 local=True를 생략하십시오. 동일한 Python API가 작동하지만 클라우드 사용 시 비용이 발생할 수 있습니다.
CLI 예제
# 샌드박스 생성, 목록 확인 및 중지
celesto sandbox create --name demo
celesto sandbox list
celesto sandbox stop demo
# 대화형 셸 열기
celesto sandbox shell demo
# 단일 명령 실행(스크립트에서 유용)
celesto sandbox exec demo -- python --version
브라우저 샌드박스 – 표시 가능한 Chromium 인스턴스를 시작하고 실시간으로 확인:
celesto browser start --live
# 뷰어 URL과 VNC URL이 출력됩니다. 브라우저에서 뷰어를 열어 세션을 확인하십시오.
Python 사용 시:
from celesto import Celesto
with Celesto.browser(headless=False) as b:
print(b.viewer_url) # 열어서 확인
print(b.cdp_url) # Playwright / CDP 도구에 전달
Windows 샌드박스 – KVM이 있는 Linux 호스트가 필요합니다. ISO에서 이미지를 빌드하거나 기존 QCOW2를 사용하십시오:
celesto windows build-image --iso Win11.iso --virtio-win-iso virtio-win.iso --output ~/.smolvm/images/win11.qcow2
그런 다음 os="windows"를 사용하여 Python API를 사용하십시오.
보안 및 격리
- 각 샌드박스는 자체 VM 내에서 실행됩니다(하드웨어 수준 격리).
- 네트워크는 완전히 비활성화하거나 특정 CIDR 블록으로 제한할 수 있습니다.
- 파일 시스템 마운트는 기본적으로 읽기 전용입니다. 쓰기 가능 마운트는 명시적으로 요청해야 합니다.
- 스냅샷은 전체 메모리, 디스크 및 프로세스 상태를 캡처하여 나중에 재개할 수 있습니다.
문서 및 커뮤니티
- 전체 문서: https://docs.celesto.ai
- 퀵스타트, API 참조, 네트워크, macOS, Windows 및 브라우저 샌드박스 가이드.
- Discord 커뮤니티 지원: https://discord.gg/KNb5UkrAmm
성숙도 – 이 프로젝트는 alpha 릴리스(0.0.15a0) 단계입니다. 핵심 Linux 마이크로 VM 기능은 안정적이지만 Windows 및 macOS 미리보기는 여전히 실험적입니다. CI 배지는 테스트 및 CodeQL 스캔이 통과되었음을 보여줍니다.
결론 – Celesto는 LLM 기반 에이전트에게 자체적인 고속 격리 컴퓨터를 제공하기 위한 인프라를 제공합니다. 헤드리스 명령 실행기, 전체 브라우저, 데스크톱 UI 중 무엇이 필요하든 대응 가능합니다. VM 프로비저닝, 네트워크 및 지속성을 추상화하여 개발자가 AI 기반 워크플로우를 안전하게 구축하는 데 집중할 수 있도록 합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트