cloudflare/computer

Give your agent a computer 👾

解决的问题

Cloudflare Computer 提供了一种创建持久化虚拟文件系统的方法,可用于各种执行环境的工作目录。它允许开发者在隔离的沙箱(容器或 Worker)中运行代码或 shell 命令,同时通过 Durable Objects 将一致的状态存储在 SQLite 数据库中。

工作原理

该系统使用 Durable Object 来保存文件系统的权威状态(存储在 SQLite 中)。此状态随后被投影到以下三种可插拔的执行后端之一:

  • 容器:在 Linux 沙箱容器中作为真实的 FUSE 挂载投影状态,支持使用真实二进制文件和网络访问。
  • 隔离 shell:在 Dynamic Worker 中通过 just-bash 运行 bash shell。
  • 隔离 JavaScript:在 Dynamic Worker 中执行 ECMAScript 模块,并可访问虚拟文件系统。

执行通过单一入口点(workspace.runtime.exec)处理,根据所选后端决定是运行 shell 命令还是 JavaScript 模块。

适用人群

专为需要持久化工作区、运行任意代码/命令以及隔离执行环境的开发者设计,适用于构建代理、原型和实验性工具。

主要亮点

  • 可插拔运行时:可在完整的 Linux 容器与轻量级 Worker 隔离环境之间切换。
  • SQLite 支持的状态:使用 Durable Objects 作为权威且持久的文件系统状态存储。
  • FUSE 集成:容器后端使用守护进程(computerd)通过 RPC 同步状态。
  • 代理就绪:包含 MCP(Model Context Protocol)和聊天代理的示例,这些代理将工作区作为工作目录使用。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目