cloudflare/computer 是一个面向 AI Agent 的开源持久工作区:它用 Durable Object 内的 SQLite 保存虚拟文件系统,再让 Worker Shell、Worker JavaScript 或完整 Linux 容器通过统一接口操作同一批文件。项目采用 MIT 许可、更新频繁,但仍处 Preview,官方明确不建议用于生产。

仓库当前状态
截至 2026 年 8 月 11 日,cloudflare/computer 约有 7,355 Stars、381 Forks,主语言为 TypeScript,采用 MIT License。仓库在 8 月 10 日仍有提交,但 GitHub 页面尚无正式 Release。
成熟度:Preview only;API 可能变化。
npm latest:0.1.1,发布于 8 月 3 日。
仓库包文件:主分支仍显示 0.1.0-alpha.1。
判断:可用于实验和原型,不应把主分支文档直接当作 npm latest 的稳定接口说明。
它不是虚拟机
项目的中心是 Workspace。它把 Durable Object 自带的 SQLite 作为文件系统权威来源,对外提供近似 node:fs/promises 的异步接口,例如 readFile、writeFile、mkdir、readdir、rm 和 grep。
执行能力是可选的。你可以只使用持久文件系统,也可以给同一个 Workspace 注册一个或多个后端。调用统一进入 workspace.runtime.exec(source, { backend }),由后端决定传入内容是 Shell 命令还是 ECMAScript 模块。
三种后端怎么选
| 后端 | 运行内容 | 前置条件 | 更适合 |
|---|---|---|---|
| Worker Shell | just-bash Shell 命令 | Worker Loader、experimental | 文本、文件、Git 和轻量数据处理 |
| Worker JavaScript | ECMAScript 模块 | Worker Loader、experimental | 结构化输入输出、受控 JavaScript 库 |
| Container | 完整 Linux Shell | Cloudflare Container、computerd | npm、Node、测试器和真实二进制 |
后端可以同时注册,并使用稳定 ID 路由。连接会在第一次执行时懒加载;如果任务对首个命令延迟敏感,也可以预热。Worker Shell 不维护第二份文件存储,Container 则通过 FUSE 和同步协议把容器内修改带回 Durable Object。
最小启动条件
根据当前 README,安装入口是:
npm install @cloudflare/computer
最小文件系统模式需要 Durable Object 与 nodejs_compat。若使用 Worker Shell 或 Worker JavaScript,还需要 experimental 兼容标志和 Worker Loader 绑定。不同后端的绑定要求并不相同,不能只执行安装命令就期待三种后端全部可用。
{
"compatibility_flags": ["nodejs_compat", "experimental"],
"worker_loaders": [{ "binding": "LOADER" }]
}
上面的片段根据官方 README 整理,用于说明必要字段,并非 WarpNav 已部署验证的完整配置。正式试验还应按当前包版本核对 Durable Object binding、SQLite migration 和目标后端示例。
Agent 得到哪些工具
@cloudflare/computer/tools 可以生成 AI SDK 工具,基础集合包括 read、write、edit 和 ls;配置运行后端后还能加入 exec。仓库还提供基于 isomorphic-git 的 Git 客户端、R2 只读挂载、Assets 分享和 Artifacts 会话级仓库接口。

这种工具组合的价值不在于命令数量,而在于同一个 Agent 可以先用低成本环境检查和编辑文件,遇到真实二进制、依赖安装或测试器时再切换到容器。开发者仍需限制读取字节数、允许的命令、网络出口和凭据暴露范围。
限制决定场景
- 容量:官方建议按约 10GB 工作区理解,并且会与 Durable Object 的其他数据共享存储。
- 重 I/O:容器侧文件系统保存在内存中;大型 monorepo、巨量
node_modules和大压缩包解包并不是理想负载。 - FUSE 性能:元数据密集任务可能表现不错,大型顺序 I/O 则会落后于原生磁盘,不能只引用某一组有利数字。
- API 稳定性:设计文档包含前瞻内容,不能保证每一项已经在当前代码中实现。
- 生命周期:长连接场景需要释放远程 stub;仓库专门提醒对
getWorkspace()与runtime.exec()返回值使用using。
版本为何要分开看
npm registry、GitHub 主分支与 GitHub Release 是三个不同信号。本次核验中,npm latest 是 0.1.1,仓库 packages/computer/package.json 显示 0.1.0-alpha.1,而 GitHub 尚无正式 Release。它们并不共同证明某个 API 已稳定。
更稳妥的做法是固定依赖版本,使用对应版本的 README 或包内类型声明,在隔离测试项目中验证,再决定是否跟随主分支。仓库 8 月 10 日的提交仍在调整 Worker Shell 出站网络与示例,进一步说明运行环境细节还会变化。
值不值得现在试
- 你已经使用 Durable Objects,并需要跨请求保留 Agent 文件。
- 大部分操作是文件、Git 或轻量代码,只有少数步骤需要完整 Linux。
- 可以接受 Preview API,并有测试项目承担变更。
- 不会把实验工作区直接接入不可恢复的生产数据和高权限凭据。
满足这些条件时,cloudflare/computer 是一个值得跟踪的架构实验;如果只需要短命令沙箱,单独使用 Cloudflare Sandbox 可能更直接。想先理解 Cloudflare 为什么提出这套拆分方式,可阅读 Cloudflare Computer 的发布背景与架构动机。
信息边界:本文核验于 2026-08-11。Stars、Forks、版本、Issue 和后端实现都可能快速变化;文中安装条件依据官方 README 核对,未声称完成线上部署实测。
官方资料:
GitHub:https://github.com/cloudflare/computer
包 README:https://github.com/cloudflare/computer/tree/main/packages/computer
npm:https://www.npmjs.com/package/@cloudflare/computer
发布背景:https://blog.cloudflare.com/zh-cn/cloudflare-computer/
© 版权声明
本站部分内容源于网络收集,文章等版权归原作者所有,若需删稿请联系管理员邮箱:satomini@warpnav.com
相关文章
暂无评论...