[Github] Cloudflare/computer – AI Agent 的持久工作区与混合运行时

Github发现2026-08-11发布 WarpEdit
814 0 0

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

cloudflare computer 的 SQLite 持久工作区与三种执行后端
cloudflare/computer 把持久工作区与三种执行后端分开,任务可以按能力选择运行环境。

仓库当前状态

截至 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 的异步接口,例如 readFilewriteFilemkdirreaddirrmgrep

执行能力是可选的。你可以只使用持久文件系统,也可以给同一个 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 工具,基础集合包括 readwriteeditls;配置运行后端后还能加入 exec。仓库还提供基于 isomorphic-git 的 Git 客户端、R2 只读挂载、Assets 分享和 Artifacts 会话级仓库接口。

Cloudflare Computer 官方演示中隔离环境执行 Git 操作并按需调用容器安装依赖
官方演示把 Git clone 和文件查看放在 isolate,把 npm install 交给 container。图片说明工作流,不代表 WarpNav 已复现该运行结果。来源:Cloudflare,核验于 2026-08-11。

这种工具组合的价值不在于命令数量,而在于同一个 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 出站网络与示例,进一步说明运行环境细节还会变化。

值不值得现在试

  1. 你已经使用 Durable Objects,并需要跨请求保留 Agent 文件。
  2. 大部分操作是文件、Git 或轻量代码,只有少数步骤需要完整 Linux。
  3. 可以接受 Preview API,并有测试项目承担变更。
  4. 不会把实验工作区直接接入不可恢复的生产数据和高权限凭据。

满足这些条件时,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/

© 版权声明

相关文章

暂无评论

none
暂无评论...