CelestoAI/SmolVM
Python0 / 0
AI 에이전트용 격리 microVM을 Python과 CLI로 실행하는 sandbox 인프라입니다.
TL;DR
SmolVM은 AI 에이전트가 코드 실행, 브라우저 자동화, 파일 작업을 별도 microVM에서 수행하도록 만드는 Python SDK 겸 CLI 도구입니다. Firecracker, QEMU, libkrun을 하나의 API로 감싸며 Linux와 macOS를 중심으로 서브세컨드 부팅, 네트워크 도메인 제한, 디렉터리 마운트, 파일 업로드, snapshot 기능을 제공합니다. Browser sandbox는 CDP·viewer·VNC endpoint를 제공하고 OpenAI Agents, LangChain, PydanticAI 연동 예제도 포함합니다. 다만 기본 인터넷 접근과 자동 신뢰 설정, Linux 호스트가 필요한 Windows 게스트, macOS 기능의 preview 상태를 운영 환경에서 확인해야 합니다.
핵심 포인트
- SmolVM은 AI 에이전트가 실행할 코드를 별도 microVM에서 처리하도록 만드는 Python 기반 sandbox 인프라입니다. Firecracker, QEMU, libkrun을 지원하는 통합 API와 CLI를 제공해 에이전트별 일회성 실행 환경을 만들고 종료할 수 있습니다. Python 3.11 이상과 Apache 2.0 라이선스를 사용하며, Linux와 macOS를 중심으로 동작합니다.
- `SmolVM()`은 샌드박스를 만들고 명령을 실행한 뒤 중지하는 흐름을 제공하며, CLI에서는 생성·조회·셸 접속·단일 명령 실행·로그 확인을 나눠 사용할 수 있습니다. 기본 설치는 `pip install smolvm`, `smolvm setup`, `smolvm doctor` 순서이며 Linux에서는 호스트 의존성과 권한 설정에 sudo가 필요할 수 있습니다. 개발 환경 격리나 AI가 생성한 코드의 안전한 실행처럼 작업 단위별 VM이 필요한 경우에 적합합니다.
- 브라우저 샌드박스는 Chromium의 CDP endpoint, 실시간 viewer URL, VNC용 display URL을 분리해 제공하며 headless와 visible 모드를 선택할 수 있습니다. 따라서 Playwright·CDP 자동화와 화면 기반 computer-use를 같은 VM 환경에서 연결할 수 있고, CLI에서는 `smolvm browser start --live`로 실행할 수 있습니다. OpenAI Agents, LangChain, PydanticAI 연동 예제가 있어 기존 에이전트 프레임워크에 shell 또는 browser 도구로 감싸기 쉽습니다.
- 호스트 디렉터리는 기본적으로 읽기 전용으로 `/workspace` 등에 마운트되고, `--writable-mounts`를 지정할 때만 게스트의 변경 사항이 호스트에 즉시 반영됩니다. 전체 디렉터리 대신 실행 중인 VM에 개별 파일을 업로드할 수도 있으며, context manager가 끝나면 임시 샌드박스와 업로드 파일을 정리합니다. 다만 쓰기 가능한 마운트는 해당 명령의 모든 마운트에 적용되므로 원본 보호가 필요한 경로와 함께 사용할 때 주의해야 합니다.
벤치마크
| 벤치마크 | 지표 | 값 | 비교 |
|---|---|---|---|
| Cold start | 부팅 시간 | 약 500ms | — |
이미지 분석

770
Stars
59
Forks
+204
Trending
0
조회수
770 watchers12 open issuesApache License 2.0
관련 토론
아직 관련 토론이 없습니다.
댓글
댓글을 작성하려면 로그인이 필요합니다.