Cloudflare Computer is a virtual filesystem that lives inside a
Durable Object. The Durable Object holds the authoritative state in
SQLite and exposes one pluggable execution surface through
workspace.runtime. Three backends ship today:
- Container projects the SQLite state into a sandbox container as
a real FUSE mount. A sandbox-side daemon (
computerd) mounts the state as a filesystem and syncs changes back over a capnweb RPC channel. Full Linux userland, real binaries, real network. - Isolate shell runs just-bash in a Dynamic Worker. It reaches the authoritative Workspace over Workers RPC, so there is no second store or sync round trip.
- Isolate JavaScript runs an ECMAScript module in a fresh Dynamic
Worker with structured input/results, durable relative imports,
configured libraries, Workspace-backed
node:fs/promises, and trustedws:gitandws:artifactsmodules.
A Workspace may register multiple backends under stable IDs.
workspace.runtime.exec(source, { backend }) is the single execution
entry point; the selected backend defines whether source is a shell
command or an ECMAScript module. Backends connect lazily on first use.
Workspace can also be constructed without a backend at all, giving callers the filesystem on its own.
Important
PREVIEW ONLY This package is provided as a preview for feedback only. APIs are unstable and the design is subject to change.
Suitable for experiments, exploration and prototypes. It is NOT suitable for production use at this time.
The specification under docs/ is forward-looking โ read it for
intent, not as description of the code today.
If you want to build on Cloudflare Computer, install
@cloudflare/computer and follow that
package's README โ it has the installation steps, the entrypoint map,
and worked examples of the fs and runtime surfaces.
To work on this repository itself, see
CONTRIBUTING.md for setup, build, and test
instructions.
The examples/ directory holds runnable consumers of the
public surface. Each is a Worker workspace with its own README.
examples/containerโ runscomputerdinside a container, mounts a workspace, and talks to a Durable Object over capnweb. Awrite/read/execHTTP surface.examples/worker-shellโ same HTTP surface as the container example, but the shell runs just-bash in a Dynamic Worker loaded throughenv.LOADER. No container.examples/worker-javascriptโ mirrorsworker-shell, butexecevaluates an ECMAScript module in a Dynamic Worker instead of running a shell command.examples/thinkโ a@cloudflare/thinkchat agent that uses the workspace as its working directory, reachable from a terminal.examples/think-compare-runtimesโ a web UI that runs the same agent task against the container and worker runtimes side by side.examples/tutorialโ a step-by-step build: one endpoint, one agent that writes a markdown recipe card on the host and runspandocon it in the container to produce a PDF.examples/artifactsโ generates a Worker project in a workspace and publishes it to Cloudflare Artifacts as a clone-ready repo.examples/assetsโ turns a prompt into an image with Workers AI, writes it to the workspace, and returns a shareable link through@cloudflare/computer/assets.
The repo is a small monorepo. Each package has its own README with package-specific status and usage notes.
packages/dofs(@cloudflare/dofs) โ Durable Object SQLite-backed virtual filesystem, sync protocol building blocks, and a@platformatic/vfsprovider for Node.packages/rpc(@cloudflare/computer-rpc) โ capnweb wire types and server/client helpers shared between the Durable Object andcomputerd.packages/computerd(@cloudflare/computerd) โ thecomputerddaemon: a FUSE mount plus HTTP/WebSocket RPC server that runs inside the sandbox container.packages/computer(@cloudflare/computer) โ the top-level Computer package consumed by Durable Objects. Work in progress.packages/computer-computerd-linux-x64(@cloudflare/computer-computerd-linux-x64) โ the prebuiltcomputerdbinary for linux-x64, distributed for use in container images.
computerd's FUSE mount beats real disk on metadata-heavy work and
trails it on large sequential I/O. See
docs/19_performance.md for the full fs-bench
numbers, a cloudflare/sandbox-sdk npm install comparison, and how
to reproduce them.
docs/โ design specification. Forward-looking; treat as intent.docs/19_performance.mdโ filesystem benchmarks.
See CONTRIBUTING.md for setup, formatting,
testing, commit message, and pull request conventions.
If you're working in this repo as an agent, start with
AGENTS.md and the skills under
.agents/skills/.
MIT. See LICENSE.