Cloudflare如何将办公工具的构建变成与智能体的对话
在大多数IT公司中,工作工具的生态系统看起来如出一辙:无尽的Google Docs、Notion、一些基于Retool的内部仪表板,以及大量由两年前离职的同事编写的零散脚本。当员工需要一个简单工具来完成某个狭窄的任务时,他们要么向内部开发团队请求资源,要么临时拼凑解决方案。
Cloudflare团队开源了cloudflare-os代码库。这是他们的内部工作环境,从工程师到销售人员,员工可以直接通过与语言模型的对话来创建微应用程序。

这个响亮名称背后隐藏着什么
这里的"操作系统"更多是指管理计算任务和进程,而非取代Linux。作者在这个术语中注入了两层含义:一个用于运行AI工作负载的安全环境,以及一个供公司内部日常生产力使用的通用平台。
核心概念围绕放弃集中式SaaS,转而采用所谓的Gadgets(小程序)构建。当您需要一个交互式演示文稿或特定冲刺的看板时,系统不会打开第三方服务,而是由内置智能体为您生成一个隔离的Web应用程序。
这种方法改变了一些习以为常的事情:
- 数据安全。应用程序在独立的隔离沙箱中运行,在未获得明确许可的情况下,物理上无法向外发送信息。
- 可定制性。如果生成的表格缺少图表或CSV导出按钮,您只需让智能体在应用程序代码中添加此功能。
如果结果令人满意,您可以将其导出为Blueprint(蓝图)并与同事共享代码库,以便他们部署独立副本。
系统能做什么
该代码库展示了平台的第二版,开发团队在内部使用经验的基础上完全重写。
实时生成工作应用程序
系统不提供现成的文档模板,而是生成交互式软件。像"为我构建一个带番茄钟的看板"这样的提示词,会创建一个完整的客户端界面和后端。
智能体以代码模式工作:编写代码片段,立即在运行时执行,捕获错误并自我修复,直到应用程序按预期工作。您可以通过Pi库适配器连接任何支持的LLM。
实时协作
每个创建的应用程序立即支持多人模式。如果您与同事分享链接,双方都能实时看到彼此在屏幕上的操作。开发人员无需手动配置WebSocket,因为每个小工具都有一个由Cloudflare Durable Objects驱动的分布式状态。
带有Gatekeeper的智能安全模型
通常,通过MCP与外部服务进行智能体集成时,会遇到赋予机器人过宽权限的问题。这里的访问控制结构不同:
- 每个外部服务(GitHub、Slack、Google Docs、Notion、Supabase)都受到各自Gatekeeper网关的保护。
- 默认情况下,智能体没有任何访问权限。用户手动将其"介绍"给所需的代码库或文档。
- 所有具有副作用的操作都需要人工确认。
作者解决了人工介入模式的主要问题——智能体不断卡住等待用户点击。Gatekeeper模拟成功的服务响应并返回合成数据。机器人继续推理链,而用户稍后可以在方便时批量批准积累的操作。
在成品软件内部内置的人与AI通信
小程序中的客户端和服务器通过轻量级Cap'n Web RPC协议通信。这带来了一个意想不到的好处:应用程序界面对语言模型来说是自动可理解的。在智能体为您组装了一个交互式问卷后,您可以要求它填写一些数据或重新计算统计数据,就在创建的窗口内进行。
底层架构是怎样的
Cloudflare OS架构镜像了传统操作系统,但构建在无服务器原语之上:
- 内核(Kernel)在包中实现。它处理沙箱启动、访问控制和进程协调。
- 设备驱动程序由包中的gatekeeper表示。它们将系统与外部API连接。
- 进程和可执行文件是小工具及其蓝图模板。
- 用户界面(Shell)基于Vite和CodeMirror构建。
每个小工具的服务器端组件在动态Worker Facet中运行,互联网访问完全禁用。客户端在具有严格Content-Security-Policy的受保护iframe中打开,只能通过postMessage与父窗口通信。
有趣的是,该项目由构建Workers运行时本身的同一作者创建。从本质上讲,Dynamic Workers和Facets等功能是专门为实现此架构而添加到Cloudflare平台的。然而,绑定到云端并非强制:系统可以在开源引擎上运行。
如何启动和试用
对于本地测试,您需要安装pnpm包管理器和Node.js。
克隆代码库并启动本地堆栈:
之后,界面将在打开。本地数据库和环境将通过内置的Wrangler模拟器启动,数据将保存到文件夹。
如果您想调整前端或后端,可以在两个终端中分别运行它们:
要使用外部服务,您需要在文件夹中为所需的网关设置OAuth密钥。代码库已包含GitHub、Google API、Notion、Slack、Spotify和Home Assistant的现成连接器。
体验与细节
Cloudflare OS看起来是一个关于公司如何为内部需求编写软件的大胆实验。为每个员工提供Web应用程序的个人副本而非一个共享实例,这个想法听起来很非主流,但它完美地解决了安全和定制问题。
重要的是要记住,该项目处于早期访问状态。文档仍然很少,通过纯部署到您自己的服务器仍在完善中,由于审查复杂性高,作者几乎不接受代码库中的第三方PR。
如果您正在寻找开箱即用的Jira或Notion替代品,这个项目仍然显得粗糙。但如果您对探索基于Durable Objects的前沿架构感兴趣,或者想了解如何安全地将智能体嵌入公司内部流程,源代码绝对值得花几个空闲晚上研究。
相关项目