Cloudflare 电脑使用接口
一句话简介
基于 Cloudflare Workers 的浏览器自动化平台,通过云端沙箱实现远程网页操作与计算机交互任务。
标签
适用应用场景
- 云端网页数据抓取与自动化操作
- AI 代理远程控制浏览器完成任务
- 在隔离沙箱中运行不可信代码与脚本
- 构建可扩展的无服务器爬虫服务
README 中文摘要
项目概述
Cloudflare Computer 是一个运行在 Durable Object 之内的虚拟文件系统。它以 SQLite 存储权威状态,并通过 workspace.runtime 暴露可插拔的执行层。当前内置三种后端实现,均以惰性连接方式按需接入。
三种执行后端
Container 后端:将 SQLite 状态作为真实 FUSE 挂载投射到沙箱容器中,由 computerd 守护进程负责挂载文件系统,并通过 capnweb RPC 通道回传变更。该后端提供完整的 Linux 用户态、真实二进制与真实网络能力。
Isolate shell 后端:在 Dynamic Worker 中运行 just-bash。它直接通过 Workers RPC 访问权威 Workspace,不存在第二份存储或同步往返。
Isolate JavaScript 后端:在全新的 Dynamic Worker 中执行 ECMAScript 模块,提供结构化输入输出、持久化的相对导入、配置化库、基于 Workspace 的 node:fs/promises,以及可信的 ws:git 和 ws:artifacts 模块。
Workspace 可为多个后端注册稳定 ID,通过 workspace.runtime.exec(source, { backend }) 统一调用入口;source 的语义(Shell 命令或 ECMAScript 模块)由所选后端决定。Workspace 也可以不绑定任何后端单独使用,仅暴露文件系统能力。
预览版本:该包目前为反馈目的的预览版,API 不稳定且设计可能变更,仅适合实验与原型,不建议用于生产。
使用方式
构建应用需安装 @cloudflare/computer,并参考其 packages/computer/README.md 获取安装步骤、入口映射以及 fs 与 runtime 的示例用法。贡献者可查阅 CONTRIBUTING.md 与 COLLABORATORS.md 了解协作流程与开发规范。
示例项目
examples/ 目录包含若干可运行的消费者:
examples/container:在容器内运行computerd,挂载 workspace 并通过 capnweb 与 Durable Object 通信,提供write/read/execHTTP 接口。examples/worker-shell:通过env.LOADER在 Dynamic Worker 中加载 just-bash,HTTP 接口与容器示例一致,但不使用容器。examples/worker-javascript:与worker-shell类似,但exec改为在 Dynamic Worker 中求值 ECMAScript 模块。examples/egress:在同一 URL 上分别测试容器、Worker shell、Worker JavaScript 三种后端,并配置none/all或自定义出站策略。examples/mcp:Computer MCP 示例,提供一个由持久化 workspace、Worker shell 与 Linux 容器支撑的 Code Modecode工具。examples/think:基于@cloudflare/think的聊天代理,以 workspace 为工作目录,可从终端访问。examples/think-compare-runtimes:在 Web UI 中并行运行同一代理任务,分别对比容器与 Worker 运行时表现。examples/tutorial:分步构建一个端点:代理在主机上撰写 Markdown 菜谱卡片,再在容器中调用pandoc生成 PDF。examples/artifacts:在 workspace 中生成 Worker 项目,并通过 Cloudflare Artifacts 发布为可克隆仓库。examples/assets:将文本提示转为 Workers AI 图像,写入 workspace 并通过@cloudflare/computer/assets返回可分享链接。
仓库结构
该仓库为小型 monorepo:
packages/dofs(@cloudflare/dofs):基于 Durable Object SQLite 的虚拟文件系统、同步协议组件及面向 Node 的@platformatic/vfs提供器。packages/rpc(@cloudflare/computer-rpc):Durable Object 与computerd共用的 capnweb 线协议类型与服务端/客户端辅助。packages/computerd(@cloudflare/computerd):computerd守护进程,由 FUSE 挂载与 HTTP/WebSocket RPC 服务组成,运行于沙箱容器内。packages/computer(@cloudflare/computer):顶层 Computer 包,供 Durable Object 消费,仍在开发中。packages/computer-computerd-linux-x64:computerdlinux-x64 预编译二进制的私有 Docker 镜像上下文。镜像本身即发布产物,而非 npm 包。
性能说明
computerd 的 FUSE 挂载在元数据密集型操作上优于真实磁盘,但在大块顺序 I/O 上略逊。完整基准数据见 docs/19_performance.md,其中包含 fs-bench 数值、与 cloudflare/sandbox-sdk 在 npm install 场景下的对比及复现方法。
文档与协作
docs/ 目录收录了前瞻性的设计说明,docs/19_performance.md 提供文件系统基准结果。Bug 报告、修复提案、功能请求与设计提案可通过 Issue 与 Discussion 提交,不接受未经请求的 Pull Request,详细路径见 CONTRIBUTING.md。已在册的协作者应遵循 COLLABORATORS.md 中的构建、格式化、测试与提交规范。以代理方式工作时,可先阅读 AGENTS.md 与 .agents/skills/ 中的技能定义。许可证为 MIT,详见 LICENSE。
摘要更新于 2026-08-13 00:32:32
· 原文 6380 字符
· md5 6c7e912794ef…