这个项目能做什么

Cloudflare Computer 是一个预览版开源项目(MIT 许可证),为软件代理提供一台持久的“计算机”:一个虚拟文件系统,其权威状态存储在 Cloudflare Durable Object 内的 SQLite 中,并通过 workspace.runtime 暴露单一的可插拔执行接口。 目前内置三个执行后端。容器后端将 SQLite 状态以真实 FUSE 挂载的形式投影到沙箱容器中:一个名为 computerd 的沙箱端守护进程将状态挂载为文件系统,并通过 capnweb RPC 通道将更改同步回来,提供完整的 Linux 用户环境,包含真实二进制文件和真实网络访问。Isolate shell 后端在动态 Worker 中运行仅 bash,并通过 Workers RPC 访问权威 Workspace,因此没有第二个存储或同步往返。Isolate JavaScript 后端在一个全新的动态 Worker 中评估 ECMAScript 模块,支持结构化输入和结果、持久的相对导入、配置的库、基于 Workspace 的 node:fs/promises,以及受信任的 ws:git 和 ws:artifacts 模块。 Workspace 可以在稳定 ID 下注册多个后端。workspace.runtime.exec(source, { backend }) 是唯一的执行入口点,所选后端决定 source 是 shell 命令还是 ES 模块。后端在首次使用时惰性连接,Workspace 也可以不带任何后端构建,单独暴露文件系统。 该项目明确标记为“仅预览”:API 不稳定,设计可能更改,不适合生产使用。docs/ 下的规范是前瞻性的,应视为意图而非当前代码的描述。 该仓库是一个小型 monorepo。包包括 @cloudflare/dofs(基于 Durable Object SQLite 的虚拟文件系统、同步协议构建块,以及用于 Node 的 @platformatic/vfs 提供程序)、@cloudflare/computer-rpc(capnweb 线类型和共享服务器/客户端辅助工具)、@cloudflare/computerd(FUSE 挂载以及运行在沙箱容器内的 HTTP/WebSocket RPC 守护进程),以及 @cloudflare/computer(由 Durable Objects 使用的顶级包)。一个私有 Docker 镜像上下文附带预构建的 computerd linux-x64 二进制文件,镜像而非 npm 包作为发布工件。 examples 目录包含可运行的 Workers,演示公共接口:一个带有写入/读取/执行 HTTP 端点的容器示例;无需容器的 worker-shell 和 worker-javascript 变体;一个展示跨后端无、全部和自定义出口策略的 egress 示例;一个 MCP 示例,暴露由持久 Workspace、Worker shell 和完整 Linux 容器支持 Code Mode 代码工具;一个 rlm 示例,其中生成的 JavaScript 从 Workspace 读取长上下文,调用有界模型 worker,并用代码减少其结构化结果;think 和 think-compare-runtimes 示例,其中 @cloudflare/think 聊天代理使用 Workspace 作为其工作目录,包括一个 Web UI,并排运行相同代理任务在容器和 worker 运行时;一个逐步教程,编写 markdown 配方卡并在容器中运行 pandoc 生成 PDF;一个 artifacts 示例,在 Workspace 中生成 Worker 项目并发布到 Cloudflare Artifacts 作为可克隆仓库;以及一个 assets 示例,将提示转换为图像使用 Workers AI 并返回可共享链接。 仓库在 docs/19_performance.md 中发布文件系统基准,项目声称 computerd 的 FUSE 挂载在元数据密集型工作上优于真实磁盘,在大顺序 I/O 上落后,包含复现说明和比较。 贡献仅限于通过 issues 和 discussions 提交错误报告、修复建议、功能请求和设计提案;不接受未经请求的拉取请求。示例 Env 类型使用 wrangler types 生成,而不是提交到仓库。