프로젝트 소개
Cloudflare Computer는 소프트웨어 에이전트에 내구성 있는 'computer'를 제공하는 프리뷰 단계 오픈소스 프로젝트(MIT 라이선스)입니다. 이 'computer'는 권위 있는 상태가 Cloudflare Durable Object 내부의 SQLite에 있는 가상 파일시스템이며, workspace.runtime을 통해 단일한 플러그형 실행 표면이 노출됩니다.
현재 세 가지 실행 백엔드가 함께 제공됩니다. Container 백엔드는 SQLite 상태를 샌드박스 컨테이너에 실제 FUSE 마운트로 투영합니다: computerd라는 샌드박스 측 데몬이 상태를 파일시스템으로 마운트하고 capnweb RPC 채널을 통해 변경 사항을 다시 동기화하며, 실제 바이너리와 실제 네트워크 접근을 갖춘 완전한 Linux 사용자 공간을 제공합니다. Isolate shell 백엔드는 Dynamic Worker 내부에서 just-bash를 실행하고 Workers RPC로 권위 있는 Workspace에 접근하므로, 두 번째 저장소나 동기화 왕복이 없습니다. Isolate JavaScript 백엔드는 구조화된 입력과 결과, 내구성 있는 상대 import, 설정된 라이브러리, Workspace 기반 node:fs/promises, 그리고 신뢰된 ws:git 및 ws:artifacts 모듈을 갖춘 새 Dynamic Worker에서 ECMAScript 모듈을 평가합니다.
Workspace는 안정된 ID로 여러 백엔드를 등록할 수 있습니다. workspace.runtime.exec(source, { backend })가 단일 실행 진입점이며, 선택된 백엔드가 source가 셸 명령인지 ES 모듈인지 결정합니다. 백엔드는 첫 사용 시 지연 연결되며, 백엔드 없이 Workspace를 구성하여 파일시스템만 노출할 수도 있습니다.
이 프로젝트는 명시적으로 PREVIEW ONLY로 표시됩니다: API는 불안정하고, 설계는 변경될 수 있으며, 프로덕션 사용에는 적합하지 않습니다. docs/ 아래 사양은 미래 지향적이며, 현재 코드를 설명하기보다 의도로 읽어야 합니다.
저장소는 작은 모노레포입니다. 패키지에는 @cloudflare/dofs(Durable Object SQLite 기반 가상 파일시스템, 동기화 프로토콜 구성 요소, Node용 @platformatic/vfs provider), @cloudflare/computer-rpc(capnweb wire types 및 공유 서버/클라이언트 헬퍼), @cloudflare/computerd(샌드박스 컨테이너 내부에서 실행되는 FUSE 마운트와 HTTP/WebSocket RPC 데몬), @cloudflare/computer(Durable Object에서 소비되는 최상위 패키지)가 포함됩니다. 비공개 Docker image context는 사전 빌드된 computerd linux-x64 바이너리를 포함하며, npm 패키지가 아니라 image가 릴리스 아티팩트 역할을 합니다.
examples 디렉터리에는 공개 표면을 보여주는 실행 가능한 Workers가 들어 있습니다: write/read/exec HTTP 엔드포인트가 있는 container 예제; 컨테이너가 필요 없는 worker-shell 및 worker-javascript 변형; 백엔드 전반에서 none, all, 사용자 지정 egress 정책을 보여주는 egress 예제; 내구성 있는 workspace, Worker shell, 완전한 Linux 컨테이너를 기반으로 하는 Code Mode code 도구를 노출하는 MCP 예제; 생성된 JavaScript가 Workspace에서 긴 컨텍스트를 읽고, 바운디드 model workers를 호출하며, 그들의 구조화된 결과를 코드로 reduce하는 rlm 예제; @cloudflare/think chat agent가 workspace를 작업 디렉터리로 사용하는 think 및 think-compare-runtimes 예제(컨테이너와 worker 런타임에 동일한 agent 작업을 나란히 실행하는 web UI 포함); markdown recipe card를 작성하고 컨테이너에서 pandoc을 실행해 PDF를 생성하는 단계별 튜토리얼; workspace에서 Worker 프로젝트를 생성하고 clone 가능한 저장소로 Cloudflare Artifacts에 게시하는 artifacts 예제; 프롬프트를 Workers AI로 이미지로 변환하고 공유 가능한 링크를 반환하는 assets 예제.
저장소는 docs/19_performance.md에 파일시스템 벤치마크를 게시합니다. 여기서 프로젝트는 computerd의 FUSE 마운트가 메타데이터 중심 작업에서 실제 디스크보다 빠르고, 대형 순차 I/O에서는 뒤처진다고 명시하며, 재현 지침과 비교를 포함합니다.
기여는 issues와 discussions를 통한 버그 보고, 수정 제안, 기능 요청, 설계 제안으로 제한되며, 요청되지 않은 pull requests는 허용되지 않습니다. 예제 Env types는 저장소에 커밋되지 않고 wrangler types로 생성됩니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.