Ephemeral Workspaces. Durable Shared History.
LayerFS is the substrate under your agents. Each one mounts a complete, writable Workspace over shared committed history, does its work, commits what it changed, and goes away.
Get started · Website · Docs · Benchmarks · Video · LayerFS × DSH · Community
layerfs-v1.0.0-release-720p.mp4
Status: LayerFS 1.0.0, the first official release after the 0.1.x Developer Previews, released as source. The results below ran on
mainate5c7aaae05. The Store runs in its Disposable profile only, with no crash or power-loss durability: use LayerFS for agent work and its history, not as the only copy of data you cannot rebuild.
LayerFS runs today through LayerFS × DSH, the dsh-layerfs plugin for
DeepSeek Harness. Agents in a dsh
session fork Branches, test them in Sandboxes, merge and publish, and the Work and
History tabs show every agent's Branch, live.
And underneath them
| Supporting idea | In one line | |
|---|---|---|
| 07 · Auto Checkpoints | Every step an agent takes is a checkpoint to return to. | |
| 08 · Append-only Objects | Saved objects are never rewritten. The Store only grows. | |
09 · Conflict Rules (.lww) |
Name the files that should never conflict. The newest edit wins. | |
| 10 · Big File, Small Edit | An edit costs the size of the edit, not the size of the file. |
Agents fork Branches, work in Workspaces inside Sandboxes, commit, merge and publish to main. The history grows as they go.
Every suite ran once on main at e5c7aaae05 through the JavaScript SDK. Each
row links to its method, environment and receipts.
| Suite | What it measures | LayerFS 1.0.0 |
|---|---|---|
| fs-bench | Cloudflare Computer's own twelve-scenario filesystem benchmark, unchanged, same image | 5.20 s vs 8.88 s, 1.71× faster; faster in 10 of 12 scenarios |
| dsh-dedup | A real project's history, 157 snapshots (4.94 GB of trees), kept as mountable Commits | 100.1 MB vs 1,994.6 MB, 19.9× smaller than Btrfs + zstd; 156/156 read back |
| pjdfstest | POSIX conformance, 8,798 assertions, against kernel overlayfs | 0 unexpected failures; keeps 76% of overlayfs's passes, every other failure a deliberate format limit |
| fsx | Random reads, writes, mapped I/O and truncates, every byte checked | 14/14 pass, 3.06 M ops, 0 miscompares |
| fsstress | Four concurrent processes, then Commit, remount and compare | 3,755/3,755 entries identical; 5.21 GB captured by one Commit in 4.9 s |
| smallfile | 100,000 files of 4 KiB, four threads, against libfuse passthrough | Faster in 9 of 9 operations, 1.27×–10.71× |
| mdtest | Metadata create, rename and remove, against libfuse passthrough | 0.86–1.28× with 1 process, 1.21–4.22× with 4 |
| fio | Data I/O bandwidth, against libfuse passthrough | Random read/write mixes 1.49–2.23×; slower on sequential write (0.31×), sequential read (0.81×) and random write (0.40×) |
One sample per case, seed 1, no best-of. Host: arm64 Mac, Docker Desktop linux/arm64, 8 CPUs, 8.3 GB; host load is recorded per suite. These are release measurements, not a guarantee for your workload. Earlier fs-bench-pro results: v0.1.4 · v0.1.5 · v0.1.6.
agent tool call
├─ file tool (read, write, edit, grep …) ── SDK, in process ──────► Store
└─ Bash ── mount ─► exec ─► commit ─► unmount ▲
└─ Workspace: FUSE view in a Sandbox's daemon ───────────┘
(committed root + its own overlay)
- Store. One SQLite file holds every Branch, Commit and content object. Each daemon and SDK process opens it directly; there is no database server.
- Branch, Commit, Layer. A Branch is a writable line of Commits. Publishing a
Branch to
mainadds a Layer. Content is chunked and stored once. - Workspace. A mount binds the whole committed tree without copying it. Writes go to the Workspace's own overlay until a Commit saves them. Unmount deletes the overlay, never history.
- Conflict. Two Commits that change the same file are refused with
Conflict, unless a.lwwrule says the newest edit wins.
| Docs | LayerFS × DSH guide · layerfs.ai/docs · Core ideas · JavaScript SDK guide |
| Concepts | Core concepts · Documentation index |
| Benchmarks | layerfs.ai/benchmarks |
| Release | 1.0.0 plan · Previous: 0.1.7 release record and its manual |
Questions, ideas and show-and-tell are welcome in either place.
|
Discord discord.gg/8mmAMCDc2 |
WeChat · LayerFS的好朋友![]() Scan in WeChat to join the group. |
LayerFS is licensed under the MIT License.

