📋 编辑总结
Cloudflare Computer 是 Cloudflare 开源(MIT)的 Agent 运行时,把一台「虚拟电脑」放进 Durable Object:SQLite 持久文件系统 + 可切换执行后端。最新版 @cloudflare/computer 0.7.0(2026-10-23,npm latest 实测同步):新增实验性 onInterrupt: "restart" | "replay"(中断的运行可续跑/重放)与实验性 ctx.interrupt()(宿主函数可暂停等应答,配 runtime.pending()/respond());WorkspaceFileStore/WORKSPACE_ROOT 改为包根导出。前一版 0.6.0 把 Workspace、文件系统、Worker JavaScript 后端等大批子系统转 Stable。(完整记录见下方「版本记录」) 定价:开源免费(MIT);运行成本走 Cloudflare Workers 平台:Free 套餐 $0/月(10 万请求/天、1 GB 存储 + $0.50/GB-月),Paid 套餐自 $5/月起(含 1000 万请求/月、3000 万 CPU 毫秒,超出 $0.30/百万请求、$0.02/百万 CPU 毫秒),容器与 Durable Objects 另按自身用量计费。编辑评分:⭐ 4.3。

Cloudflare Computer 是什么?

Cloudflare Computer(npm 包 @cloudflare/computer)是 Cloudflare 开源的 Agent 运行时,MIT 许可,2026 年 8 月 3 日首次发布,主张「你的 Agent 需要一台电脑,而不是一个容器」。它把一台虚拟电脑放进 Durable Object:SQLite 存权威状态,对外暴露一个可插拔的执行面 workspace.runtime。Agent 这次写进 /notes.md 的内容,下一次任务、甚至对象被回收后重新冷启动,读回来还在。

三条后端路线各有分工:完整 Linux 容器在沙箱里跑守护进程 computerd,把 SQLite 状态挂成 FUSE 文件系统、经 capnweb RPC 把改动同步回宿主,有真实用户态、真实二进制与真实网络;隔离 Shell 在 Dynamic Worker 里跑 just-bash,直接经 Workers RPC 读权威 Workspace,没有第二份存储、也没有同步往返;隔离 JavaScript 在全新 Dynamic Worker 里执行一个 ES 模块,带结构化输入输出、持久化的相对导入,以及 ws:git、ws:artifacts、ws:container 这些宿主模块。

一个 Workspace 可以注册多个后端、用稳定 ID 区分,workspace.runtime.exec(source, { backend }) 是唯一执行入口,选中的后端决定 source 被当成 shell 命令还是 ES 模块;后端在首次使用时才惰性连接。也可以完全不挂后端,只把文件系统拿来用。

2026 年 10 月 20 日的 0.6.0 是一次分水岭:Workspace、文件系统、Worker JavaScript 后端、只读挂载、Agent 工具、Git、Assets、Artifacts 全部转为 Stable,官方 README 也从「Preview only」改成「should be considered suitable for production use」——这是判断它能不能上生产的直接依据。

核心功能

  • 持久工作区:SQLite 支撑的虚拟文件系统(@cloudflare/dofs 打包进主包),跨任务、跨重启保留文件;不挂执行后端也能单独用。
  • 三种执行后端共用一个入口:完整 Linux 容器 / just-bash 隔离 Shell / 隔离 JavaScript,切换只改 backend 参数。
  • 文件与执行同源:宿主侧写文件、执行环境直接处理,不需要在两侧搬运或手工同步。
  • 网关化与可观测:读写、命令、Git 操作都经过 gate 与观测钩子,官方提供 Cloudflare 适配器(observe/cloudflare)。
  • Agent 工具集开箱可用:read / write / edit / ls / exec,另有 AI SDK(tools/ai-sdk)、pi(tools/pi-ai)、TanStack AI(tools/tanstack-ai)三套适配。
  • 只读挂载与产物出口:R2 桶、Worker 打包产物可挂成只读目录(R2Bucket、WorkerBundle 与 Vite 插件),Assets / Artifacts 负责把产物变成可分享链接或可克隆仓库。

版本/套餐对比

开源项目(MIT),没有商业套餐,成本全部落在 Cloudflare 平台上。

版本状态关键变化
0.6.0(2026-10-20)Stable 分水岭核心面转 Stable、LegacyContainerBackend 弃用
0.5.x(2026-10-09 / 10-13)工具集重构createAITools 迁包、ws:git 与 ws:artifacts 改为按需安装
0.4.x(2026-10-02 / 10-05)容器后端换代ContainerBackend 登场、ignore 支持 glob
0.3.0(2026-09-11)破坏性变更容器 HTTP 面要求 bearer token、/ws 更名 /api

平台费用(官方 Developer Platform 定价页,2026-10-21 用无头浏览器核实):Workers Free 为 $0/月,含 10 万请求/天、1 GB 存储(存储 $0.50/GB-月);Workers Paid 自 $5/月起,含 1000 万请求/月与 3000 万 CPU 毫秒,超出按 $0.30/百万请求、$0.02/百万 CPU 毫秒计费。容器与 Durable Objects 另按其自身用量计费。

值不值得用?

值得,但要看清「稳定」的边界。优点是把 Agent 最常掉链子的三件事——文件会丢、环境割裂、任务断了接不上——一次性收进一个 Workspace;三种后端共用同一套文件与工具接口,换后端不用改业务代码;0.6.0 之后核心面已是 Stable,官方也明确可上生产。

缺点是边界感很强:单工作区约 10 GB(与 Durable Object 共享存储),容器侧文件系统放在内存里,官方直接建议做 agent 级工作区而不是整仓 monorepo;容器路径走 FUSE,元数据密集操作比真磁盘快,但大 node_modules 安装、大 tarball 解压这类顺序重 I/O 反而更慢;容器后端、worker-shell 后端、ws:container、sync 与 computerd 仍标 Experimental,随版本可能变动;整套绑死 Cloudflare 底座,换云要重写。

结论:在 Cloudflare 上做 Agent 的团队,现在可以把它当生产依赖引入,但只引入 Stable 那一层(Workspace + 文件系统 + Worker JavaScript 后端 + 工具集 + Git/Assets/Artifacts),容器与 shell 后端继续当实验特性对待。

使用建议

  • 先只开持久文件系统,确认读写、目录、搜索、fs.rename / fs.find({ exclude }) 可用,再挂执行后端。
  • Worker 需要 nodejs_compat 兼容标志;worker-shell 与 worker-javascript 后端还要 Worker Loader 绑定,worker-shell 另需 experimental 标志。
  • just-bash 从 0.6.0 起是可选 peer 依赖,用 backends/worker-shell 时要自己装;zod 是所有 tools 入口的可选 peer 依赖。
  • ws:git 与 ws:artifacts 从 0.5.0 起不再默认安装,需要 createGitModule() / createArtifactsModule() 显式挂载。
  • 仓库里有 15 个可直接跑的示例(container、worker-shell、worker-javascript、vite-bundle、egress、mcp、rlm、pi-ai、tanstack-ai、think、tutorial、artifacts、assets 等),照着改比读文档快。
  • 官方不接受主动 PR(只收 issue、修复提案与设计提案),想改代码得先谈。

适合谁用?

  • 推荐:在 Cloudflare Workers 上做 Agent、需要持久文件 + 偶发 Linux 命令或隔离 JS 执行的开发者;要接 MCP、要做长上下文代码化处理(RLM)的团队。
  • 可考虑:研究 Agent 跨任务保留工作成果、文件型自动化、产物发布(Artifacts / Assets)的团队。
  • 不推荐:需要整仓 monorepo 在容器里编译、重度依赖安装的现网任务;不想绑 Cloudflare 底座、要求多云可迁移的项目。

版本记录

以下按时间倒序收录历次版本更新要点(页面顶部简介只保留最新一版)。

最新版 @cloudflare/computer 0.7.0(2026-10-23,npm latest 实测同步 0.7.0):新增(实验性)——WorkerJavaScriptBackend 支持 onInterrupt: "restart" | "replay",被部署或崩溃中断的运行可以重启或重放续跑;宿主模块函数可用 ctx.interrupt() 暂停等待应答,配 runtime.pending() 与 runtime.respond() 让可重放的运行等待审批这类交互结果。变更——WorkspaceFileStore 与 WORKSPACE_ROOT 从 @cloudflare/computer 包根导出,工具以外的代码无需自带辅助函数即可读写工作区文件。

前一版 0.6.0(2026-10-20,npm latest):Workspace、文件系统、Worker JavaScript 后端、只读挂载与 Vite 插件、Agent 工具、ws:git/ws:artifacts/ws:assets/ws:tools 宿主模块、Git、Assets、Artifacts 转为 Stable;LegacyContainerBackend 弃用,统一走 ContainerBackend;getWorkspace() 立即返回惰性客户端、首次调用时解析,移除 useThink 与 Think 兼容方法(@cloudflare/think 0.21 及以后直接接收 Workspace);WorkerJavaScriptBackend 在执行期间保持 Durable Object 存活并新增 maxCpuMs;just-bash 改为可选 peer 依赖;WorkspaceProxy / WorkspaceServiceProxy 按名唤醒宿主对象,容器或 Dynamic Worker 回调触发的唤醒不再丢 ctx.id.name。

0.5.1(2026-10-13):新增 forAISDKTools(),把 AI SDK 工具集以 ws:tools 提供给隔离 JavaScript;edit 工具用 maxDiffLines / maxDiffBytes 限制 diff 并回报 diffTruncated;exec 的 input 改为对象,也接受 JSON 字符串形式。

0.5.0(2026-10-09):createAITools 迁到 @cloudflare/computer/tools/ai-sdk;exec 选项重构为 ExecBackendOptions 并改走 runtime.backends();exec 只回显每路输出末尾 2000 行(或 maxBytes),完整输出留在磁盘上;ws:git 与 ws:artifacts 不再默认安装;移除 WorkerJavaScriptBackend 的 maxConcurrentExecutions,改用平台自身的并发限制。

0.4.1(2026-10-05):ContainerBackend.ignore 支持 glob(如 **/node_modules、!/vendor/node_modules),命中路径只留在容器本地盘、不与 Durable Object 同步。

0.4.0(2026-10-02):平台调度的容器后端更名为 LegacyContainerBackend;新增由 Durable Object 自行调度的 ContainerBackend;新增 pi 与 TanStack AI 两套 Workspace 工具集;ws:git 默认改为全历史克隆,并新增 cat-file、log 与按命令的 help。

0.3.0(2026-09-11,破坏性):容器 HTTP 面要求 bearer token(RPC_CLIENT_SECRET),/health 保持开放;Cap'n Web 的 /ws 端点更名 /api 且只走 WebSocket;start() / restart() 统一为单一 ContainerLaunchSpec{env, enableInternet} 并返回 launched / adopted / relaunched;shell 命令只继承白名单环境变量。