【computer】在云端构建安全隔离的虚拟文件与代码执行沙盒
项目概览
这是一个运行在持久化对象(Durable Object)内部的虚拟文件系统与代码执行环境,它为云端应用提供了一个安全、隔离且具备持久化状态的文件操作与多后端运行沙盒。
主要功能与特性
- 基于 SQLite 的持久化状态:核心权威状态存储在 SQLite 中,确保数据的一致性与可靠性。
- 三种可插拔的执行后端:
- Container(容器):将虚拟状态通过 FUSE 挂载到沙盒容器中,提供完整的 Linux 用户空间、真实的二进制文件和网络环境,并通过守护进程进行状态同步。
- Isolate shell(隔离 Shell):在动态 Worker 中运行 Bash 环境,直接通过 RPC 访问工作区,无需额外的存储或同步往返。
- Isolate JavaScript(隔离 JS):在动态 Worker 中运行 ES 模块,支持结构化输入输出、持久化相对导入以及基于工作区的 Node.js 文件系统 API。
- 统一的执行入口:通过单一的
workspace.runtime.exec方法即可调用不同的后端,同时也支持构建无后端的纯文件系统模式。 - 出色的元数据处理性能:其 FUSE 挂载在处理元数据密集型任务时,性能表现甚至优于真实磁盘。
安装与使用
该项目的核心功能封装在 @cloudflare/computer 包中。你可以通过以下命令进行基础安装:
npm install @cloudflare/computer
注:由于项目架构包含多个子模块且处于快速迭代期,具体的入口配置、API 使用示例以及工作区构建步骤,请参考官方文档进行安装和配置。
适用场景与目标用户
- 适用场景:非常适合用于技术实验、架构探索、原型设计,以及作为 AI 聊天代理(Agent)的隔离工作目录,或在云端安全地执行外部脚本(例如在容器中使用 Pandoc 转换文档、结合 AI 生成图像并生成分享链接等)。
- 目标用户:主要面向边缘计算开发者、AI 应用构建者,以及对云端隔离执行环境和虚拟文件系统感兴趣的前沿技术探索者。
总结
整体来看,这个项目巧妙地将虚拟文件系统与多种隔离执行环境结合在了一起,为云端沙盒和 AI 代理提供了一个极具潜力的底层基础设施。不过需要注意的是,该项目目前仅作为预览版(Preview)提供,API 尚不稳定,设计也可能发生变化,暂不适合直接用于生产环境。如果你对它的未来设计规范和更多技术细节感兴趣,建议访问其主页获取更详细信息。
