一、为什么推倒重来:v1 的三个教训
v1(5 月全公司可用)以「个人 + 私有 workspace」为中心,已经跑通。但三个问题迫使平台重做:app 是静态的、确定性活仍烧 token,以及最根本的——MCP 只告诉平台 agent 能调哪些工具,不告诉它 agent 观察了哪些资源。一旦分享开始,信息就可能流向无权看到它的人。
三个教训指向同一件事:控制工具调用不够,还要控制数据流向。
二、平台的三块拼图
Cloudflare OS 由三部分组成:给人用的 agent workspace、给数据用的安全与治理框架、给工作用的 app 平台。一段对话是入口,但它可以长成文档、应用或持续运行的工作流。
三个部件缺一不可:workspace 提供语境,安全框架提供边界,app 平台提供产出形态。
三、安全模型:默认零访问 + 能力绑定
「给 agent 发 API key」行不通:key 通常宽泛、长期、难约束难审计。新模型的顺序是:Cloudflare Access 管入口,平台内部默认零访问,资源以 capability 形式显式授予——生成代码拿到的是类型化绑定 env.PROJECT,而不是凭据。凭据从头到尾不与代码同处。
「零访问 + 能力绑定」把凭据从代码里拿掉:权限变成平台授予的引用,而不是散发的钥匙。
四、Gatekeeper:服务专属的守门 Worker
能力绑定的背后是 Gatekeeper——一个服务专属的 Worker,站在 Cloudflare OS 与外部服务之间。它理解该服务的 API、资源与操作,把「整个 GitHub 账号」收敛成「单个仓库、读 issues 不读源码、字段遮蔽、限流、合并前审批」。
Gatekeeper 把「访问整个系统」变成「访问系统里的一个收窄视图」,并全程记录。
五、策略跟随数据:观察日志
控制首次读取仍然不够。agent 读了数仓里的敏感表、做成 live dashboard——分享 dashboard 不能变成分享表格。所以平台记录 agent 观察到的每个资源:查看方打开工作区时被复验权限,敏感读取还会反向约束 agent 的出站动作。
观察日志把「授权」从一次性入口检查,变成贯穿数据一生(读、产出、分享、出站)的持续约束。
六、App 平台:每个文件都可以是一个应用
大多数生产力套件给固定应用集。Cloudflare OS 里每个「文件」都可以是自己的全栈应用——client 代码渲染 UI,server 代码存状态。server 按需以 Dynamic Worker 加载、实例化为 Durable Object Facet(自带独立 SQLite,与平台运行时存储分离),中间用 Cap'n Web(对象能力 RPC)通信。
关键不只是「app 是活的」,而是「你的工具和 agent 的工具是同一个工具」。
分享 app,还是分享「怎么做出来的」
| 分享方式 | 内容 | 语义 |
| 分享 app 本身 | 实时协作,共享同一份状态 | 大家一起用同一个应用 |
| 分享 blueprint(蓝图) | 对方得到 app 的代码副本;不含 SQLite 数据、对话历史、凭据、已连接资源 | 对方创建独立副本,初始状态与资源完全独立 |
蓝图分享的推论:同事可以用 AI 自己修改你的 app,而不是给你提 feature request 等排期——工具本身开始像软件一样被复制和演化。
七、模型与成本:AI Gateway 一个出口
平台不绑定模型:任何模型都可用,但每个推理调用都经过 AI Gateway。组织在一个地方决定哪些模型可用、每类任务用哪个模型;每个请求归属到人/团队/workspace,管理员能设预算、限流并决定限额触达后发生什么。
「每天早晨总结未读邮件」不需要最贵的 frontier 模型——成本控制与模型选择是平台职责,不是用户职责。
八、开源:让它属于你的公司
Cloudflare 的内部部署反映 Cloudflare 的术语、系统和做事方式;开源版的承诺是你的部署反映你的组织。core 与 example deployment 两个仓库分开,部署方消费 core 而不打补丁——配置、自定义 UI、内部集成、分析、管道都放在部署仓库。
开源的是「能部署的软件」,而语境、skills、工作流、内部系统与策略仍由每家公司自己塑造——这正是伙伴价值所在。
一句话总结
Cloudflare OS 开源版把 agent 平台的三个最难问题做成了内建件:给工具不发钥匙(能力绑定)、给数据配保镖(Gatekeeper + 观察日志)、给每个 app 一台独立的机器(Dynamic Worker + Durable Object Facet + Cap'n Web)。模型只是入口,组织自己的语境与边界才是平台本体。