Sobre el proyecto

Cloudflare Computer es un proyecto de código abierto en etapa de vista previa (licencia MIT) que brinda a los agentes de software una 'computadora' duradera: un sistema de archivos virtual cuyo estado autoritativo reside en SQLite dentro de un Durable Object de Cloudflare, más una superficie de ejecución conectable única expuesta a través de workspace.runtime. Hoy se incluyen tres backends de ejecución. El backend de contenedor proyecta el estado de SQLite en un contenedor sandbox como un montaje FUSE real: un daemon del lado del sandbox llamado computerd monta el estado como sistema de archivos y sincroniza los cambios de vuelta a través de un canal RPC capnweb, proporcionando un entorno Linux completo con binarios reales y acceso de red real. El backend de shell Isolate ejecuta solo bash dentro de un Dynamic Worker y alcanza el Workspace autoritativo a través de Workers RPC, por lo que no hay un segundo almacenamiento ni viaje de sincronización. El backend de JavaScript Isolate evalúa un módulo ECMAScript en un Dynamic Worker nuevo con entradas y resultados estructurados, importaciones relativas duraderas, bibliotecas configuradas, node:fs/promises respaldado por Workspace y módulos confiables ws:git y ws:artifacts. Un Workspace puede registrar múltiples backends bajo IDs estables. workspace.runtime.exec(source, { backend }) es el único punto de entrada de ejecución, y el backend seleccionado determina si el source es un comando de shell o un módulo ES. Los backends se conectan de forma diferida en el primer uso, y un Workspace también puede construirse sin ningún backend, exponiendo el sistema de archivos por sí solo. El proyecto está explícitamente etiquetado como SOLO VISTA PREVIA: las APIs son inestables, el diseño está sujeto a cambios y no es adecuado para producción. La especificación en docs/ es prospectiva y debe leerse como intención, no como descripción del código actual. El repositorio es un monorepo pequeño. Los paquetes incluyen @cloudflare/dofs (sistema de archivos virtual respaldado por SQLite para Durable Objects, bloques de protocolo de sincronización y un proveedor @platformatic/vfs para Node), @cloudflare/computer-rpc (tipos de cable capnweb y ayudantes compartidos de servidor/cliente), @cloudflare/computerd (el montaje FUSE más el daemon RPC HTTP/WebSocket que se ejecuta dentro del contenedor sandbox) y @cloudflare/computer (el paquete de nivel superior consumido por Durable Objects). Un contexto de imagen Docker privado incluye un binario precompilado computerd linux-x64, sirviendo la imagen como artefacto de lanzamiento en lugar de un paquete npm. El directorio examples contiene Workers ejecutables que demuestran la superficie pública: un ejemplo de contenedor con endpoints HTTP de escritura/lectura/ejecución; variantes worker-shell y worker-javascript que no necesitan contenedor; un ejemplo de egress que muestra políticas de egress ninguna, todas y personalizadas entre backends; un ejemplo MCP que expone una herramienta de código Code Mode respaldada por un workspace duradero, un shell de Worker y un contenedor Linux completo; un ejemplo rlm donde JavaScript generado lee contexto largo de un Workspace, llama a workers de modelo acotados y reduce sus resultados estructurados con código; ejemplos think y think-compare-runtimes donde un agente de chat @cloudflare/think usa el workspace como directorio de trabajo, incluida una interfaz web que ejecuta la misma tarea de agente contra runtimes de contenedor y worker lado a lado; un tutorial paso a paso que escribe una tarjeta de receta en markdown y ejecuta pandoc en el contenedor para producir un PDF; un ejemplo de artefactos que genera un proyecto de Worker en un workspace y lo publica en Cloudflare Artifacts como repositorio clonable; y un ejemplo de assets que convierte un prompt en imagen con Workers AI y devuelve un enlace compartible. El repositorio publica benchmarks del sistema de archivos en docs/19_performance.md, donde el proyecto afirma que el montaje FUSE de computerd supera al disco real en trabajo pesado de metadatos y se queda atrás en E/S secuencial grande, con instrucciones de reproducción y comparaciones incluidas. La contribución se limita a informes de errores, propuestas de corrección, solicitudes de funciones y propuestas de diseño a través de issues y discusiones; no se aceptan pull requests no solicitados. Los tipos de Env de ejemplo se generan con wrangler types en lugar de comprometerse en el repositorio.