ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

什么是Cloudflare Computer?Agent专用持久化虚拟文件系统3大执行后端全解析

什么是Cloudflare Computer?Agent专用持久化虚拟文件系统3大执行后端全解析 什么是Cloudflare ComputerAgent专用持久化虚拟文件系统3大执行后端全解析【免费下载链接】computerGive your agent a computer 项目地址: https://gitcode.com/GitHub_Trending/computer1/computerCloudflare Computer是一个专为 AI Agent 设计的持久化虚拟文件系统它把文件状态存放在 Durable Object 的 SQLite 数据库中跨重启不丢失并通过可插拔的 3 大执行后端Container、Worker Shell、Worker JavaScript为 Agent 提供一台真正意义上的随身电脑 。无论 Agent 需要跑 shell 命令、编译代码还是执行 JS 模块都只需一个入口workspace.runtime.exec由你选定的后端决定如何执行。本文将完整解析这套架构与 3 大后端的核心区别帮你快速选型。一、为什么 Agent 需要一台电脑大模型本身没有持久状态聊完即忘、文件即丢。让 Agent 干活写代码、跑测试、生成文档时它通常需要一个稳定、持久、可执行的工作区。传统方案是起一台虚拟机或容器但它笨重、成本高、且与云端 Serverless 架构割裂。Cloudflare Computer 的思路是文件即 SQLite整个文件树存放在 Durable Object 的 SQLite 里天然持久化约 10GB 上限随 Agent 会话创建执行可插拔文件系统只是底座真正跑东西的能力由 3 种后端提供按需选择⚡单一执行入口workspace.runtime.exec(source, { backend })一行代码切换执行环境。官方定位非常清晰——为需要小型便携文件系统和配套工具的 Agent 而生详见 docs/README.md。二、核心架构SQLite 是唯一的真相源Cloudflare Computer 的架构图揭示了它最核心的设计Durable Object 侧的 SQLite 存储是文件系统的唯一权威来源容器侧只是一个通过 FUSE 挂载出来的活镜像。图中上半部分是沙箱容器下半部分是 Durable Object二者通过一条Sync Protocol同步协议保持双向一致DO → 容器push每次exec()前DO 把容器还没看到的变更增量版本号推送过去容器 → DOpull命令跑完后DO 拉回容器内 FUSE 写入的所有变更落盘到 SQLite。这套增量双向同步是最终状态式的每条变更带单调递增的版本号接收方幂等应用即使中途崩溃也能从断点续传。同步协议完整设计可见 docs/02_sync_protocol.md。对开发者的实际收益是你在 DO 侧用fs.writeFile写的文件容器里的 shell 立刻看得到容器里git clone下来的仓库DO 侧随即也能读取。两边共享同一个文件树。三、3大执行后端全解析同一个 Workspace 可以同时注册多个后端用稳定 ID 区分exec时通过backend参数路由。三大后端定位各不相同后端一Container —— 完整 Linux 环境的重型武器Container 后端把 SQLite 状态通过 computerd 守护进程以FUSE 挂载成一个真实文件系统投进 Cloudflare 沙箱容器✅ 完整 Linux 用户态真实二进制、真实内核、真实网络npm install、gcc、pandoc随便跑✅ 容器内/workspace与 DO 侧文件树实时镜像⚠️ 成本每个会话一个容器重 I/O大体积node_modules安装相比原生磁盘有可感知的性能损耗。computerd是一个自包含的 Node SEA 单二进制文件内嵌 Node 运行时与 FUSE 驱动宿主机镜像无需任何额外依赖。它负责 FUSE 挂载、脏写追踪、命令执行与 RPC 端点详见 docs/07_injected_service.md。后端二Worker Shell —— 即开即用的轻量极速选项Worker Shell 后端在 Dynamic Worker 中运行 just-bash 解释器完全没有容器⚡ 冷启动极快、按 Worker 计费成本远低于容器✅ 支持丰富的文本类命令cat、grep、awk、sed、jq、sort等✅ 通过 Workers RPC 直接访问 DO 侧同一个 SQLite 存储——没有第二份副本零同步开销⚠️ 局限不是完整 Linux 用户态不能编译、不能装包。选型口诀Agent 只需要读、搜、转、总结类文本操作时Worker Shell 是性价比之王。完整说明见 docs/12_worker_backend.md。后端三Worker JavaScript —— 模块化的 JS 隔离运行时第三个后端直接在动态 Worker 中运行ECMAScript 模块把执行从 shell 命令升维成了结构化编程 源码是真实的 ES 模块支持静态 import、顶层 await、default export函数接收结构化输入并返回结构化结果 内置 Workspace 版node:fs/promises——写代码时直接操作持久化文件系统 支持持久化相对导入import task from ./task.js会解析到 Workspace 文件系统里的文件代码本身也是持久化的 可信模块ws:git、ws:artifacts可直接做 Git 操作和发布制品。它与 Worker Shell 共用 Worker 的隔离与低成本优势但换来的是类型化 I/O 和确定性返回值非常适合把 Agent 的技能沉淀成可复用模块。设计细节见 docs/17_isolate_javascript.md。一张表看懂 3 大后端怎么选维度ContainerWorker ShellWorker JavaScript执行内容Shell 命令Shell 命令just-bashES 模块环境完整度完整 Linux 用户态文本类命令子集Worker JS 运行时启动/成本容器级最重毫秒级最轻毫秒级最轻网络能力支持支持策略可控支持策略可控同步开销有push/pull无共享存储无共享存储典型场景编译、装包、跑测试读/搜/转文本结构化任务、可复用技能后端路由与生命周期差异详见 docs/05_runtime_interface.md。四、快速上手5 分钟给 Agent 配一台电脑npm install cloudflare/computer在 Durable Object 中挂上 Workspace 和后端文件操作与命令执行就通了完整示例见 examples/container 与 examples/worker-shellconst workspace new Workspace({ storage: this.ctx.storage, backends: [new CloudflareContainerBackend({ /* ... */ })], }); // 写文件DO 侧持久化 await workspace.fs.writeFile(/workspace/notes/todo.md, - [ ] ship it\n); // 跑命令容器侧看到的正是同一棵树 const run await workspace.runtime.exec(ls -la /workspace); const { stdout } await run.result();几个贴心细节exec返回ReadableStream事件流可以逐帧转成 SSE 推给前端实时看 Agent 的输出 需要给cloudflare/agents接工具cloudflare/computer/tools直接提供read、write、edit、ls、grep、exec、publish等现成 AI SDK 工具详见 docs/09_tool_interface.md 想体验容器里写 markdown → pandoc 转 PDF的完整链路看 examples/tutorial想对比容器与 Worker 运行时跑同一任务看 examples/think-compare-runtimes。五、性能表现如何官方用fs-bench做了系统基准测试standard-2 容器1 vCPU / 6 GiB结论很有参考价值元数据密集型操作占优统计 1000 文件、删除 1000 文件、目录树遍历、git init等场景FUSE 挂载比真实 ext4 磁盘还快ratio 1.0大块顺序 I/O 偏慢64 MiB 文件读写比磁盘慢 20~40 倍完整安装 sandbox-sdk3.6 万文件耗时约 125s vs 磁盘 64s。完整数据与复现方法见 docs/19_performance.md。实践建议它适合 Agent 规模的中等体量工作区不适合往里面塞巨型 monorepo 或跑高带宽 I/O。六、注意事项与适用边界Preview 阶段包仍为 PreviewAPI 不稳定适合实验与原型暂不建议生产使用容量约束与 DO 共享约 10GB 存储容器侧文件树在内存中超大目录树不适合路径规范所有路径必须是 POSIX 风格的绝对路径/workspace/...相对路径会被拒绝当前为文件系统 后端预览从 R2/Artifacts/GitHub 自动挂载数据的 Mount 子系统已在 schema 中预留尚属规划中特性。七、总结Cloudflare Computer 用SQLite 持久化虚拟文件系统 3 大可插拔执行后端的组合给 AI Agent 配了一台随开随用、跨重启持久的云端电脑要真本事编译、装包、跑测试→ Container要快和省文本处理类 shell 操作→ Worker Shell要结构化技能模块化 JS 持久化 fs→ Worker JavaScript。三者共享同一棵持久文件树、同一个执行入口让 Agent 的开发体验从管理一堆容器简化为管理一个 Workspace。这无疑是 Serverless 时代 Agent 基础设施中一个相当优雅的切入点值得每一位 AI 应用开发者关注。【免费下载链接】computerGive your agent a computer 项目地址: https://gitcode.com/GitHub_Trending/computer1/computer创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表