Repolode
capsulerun

capsulerun/runtime

AI 에이전트를 위한 비신뢰 코드를 작업별 CPU·메모리·시간 제한이 적용된 격리형 WebAssembly 샌드박스에서 실행하는 런타임입니다.

스타
303
포크
22
열린 이슈
0
마지막 커밋
26일 전

어떤 프로젝트인가요?

Capsule은 비신뢰 코드를 격리된 환경에서 실행하는 런타임입니다. 각 작업은 호스트 시스템과 분리된 자체 WebAssembly 샌드박스에서 실행됩니다. 개발자는 Python 또는 TypeScript/JavaScript 함수를 task wrapper로 표시하면, 런타임이 파일을 WebAssembly로 컴파일해 실행합니다.

각 작업에는 컴퓨팅 수준, RAM 제한, 시간 제한, 재시도 횟수를 지정할 수 있습니다. CPU 사용량은 WebAssembly fuel 계측으로 제어합니다. 파일 접근은 읽기 전용 또는 읽기·쓰기 모드로 명시적으로 허용한 디렉터리로 제한되며, 외부 네트워크 접근은 허용 목록에 지정된 호스트로 제한됩니다. 환경 변수는 목록에 포함된 항목만 노출됩니다. 실행할 때마다 결과, 오류 세부 정보, 실행 시간·소비한 fuel·최대 메모리 사용량 등의 실행 지표를 담은 JSON envelope가 반환됩니다.

프로젝트는 CLI(capsule run, capsule build)와 Python 및 npm SDK를 제공합니다. 여기에는 호스트 코드에서 샌드박스 작업을 호출하는 run() 함수도 포함됩니다. C 확장에 의존하는 Python 패키지를 샌드박스에서 실행하려면 wasm32-wasi 빌드가 있어야 합니다.

핵심 기능

  • 01각 작업을 호스트와 격리된 자체 WebAssembly 샌드박스에서 실행합니다.
  • 02fuel 계측으로 CPU 사용량을 제한하고, 작업별 RAM 및 실행 시간 제한을 설정합니다.
  • 03읽기 전용 또는 읽기·쓰기 모드로 지정한 디렉터리만 파일에 접근하도록 제한합니다.
  • 04외부 HTTP 요청을 허용 목록에 등록된 도메인으로 제한합니다.
  • 05자동 재시도를 지원하며 Python 및 TypeScript/JavaScript 작업을 실행합니다.
  • 06실행 시간, fuel, 메모리 지표가 포함된 구조화된 JSON 결과를 반환합니다.

활용 사례

  • 호스트 시스템을 노출하지 않고 코드 인터프리터에서 LLM이 생성한 코드를 실행합니다.
  • 파일, 네트워크 호스트, 환경 변수에 엄격한 제한을 적용해 AI 에이전트의 도구 호출을 실행합니다.
  • 예측 가능한 리소스 제한이 필요한 소규모 서버리스 스타일 함수를 패키징합니다.
  • run()을 통해 호스트 애플리케이션에서 샌드박스화된 Python 또는 TypeScript 코드를 호출합니다.

빠른 시작

  1. 1

    Python 패키지를 설치합니다

    pip install capsule-run
  2. 2

    인사말을 반환하는 main 작업이 포함된 hello.py를 만듭니다

  3. 3

    Capsule CLI로 파일을 실행합니다

    capsule run hello.py

사용 전 알아둘 점

  • README에는 Python과 TypeScript 예제만 있어 다른 언어는 다루지 않습니다.
  • capsule build로 미리 컴파일하지 않으면 소스 파일 컴파일로 인해 첫 실행 시 몇 초의 지연이 발생합니다.

포함된 컬렉션

토픽

자주 묻는 질문

runtime은(는) 무엇인가요?
AI 에이전트를 위한 비신뢰 코드를 작업별 CPU·메모리·시간 제한이 적용된 격리형 WebAssembly 샌드박스에서 실행하는 런타임입니다. Capsule은 비신뢰 코드를 격리된 환경에서 실행하는 런타임입니다. 각 작업은 호스트 시스템과 분리된 자체 WebAssembly 샌드박스에서 실행됩니다. 개발자는 Python 또는 TypeScript/JavaScript 함수를 task wrapper로 표시하면, 런타임이 파일을 WebAssembly로 컴파일해 실행합니다.
runtime은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
runtime은(는) Apache-2.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
runtime은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. runtime의 마지막 커밋은 2026년 10월 12일입니다.
runtime은(는) 어디에 사용할 수 있나요?
호스트 시스템을 노출하지 않고 코드 인터프리터에서 LLM이 생성한 코드를 실행합니다. 파일, 네트워크 호스트, 환경 변수에 엄격한 제한을 적용해 AI 에이전트의 도구 호출을 실행합니다. 예측 가능한 리소스 제한이 필요한 소규모 서버리스 스타일 함수를 패키징합니다. run()을 통해 호스트 애플리케이션에서 샌드박스화된 Python 또는 TypeScript 코드를 호출합니다.
runtime는 어떻게 설치하나요?
Python 패키지를 설치합니다: pip install capsule-run 인사말을 반환하는 main 작업이 포함된 hello.py를 만듭니다 Capsule CLI로 파일을 실행합니다: capsule run hello.py
runtime은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/capsulerun/runtime

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트