cloudflare/computer

Give your agent a computer 👾

해결하는 문제

Cloudflare Computer는 다양한 실행 환경의 작업 디렉터리로 사용할 수 있는 지속 가능한 가상 파일 시스템을 제공합니다. Durable Objects를 통해 SQLite 데이터베이스에 저장된 일관된 상태를 유지하면서, 격리된 사전(컨테이너 또는 워커)에서 코드나 쉘 명령어를 실행할 수 있습니다.

작동 방식

시스템은 SQLite에 파일 시스템의 권위 있는 상태를 보유하는 Durable Object를 사용합니다. 이 상태는 다음 세 가지 플러그인 가능한 실행 백엔드 중 하나로 투영됩니다:

  • 컨테이너: Linux 사전 환경 컨테이너 내에서 실제 FUSE 마운트로 상태를 투영하여 실제 바이너리와 네트워크 접근을 가능하게 합니다.
  • Isolate shell: Dynamic Worker 내에서 just-bash를 통해 bash 쉘을 실행합니다.
  • Isolate JavaScript: Dynamic Worker 내에서 ECMAScript 모듈을 실행하고 가상 파일 시스템에 접근할 수 있습니다.

실행은 단일 엔트리 포인트(workspace.runtime.exec)를 통해 처리되며, 선택된 백엔드에 따라 쉘 명령어 또는 JavaScript 모듈을 실행할지 결정합니다.

대상 사용자

지속적인 작업 공간, 임의의 코드/명령어 실행, 격리된 실행 환경이 필요한 에이전트, 프로토타입, 실험적 도구를 개발하는 개발자에게 적합합니다.

주요 특징

  • 플러그인 가능한 런타임: 완전한 Linux 컨테이너와 가벼운 워커 이소레이트 간 전환 가능.
  • SQLite 기반 상태: Durable Objects를 사용하여 권위적이고 지속 가능한 파일 시스템 상태를 유지.
  • FUSE 통합: 컨테이너 백엔드는 RPC를 통해 상태를 동기화하는 데몬(computerd)을 사용합니다.
  • 에이전트 준비: 워크스페이스를 작업 디렉터리로 사용하는 MCP(Model Context Protocol) 및 채팅 에이전트 예제 포함.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트