不是Git worktrees,LayerFS是Agent的文件系统
给每个Agent一个完整可写工作区,所有提交并行。157个快照100MB,比Btrfs+zstd小19.9倍。MIT协议。
Camille Roux发了一条推文介绍新项目LayerFS。翻译他的描述:一个文件系统,给每个agent一个完整且可修改的Workspace,放在共享历史之上,不复制基底。每个agent并行commit。157个快照占100MB,比Btrfs+zstd小19.9倍。MIT协议。
GitHub仓库的第一行写着它的定位:Ephemeral Workspaces. Durable Shared History. 临时工作区,持久共享历史。LayerFS是agent下面的基础层:每个agent挂载一棵完整的可写树,在共享的已提交历史上工作,做完commit改动的部分,然后消失。
LayerFS的Workspace是一个FUSE挂载点,不是虚拟机,也不是容器。
核心机制:
- Store:单个SQLite文件保存所有Branch、Commit和内容对象。没有数据库服务,每个daemon和SDK进程直接打开它。
- Branch / Commit / Layer:Branch是一条可写的Commit线。发布Branch到main,就加一个Layer。内容分块存储,相同的数据只存一次。
- Workspace:挂载时绑定整棵已提交的树,不复制。写操作进Workspace自己的overlay,commit时保存,卸载时overlay删除。历史上从不删除。
- Conflict:两个同时改同一文件的Commit会被拒绝,除非
.lww规则声明新编辑覆盖旧编辑。
每个工具调用得到一棵完整的可写树,每次结果变成一个Commit。文件系统本身成为agent的工作记忆。

数据
LayerFS的公开基准,数据来自1.0.0,在main分支e5c7aaae05上测得:
| 项目 | 结果 |
|---|---|
| fs-bench(Cloudflare Computer的十二场景文件系统基准,未改动) | 5.20s vs 8.88s,快1.71×,12个场景10个更快 |
| dsh-dedup(真实项目157个快照,4.94GB树) | 100.1MB vs 1,994.6MB,比Btrfs+zstd小19.9× |
| pjdfstest(POSIX一致性,8,798断言) | 0意外失败 |
| fsstress(4并发进程,commit后重新挂载比较) | 3,755/3,755条目一致 |
| fio(数据I/O带宽) | 随机读/写混合快1.49–2.23×;顺序写0.31×,顺序读0.81×,随机写0.40× |
fio的结果说明了它的取舍。LayerFS不是通用文件系统,它优化的是agent的工作负载:大量小文件、快照、并行分支。
和Git worktrees不是一回事
有开发者在评论里问:这不就是Git worktrees吗?
和Git worktrees有相似性,差异在几个地方:
Git worktrees解决“一个仓库多个工作副本”的问题,但每个worktree仍以.git为中心。LayerFS的Workspace包含整棵树,包括.git、忽略的文件、依赖和构建输出。挂载一个新Workspace,依赖已经在了,不需要重新安装。Git worktrees不管这些。
commit时机也不同。Git worktrees等你手动git commit。LayerFS按工具调用自动commit,每次文件读、写、grep或Bash命令,都产生一次commit。agent的每一步都可以回退到这个commit。
LayerFS还允许递归fork:任何commit,任何深度,都可以再fork出Branch。一个项目可以有多个Branch,一个Branch可以有多个agent。
怎么运行
目前通过LayerFS × DSH跑,这是dsh-layerfs插件,给DeepSeek Harness用的。支持Linux、macOS(通过DSH)和Windows(通过WSL2)。agent在DSH会话中fork Branch,在Sandbox里测试,merge并发布到main。Work和History两个标签页实时显示每个agent的Branch。
局限
官方说得很直接:Store运行在Disposable模式,没有崩溃或断电持久性。用它管理agent的工作和历史,不要作为不可重建数据的唯一副本。顺序I/O带宽不行。POSIX有取舍:没有FIFO、socket、设备节点、set-id bit,不单独维护atime/ctime。
项目状态
LayerFS 1.1.0已发布,MIT协议。JavaScript API拆成@layerfs/agent、@layerfs/backend、@layerfs/runtime。代码在 github.com/Ephemeral-AI-Lab/layerfs。
发布时间: 2026-10-27 12:11