给 AI Agent 装一台虚拟电脑:Cloudflare Computer 实战解析

发布时间:2026/8/10 10:22:16
给 AI Agent 装一台虚拟电脑:Cloudflare Computer 实战解析 当你的 Agent 不再只是调用 API而是能真正跑命令、写文件、编译代码——这就是 Cloudflare Computer 在做的事。读完本文你将了解操作步骤 | 技术原理 | 架构设计 | 适用场景 这个项目解决什么问题AI Agent 开发中最痛的瓶颈之一Agent 缺乏持久化的执行环境。现有的方案要么用临时 sandbox每次重新创建状态全丢要么用 API 调用只能调外部服务无法在环境里操作。Agent 像一个没有桌子的工程师——脑子里有想法但连把扳手都摸不到。Cloudflare Computer 给出的答案是把文件系统 执行环境打包进 Durable Object天然持久化。Agent 写进去的文件下次对话还在执行的脚本结果跨 session 可查。这不是给 Agent 加一个 API 调用能力而是给 Agent 一台真正的电脑。 快速上手Cloudflare Computer 目前处于 PREVIEW 阶段。要跑通第一个示例你需要Cloudflare 账号 Workers 配额免费套餐即可Wrangler CLInpm i -g wrangler一个空的 Workers 项目作为实验环境Step 1安装 Computer 包npminstallcloudflare/computerStep 2创建带 Workspace 的 Workerimport{Workspace}fromcloudflare/computer;exportdefault{asyncfetch(request,env){constworkspacenewWorkspace({storage:env.MY_DO,// Durable Object storage handle});// 写文件到持久化 VFSawaitworkspace.fs.writeFile(/workspace/hello.txt,Hello, persistent Agent!);// 读取刚写入的文件constcontentawaitworkspace.fs.readFile(/workspace/hello.txt,utf8);returnnewResponse(Read back:${content});},};Step 3配置 wrangler.tomlname computer-demo main src/index.ts [[durable_objects.bindings]] name MY_DO class_name MyDOStep 4用 runtime.exec 执行命令// 使用 container 后端执行 shell 命令consthandleawaitworkspace.runtime.exec(npm init -y,{backend:container-shell,cwd:/workspace,});constresultawaithandle.result();console.log(result.stdout);这一步的关键在于backend参数——它决定了你用的是哪个执行表面container-shell完整 Linux 用户空间跑真实命令worker-shell轻量 shelljust-bash在 Dynamic Worker 中运行worker-javascript纯 JavaScript 模块无 shell为什么分三种后端因为性能差几个数量级。npm test需要完整容器但ls -la用 Worker 就够了——选错后端钱就花出去了。⚙️ 技术原理Cloudflare Computer 的核心设计可以拆成三层VFS 层、同步协议层、执行层。第一层SQLite VFS虚拟文件系统所有文件数据存在Durable Object 的 SQLite 存储中。这是整个架构的权威数据源。每个文件被切分成 512KB 的 chunk每个 chunk 按内容哈希后存入 blob store。同内容只存一份——三个项目都用同一个lodash.min.js磁盘上只有一个副本。这就是 content-addressed 存储的威力。写文件时只有变更的 chunk 被同步回 DO。这比整个文件重传省了几倍的带宽和存储。第二层同步协议Container 和 DO 之间通过capnweb RPC保持同步。同步流程push → spawn → events/result → pullpush把 DO 侧的变更推到容器spawn启动命令执行events/result收集执行结果pull把容器的文件变更拉回 DOworker-shell后端跳过 push/pull它直接读共享存储所以零同步开销。第三层三大执行后端capnweb RPC 同步Workers RPCWorkers RPCDurable ObjectSQLite VFS权威状态workspace.runtime.execContainer 后端Worker Shell 后端Worker JavaScript 后端computerd FUSE Mount真实 Linux 环境完整 userlandjust-bash 在 Dynamic Worker通过 Workers RPC 访问 VFSECMAScript 模块直接运行在 Worker 中性能关键数字来自官方基准测试操作类型Container (FUSE)tmpfs 对比ext4 磁盘对比stat 1000 个文件1972ms1.49x0.91xrm 1000 个文件828ms2.56x0.66xmkdir tree (10³)1598ms1.01x0.74xfind tree1814ms1.00x0.72xnpm init tiny install599ms0.95x0.95x完整 npm install (854 包)124.7s3.6x1.9x解读元数据密集型操作stat/rm/find/gitFUSE 比真实磁盘还快——这是 DO 内存 inode store 的红利。但大文件顺序 I/O64MB 读/写/复制慢 20-40 倍这是 content-addressed 写路径每 chunk 都要哈希 blob store的代价。对实际开发的影响npm install整体差 1.9x但开发时 90% 的操作是找文件、读配置、跑测试——这些都落在 FUSE 优势区间。只有打包 50MB 的 vendor 目录才会暴露瓶颈。执行流程序列Container (computerd)runtime.execSQLite VFSDurable ObjectClientContainer (computerd)runtime.execSQLite VFSDurable ObjectClientworkspace.runtime.exec(npm test, {backend})解析 backend IDcapnweb RPC 推送上下文FUSE 挂载 DO 侧 VFS命令输出events stream执行结果拉取变更pull️ 架构分析Cloudflare Computer 是一个小精悍的 monorepo四个核心包各司其职cloudflare/dofsDurable Object VFScloudflare/computer-rpccapnweb wire typescloudflare/computerdFUSE mount daemoncloudflare/computer顶层 API 后端管理Container BackendWorker Shell BackendWorker JavaScript BackenddofsVFS 核心。SQLite schema、inode 管理、同步协议、Node.js platformatic/vfs providerrpccapnweb wire 类型和 server/client 辅助函数computerd在 container 内运行的 daemonFUSE mount HTTP/WebSocket RPC servercomputer顶层 APIDurable Object 的入口为什么不用现成的 Sandbox SDKCloudflare 已有cloudflare/sandbox-sdk为什么还要做 Computer答案在设计文档里写得很清楚Sandbox SDK 的问题是每次创建都是全新的容器状态不持久。Computer 把文件系统搬到 DO 层天然跨 session 持久化。这是架构层面的根本差异不是优化问题。✅ 优缺点 适用场景优势天然持久化DO 生命周期内的文件系统状态永久保存跨 session 可用Content-addressed 存储同内容去重节省存储和带宽元数据操作快于磁盘FUSE 的 inode cache 在 stat/rm/find 场景下碾压 ext4多后端路由不同任务选不同执行表面性能成本可控Cloudflare 生态整合与 Workers AI、Think、Artifacts 深度集成劣势PREVIEW 状态API 不稳定不适合生产大文件 I/O 瓶颈64MB 读写慢 20-40 倍打包/构建场景不友好仅 Cloudflare 平台依赖 Workers Containers跨平台迁移成本高不接受外部 PR贡献路径受限适用场景✅ AI Agent 开发沙箱持久化状态、跨 session 上下文✅ 自动化 Pipeline跑测试、build、CI 任务✅ 文档/代码分析 Agent读文件、生成报告、持久化结果❌ 需要完整 GPU 的 ML 训练任务❌ 大文件视频/图像处理❌ 跨云厂商的 Agent 平台总结Cloudflare Computer 不是又一个 sandbox——它是把文件系统和执行环境搬进 Durable Object的一次架构实验。它的价值不在跑得更快而在跑完还能留着。对于 AI Agent 领域这个方向的意义可能比技术细节本身更大当 Agent 拥有了持久的工作区它就不再是一问一答的对话工具而是真正能在环境里工作的协作者。这就是从API 调用者到有桌子的工程师的跨越。当然PREVIEW 状态说明它还远不够成熟。但方向对了——让 Agent 拥有真正的计算环境是这个赛道终局形态的必经之路。