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)和聊天代理的示例,这些代理将工作区作为工作目录使用。
相关
- 项目
- 项目
- 项目
- 项目
- 项目