Long-form — Oct 10, 2026

Cloudflare 收编 Deno:一个运行时的三次出走,和 AI Agent 基础设施的新默认

Long-form 5 min read ·

10 月 9 日,Ryan Dahl 在 Deno 官方博客发了一篇不长但分量极重的公告:Deno 团队整体加入 Cloudflare。HN 上一千多个赞,评论区一半在惋惜,一半在算账。惋惜的是又一个独立的开发者产品被收编,算账的人则在看更长远的一件事——这可能是 JavaScript 服务端演化二十年来,最重要的路径收束点之一。

一、三次出走:从 Node 到 Deno 到 celld

要看懂这次收购,得先把 Ryan Dahl 这二十年的路径摆出来。

2009 年他创造了 Node.js,把 V8 从浏览器拖到了服务器,用事件循环重定义了服务端编程。2012 年他离开 Node,2018 年带着对 Node 架构 regrets 的反思归来,创办 Deno:原生 TypeScript、默认安全的权限模型、内建工具链、ESM 优先。Deno 是一次对「JavaScript 运行时应该长什么样」的重新追问。

但 Ryan 的野心从不止于运行时。他在著名的《JavaScript Containers》一文里写下的愿景是:计算、存储、通信一体化,应用不再各自拼装基础设施。Deno Deploy 是这一步的落地,而最近的项目 celld 则走得更远——基于 Cloudflare Workers 的编程模型,把「扩展性内置于编程模型本身」做成从第一天就成立的事实,而不是事后运维补上的补丁。

从 Deno 到 Deno Deploy 再到 celld,这条线解释了为什么是 Cloudflare:当你的产品哲学已经是「Workers 编程模型 + 状态内建」,再独自维护一个运行时和一个托管平台,就是重复建设。公告里说得很直白:团队将把未来开发投入这个共享平台,而不是继续维护一个独立的运行时和托管服务。

二、明码标价的过渡期

对存量用户,公告给出了清晰的日期表,坦率得少见:

  • Deno 运行时:再支持一年,按月发布 bug 修复与安全更新,之后官方停止开发。仓库保持开源,欢迎社区接手。
  • Deno Deploy:继续运行六个月后关停,付费客户迁移到 Cloudflare Workers 会获得支持。
  • JSR:继续运营,基础设施迁至 Cloudflare。
  • rusty_v8:持续维护,并逐步集成进 Cloudflare 的 workerd。

四个数字里藏着收购的完整意图。运行时一年、托管六个月,这是给社区和商业客户的止损线;JSR 与 rusty_v8 保留,是拿走了生态分发层和 V8 绑定层这两项真正的资产。运行时的「壳」可以放弃,入口和底层工程能力必须收进来。这个组合拳的思路,和历史上所有成功的开发者生态收购一致:买生态位,不买代码。

三、为什么是现在:Agent 基础设施的缺口

公告里最值得逐字读的一段,是 Ryan 对 AI 的表态:「对更好抽象的需求,在 AI 时代尤其尖锐。」他随即点名 Durable Objects——无服务器执行、持久状态、WebSocket、高层 JavaScript 接口,四个能力装在同一个原语里——「这正是 Agent harness 特别需要的东西,也是我对 celld 最兴奋的原因」。

这话不是客套。拆开任何一个生产级 Agent 系统看,最难的部分从来不是模型调用,而是状态:一个跑半小时的浏览任务,中间态要能存、能恢复、能跨请求续接;多轮工具调用要流式推送;会话结束后的记忆要能带着。传统架构里这些分别对应消息队列、数据库、SSE 和缓存,四套运维;Durable Objects 把它们收敛成一个带单实例强一致的对象模型——每个 Agent 会话就是一个对象,断电重启接着跑。

而 celld 的定位是把这套模型带出 Cloudflare 的网络:「想在自有基础设施上大规模跑 Agent 的团队,请发邮件到我的新邮箱。」Ryan 用个人邮箱公开招募场景,说明 Cloudflare 的意图不止于自家长大的 Workers,而是想让「扩展性内建于编程模型」成为服务器开发的新默认——无论你跑在谁家的机器上。

四、行业格局:运行时战争结束了

把镜头拉远,这次收购完成了一个阶段的收束。服务端 JavaScript 的运行时格局,曾经是三四个玩家并进的战国:Node 背靠 OpenJS 基金会与企业共同体,Bun 用 Zig 重写引擎争性能,Deno 走安全与工程化的路线。现在,Bun 仍是独立公司继续搏杀商业化,而 Deno 选择了另一条路:不卖运行时,把团队和理念并进最大的边缘计算平台,去定义运行时之上的那一层。

这个信号对所有做开发者基础设施的团队都成立:单点工具的窗口期越来越短,平台级整合的速度越来越快。开发者在选型时需要把「这个框架三年后还在不在」纳入权重——不是看技术好不好,而是看它背后有没有一个能把维护成本扛过十年周期的商业实体。

对 Cloudflare,这笔账同样清楚。Workers 已经拿下了「边缘函数」的心智,但 Agent 时代真正值钱的是有状态的长期会话——这正是 Durable Objects 相对竞品最深的护城河。把 V8 绑定层的顶级团队收进来,把 celld 的分布式抽象揉进 Durable Objects,等于在「Agent 会住在哪里」这个问题上抢占了答案的位置。

五、给开发者的三条建议

存量用户:给 Deno Deploy 项目排迁移计划,六个月不算长,Workers 的权限模型与 Deno 有差异,趁早动。Deno 运行时不必急着换,一年维护期足够稳住存量,但新项目不该再起。

生态观察者:盯 JSR 的后续。包注册表迁入 Cloudflare 后如果与 Workers 部署打通(push 即部署),会形成一个很强的开发者闭环,值得警惕也值得学习。

Agent 开发者:认真评估 Durable Objects 作为会话状态层的方案,无论是否部署在 Cloudflare。celld 是开源方向,自托管路径可能出现;「状态内建于编程模型」这个理念本身,比它落地在哪一家更重要。

Ryan Dahl 二十年间三次重新定义服务端 JavaScript 的边界。这一次,他带着整个团队把自己交给了更大的平台——不是退场,而是把赌注押在了下一个抽象层上。Agent 基础设施这条赛道,刚刚多了一个重量级的押注者。

Frequently asked questions

Deno 和 Deno Deploy 还能用多久,存量项目怎么办?
运行时还有一年维护期,期间按月发布修复与安全更新,之后官方停止开发但仓库保持开源,社区可以接手。Deno Deploy 还有六个月运行期,付费客户会获得迁移到 Cloudflare Workers 的支持。存量项目的建议是:新功能直接转向 Workers 生态,迁移成本主要集中在权限模型与 Node 兼容层的差异上,Deno 团队的兼容层经验反而让这步变容易了。
为什么说这次收购和 AI 有关?
Ryan Dahl 在公告里明确点名:对更好的抽象的需求在 AI 时代尤其尖锐。Durable Objects 把无服务器执行、持久状态、WebSocket 和高层 JavaScript 接口装进同一个原语,恰好是 Agent harness 最需要的四件事——长会话、可恢复状态、实时流、低运维。celld 项目就是把这套编程模型做成可自托管的基础,Ryan 还公开了邮箱招募想在大规模跑 Agent 的团队。
Node.js 生态需要担心吗?
短期不需要,长期受益。Deno 从诞生起就与 Node 保持兼容,它对 TypeScript 原生支持、权限模型、顶层 await、内置测试等特性的探索,大量回流进了 Node 与 V8 的演进。团队并入 Cloudflare 后,rusty_v8 会继续维护并集成进 workerd,V8 周边的工程能力不减反增。Node 本身由 OpenJS 基金会治理,与这次人事变动无关。
JSR 是什么,为什么单独保留?
JSR 是 Deno 团队推出的现代 JavaScript 包注册表,原生支持 TypeScript 类型发布、无构建产物直传。公告明确 JSR 继续运营,基础设施迁往 Cloudflare。它被保留的逻辑不难理解:包管理是生态入口,控制了分发层就控制了开发者关系,这对 Cloudflare 的服务器端 JavaScript 战略是顺手的加分项。
普通开发者应该从这则新闻里读出什么信号?
两个信号。其一,边缘计算与全托管运行时的整合进入尾声,独立的第三方运行时+托管服务组合很难再活下来,选基础设施时平台的长期承诺比框架的新颖度更重要。其二,Agent 基础设施的竞争焦点正从「模型在哪跑」转向「状态在哪存」,谁把持久状态做进编程模型,谁就拿到下一代服务器应用的默认位。Cloudflare 这步棋赌的是后者。
// next.txt ›

Some outbound links in this post are affiliate links — see disclosure.