ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Cloudflare Computer多后端路由:一个exec入口切换3种执行模式

Cloudflare Computer多后端路由:一个exec入口切换3种执行模式 Cloudflare Computer多后端路由一个exec入口切换3种执行模式【免费下载链接】computerGive your agent a computer 项目地址: https://gitcode.com/GitHub_Trending/computer1/computerCloudflare Computer 是运行在 Cloudflare 平台上的「Agent 专属电脑」——一个住在 Durable Object 里、由 SQLite 持久化的虚拟文件系统。它最值得关注的设计是多后端路由所有命令都从同一个workspace.runtime.exec()入口发出通过backend参数即可在Container 容器、Worker Shell、Worker JavaScript三种执行模式间自由切换而它们操作的是同一份文件。一、什么是多后端路由一个入口三种解释传统做法里跑 shell 命令和跑 JavaScript 模块往往要写两套接口。Cloudflare Computer 把它们统一成一次调用backend决定source如何被解释——命令运行时接收 shell 语法模块运行时接收 ECMAScript 模块一个 Workspace 可以按稳定的id注册多个后端例如两个 Worker 一个容器并存路由逻辑见 runtime.ts后端的接口刻意保持极简connect()懒加载建立连接、close()负责拆掉资源详见 backend.ts。二、3种执行模式对比 执行模式运行环境source是什么特点Containercontainer-shell完整 Linux 容器的 userlandshell 命令真实二进制、npm、node、真实网络通过 FUSE 挂载 capnweb 同步⚡Worker Shellworker-shellDynamic Worker 中的 just-bashshell 命令毫秒级启动、无容器开销文件操作直接回写同一个 DOWorker JavaScriptworker-javascript全新 Dynamic Worker 中的 ES 模块ECMAScript 模块支持结构化输入/输出、持久化相对导入、node:fs/promises三种模式的核心取舍一句话概括容器最重但最真实Worker 最快但受限。怎么选见 docs/12_worker_backend.md 和 docs/17_isolate_javascript.md。三、后端注册与路由规则 按 id 注册构造函数传入backends: [...]每个后端以稳定id区分默认分别为container-shell、worker-shell、worker-javascript缺省路由省略backend时自动选用第一个注册的后端单后端场景可以完全不管这个字段懒连接首次exec/push/pull才会真正拨通后端用不到就零开销callable 校验只有声明callable: true的后端如 worker-javascript才接受结构化input传错会得到清晰报错而非静默丢弃边界提醒后端选择是路由而非鉴权公开网关需自行按服务端策略校验。四、同步机制差异remote 与 none 这是三种模式最容易踩坑的地方Containersync: remote容器拥有独立的 SQLite 虚拟文件系统执行走严格的同步括号push → spawn → events → pull执行前 push 是安全闸门push 失败则命令根本不会发出Worker Shell / JavaScriptsync: none直接复用宿主 DO 的 SQLite 作为唯一权威存储没有第二份副本、没有同步往返push/pull 计数恒为零。也就是说切到 Worker 后端不仅是换个执行器而是省掉了一整条同步链路。完整规则见 docs/05_runtime_interface.md。五、两个值得一看的实战示例 examples/egress/把同一个 URL 分别交给容器curl、Worker shellcurl、Worker JavaScriptfetch三种后端发送并用统一的EGRESS_MODEnone/all/custom验证出站网络策略在三个后端上行为一致examples/think-compare-runtimes/一个 Web UI让同一个 Agent 任务在 Container 与 Worker 运行时并排跑直观对比两种模式的输出与延迟。六、快速上手三步走 安装npm install cloudflare/computerWorker 需要nodejs_compat兼容标志在 Durable Object 中用withWorkspacebackends注册你想要的后端Worker 系后端另需experimental标志和一个 Loader 绑定调用ws.runtime.exec(..., { backend: worker-shell })拿到句柄后result()或消费事件流即可。完整安装步骤与可运行示例见 packages/computer/README.md。七、延伸阅读 文档内容docs/05_runtime_interface.md运行时接口、exec 选项与结果结构docs/07_injected_service.md容器镜像与 computerd 注入docs/12_worker_backend.mdWorker 后端的取舍与适用场景docs/16_code_execution.md执行运行时架构docs/19_performance.mdFUSE 文件系统的完整基准数据 目前该库处于Preview阶段API 可能调整适合实验与原型暂不建议直接用于生产。一句话总结Cloudflare Computer 把「给 Agent 一台电脑」抽象成一个 exec 入口 三种可插拔后端——要真实 Linux 就路由到容器要速度就路由到 Worker文件永远是同一份。【免费下载链接】computerGive your agent a computer 项目地址: https://gitcode.com/GitHub_Trending/computer1/computer创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表