Cloudflare OS: an open source agent workspace with capability-based governance
Cloudflare has open-sourced Cloudflare OS, the agent workspace it uses internally, to bring AI leverage beyond programmers. A workspace is grounded in company-curated context and skills, and starts each agent with zero access. Resources are exposed as typed bindings, while Gatekeepers—service-specific Workers—hold credentials, enforce policy, and log every observed resource. Sharing a dashboard does not become a way to leak an underlying table, because the platform re-checks the viewer against the observation log. Apps are full-stack Workers with their own SQLite state, and the same server methods are callable by both users and agents. Model routing and spend run through AI Gateway, so admins can set budgets and pick models per task. The code is on GitHub and deployable into a Cloudflare account, with a reference deployment included. Written for engineers working on agent infrastructure, access control, and internal development platforms.
Every organization has a mission, a reason for being. Organizations pass that mission — along with their terminology, procedures, systems, standards, and ways of working — to their people. People, in turn, take this context together with their own experience and work towards the mission.
Work can take many forms, from code, to documents and slides, to relationships, to outcomes in the physical world.
Some of these are straightforward: code either runs or it doesn’t. Agents have been using this feedback loop to produce code that “works” for developers over the last couple of years. But what about the rest of us?
Bringing the same leverage to the rest of the organization is a harder problem. Agents need to understand the context of the company and be able to reach the systems people use to do their jobs. They need to turn that context and access into work that moves the organization towards its mission.
That’s why we created Cloudflare OS. It gives every person an agent and workspace built around their company: how it works, what it knows, and the systems it relies on.
每个组织都有自己的使命,也就是它存在的理由。组织会把这份使命——连同自己的术语、流程、系统、标准和行事方式——传递给员工。员工则把这些背景信息与自身经验相结合,朝着使命努力。
工作的形态多种多样:从代码、文档、幻灯片,到人际关系,再到现实世界中的成果。
其中有些工作很直白:代码要么能跑,要么不能跑。过去几年里,Agent 一直在利用这种反馈回路,为开发者生成“能跑”的代码。但其他工作呢?
把同样的杠杆带给组织里的其他人,是一个更难的课题。Agent 需要理解公司的背景信息,并且能够触达人们日常工作所用的系统。它们需要把这些背景信息和访问权限,转化为推动组织朝着使命前进的实际工作。
这就是我们创建 Cloudflare OS 的原因。它为每个人提供一个围绕公司构建的 Agent 和工作区:公司如何运转、拥有哪些知识、依赖哪些系统,都在里面。
In May of this year, we gave every person at Cloudflare access to the first version of Cloudflare OS. Thousands of people across every function, many of them outside of engineering, use it every day to create documents and slides, automate repeatable tasks, and build small apps to visualize data and help them do their work.
Cloudflare OS also gave everyone a shared library of context and skills built by teams at Cloudflare. It captures our terminology, procedures, and best-known ways of doing recurring work as instructions an agent can follow. When one person figures out a better way to do something, everyone else can use it.
Today, we are open sourcing a new version of Cloudflare OS. Any organization can deploy it, connect it to internal systems, and make it their own.
今年五月,我们让 Cloudflare 的每一位员工都用上了第一版 Cloudflare OS。各个职能部门的数千名员工——其中许多人并非工程背景——每天都在用它创建文档和幻灯片、自动化重复任务,以及构建小型应用来可视化数据、辅助日常工作。
Cloudflare OS 还为每个人都提供了一套由 Cloudflare 各团队共建的共享背景库和技能库。它把我们的术语、流程,以及处理重复性工作时的最佳实践,都固化成 Agent 可以遵循的指令。当一个人找到更好的做法时,其他人也都能直接使用。
今天,我们正式开源了新版本的 Cloudflare OS。任何组织都可以部署它、连接自己的内部系统,并将其打造为自己专属的平台。
What we learned from the first version
The Cloudflare OS we are open sourcing today is based on what we learned from running the first version internally, a journey our CIO, Sam Rhea, covers in his blog post.
The first version centered on individuals working with agents through private workspaces. Apps were static rather than live software connected to internal systems, and mostly deterministic jobs still required running an agent skill again and consuming more model tokens.
Collaboration exposed a more fundamental challenge. Access to an MCP server told us which tools an agent could call, but not which underlying resources the agent had observed. Once people began sharing workspaces, apps, and outputs, we needed to ensure that collaboration could not expose information someone was not permitted to see.
We rebuilt Cloudflare OS on a new foundation to solve these problems. Security had to be part of the platform, not something every person building an app or using an agent has to implement correctly.
The result is a platform designed to belong to the company running it. You can customize the interfaces, connect your tools, and add the skills and context that capture how your organization works.
第一版学到的经验
我们今天开源的 Cloudflare OS,正是基于内部运行第一版时的经验。我们的 CIO Sam Rhea 在他的博客文章里详细讲述了这段历程。
第一版围绕个人通过与 Agent 协作的私密工作区展开。应用是静态的,而非连接到内部系统的实时软件;即便是基本确定性的任务,也要再次运行 Agent 技能、消耗更多模型 token。
协作则暴露了一个更根本的问题。MCP 服务器的访问权限告诉我们 Agent 可以调用哪些工具,却无法告诉我们 Agent 已经看到了哪些底层资源。一旦人们开始共享工作区、应用和输出结果,我们就必须确保这种共享不会暴露某些人不该看的信息。
为了解决这些问题,我们在一个新基础上重建了 Cloudflare OS。安全必须是平台的一部分,而不是每个构建应用或使用 Agent 的人都得自己去正确实现的事情。
最终得到的平台,从设计上就属于运行它的公司。你可以自定义界面、连接自己的工具,并添加能够体现你所在组织运作方式的技能和背景信息。
Introducing Cloudflare OS
Cloudflare OS starts with a conversation in your browser, like many other AI tools. What makes it different is that each conversation is grounded in the context and skills your organization has curated. Give your workspace a goal, and it can draw on that knowledge and work with the tools and data your organization already uses to achieve it.

Cloudflare OS combines three parts:
An agent workspace grounded in context and skills your company curates, with an isolated runtime where agents can write and run code.
A new security and governance framework for safe access to internal data and services.
A platform for personal, modifiable apps that people can build, share, and continue changing.
What begins as a conversation can become a doc, an app, or a workflow that continues doing the work.
Cloudflare OS 简介
Cloudflare OS 从浏览器里的一场对话开始,这一点和许多 AI 工具类似。不同之处在于,每场对话都根植于你所在组织精心整理的背景知识和技能。给工作区设定一个目标,它就能借助这些知识,与组织已经在使用的工具和数据协作,去达成目标。

Cloudflare OS 由三部分组成:
一个 Agent 工作区,依托你公司精选的背景知识和技能,并提供一个隔离的运行环境,让 Agent 可以编写和执行代码。
一套全新的安全与治理框架,用于安全访问内部数据和服务。
一个可构建、共享和持续改动的个人应用平台。
从对话开始的一切,可以变成文档、应用或持续执行工作的流程。
An agent workspace for everyone in your company
Agent workspaces were designed for everyone in your organization to use. You interact with them in your browser, so you don’t have to be a developer or know how to use a terminal.
A workspace combines agent sessions, persistent state, outputs and files, resource access, and an isolated runtime where the agent can write and run code.
They come loaded with the curated context and skills your team or company has collected. No more reinventing the wheel for every task — if someone on your team has figured out the best way to do something, everyone benefits. People no longer have to explain the same process, terminology, and best practices to a model every time they start a task.
A few things you can do:
Research and ask questions
Ask a workspace to research a topic using company context and the resources you make available to it. The agent can write code to search, filter, join, and analyze information instead of pulling an entire dataset into the model’s context window.
Create docs, slides, and spreadsheets
A workspace can turn its research into a document, presentation, or spreadsheet that you can continue editing. These outputs do not have to be static files. They can remain connected to live data, be updated as their sources change, and still be exported to familiar formats or services such as Google Drive.
Create collaborative, connected apps for your team
When a document or spreadsheet is not enough, the agent can build an app with its own interface, logic, and state. The app can use connected company resources and support multiple people working together.
Run deterministic workflows
Not every job needs a full agent session. Many are a known sequence of steps with one or two places where judgment is useful. A workspace can turn those jobs into mostly deterministic workflows, using code for the predictable steps and a model only where it adds value. Workflows can run on demand, on a schedule, or when an event occurs in a connected system.
Cloudflare OS gives agents and apps governed access to systems of record through Gatekeepers (more on this in the security section below). It also supports existing Model Context Protocol (MCP) servers your organization already uses via MCP Server Portals.
面向公司所有人的 Agent 工作区
Agent 工作区的设计目标,是让组织中的每个人都能使用。你只需在浏览器中与之交互,不需要是开发者,也不需要会使用终端。
一个工作区整合了 Agent 会话、持久化状态、输出和文件、资源访问权限,以及一个 Agent 可以编写和执行代码的隔离运行环境。
工作区自带你的团队或公司积累的背景知识和技能。无需为每个任务重复造轮子——如果你的团队里有人找到了做某事的最佳方式,所有人都能从中受益。人们不必在每次开始任务时,都向模型重新解释一遍同样的流程、术语和实践经验。
你可以在其中做很多事情:
调研与提问
让工作区利用公司背景知识和你开放的资源去调研一个主题。Agent 可以编写代码去搜索、筛选、关联和分析信息,而不是把整个数据集塞进模型的上下文窗口。
创建文档、幻灯片和电子表格
工作区可以把调研结果转成文档、演示文稿或电子表格,之后你还可以继续编辑。这些输出不一定是静态文件。它们可以保持与实时数据的连接,随着数据源变化而更新,并且仍然可以导出为 Google Drive 等熟悉的格式或服务。
为团队创建可协作、可连接的应用
当文档或电子表格不够用时,Agent 可以构建一个拥有自己界面、逻辑和状态的应用。这个应用可以使用公司已连接资源,并支持多人协作。
运行确定性工作流
并非每项工作都需要完整的 Agent 会话。很多工作是一组已知步骤,只有一两个地方需要判断力。工作区可以把这些工作转化为基本确定性的工作流:可预测的部分用代码,只有在需要时才调用模型。工作流可以按需运行、按计划运行,或在连接系统中发生某个事件时触发。
Cloudflare OS 通过 Gatekeeper 向 Agent 和应用提供对系统记录的有治理权限的访问(详见下文安全部分)。它还通过 MCP Server Portals 支持你的组织已经在使用的现有 Model Context Protocol (MCP) 服务器。
A new security and governance framework for safe access to internal data and services
As people begin experimenting with AI at work, one of their first requests is often for API keys to company systems. This makes sense: AI isn’t much use at work if it doesn’t have access to the systems people use to do their jobs.
But handing over API keys to people and agents is dangerous and does not scale. Keys often provide broad, long-lived access that is difficult to constrain, share safely, and audit.
MCP gives agents a better way to use these systems. An MCP server can hold the credential and expose a defined set of tools instead of handing the key directly to the agent. But controlling which tools an agent can call is only the first step. MCP alone does not tell us which underlying resources an agent has observed. The agent can combine information across systems, send it somewhere less restricted, or expose it through apps and outputs to people who may not be allowed to see the original resources. Authorization has to account for where the data can go next.
为安全访问内部数据和服务而生的新安全与治理框架
当人们开始在工作中尝试 AI 时,他们最先提出的请求之一往往是公司系统的 API key。这很合理:如果 AI 无法访问人们工作所需的系统,那它在工作中就没多大用处。
但把 API key 交给员工和 Agent 既危险又不可扩展。key 通常提供宽泛、长久的访问权限,难以约束、难以安全共享,也难以审计。
MCP 为 Agent 提供了一种更好的方式来使用这些系统。MCP 服务器可以持有凭证,并暴露一组定义好的工具,而不是把 key 直接交给 Agent。但控制 Agent 能调用哪些工具只是第一步。仅靠 MCP,我们无法知道 Agent 已经观察到了哪些底层资源。Agent 可以跨系统整合信息,把它发送到限制较少的地方,或者通过应用和输出暴露给那些原本无权查看原始资源的人。授权必须考虑到数据接下来会流向哪里。
Agents start with no access
Cloudflare Access controls who can enter Cloudflare OS. Inside, every agent and app starts with access to nothing. An agent can ask for access to a specific resource, which you can grant or deny. Generated code receives that resource as a typed binding:
const issues = await env.PROJECT.listIssues({
teamId: "ENG",
state: "open",
});
env.PROJECT is a capability representing permission to use a specific resource under a specific policy. The credential remains completely isolated from the agent and any generated code.
Server code runs in a Dynamic Worker with global outbound networking disabled. Client code runs in a sandboxed frame in the browser. Neither can reach the Internet except through capabilities you explicitly provide.
Agent 默认没有任何访问权限
Cloudflare Access 控制谁能进入 Cloudflare OS。在其中,每个 Agent 和应用一开始都什么也访问不了。Agent 可以请求访问某个特定资源,你可以批准或拒绝。生成的代码会以类型化绑定的形式获得该资源:
const issues = await env.PROJECT.listIssues({
teamId: "ENG",
state: "open",
});
env.PROJECT 是一个能力(capability),代表着在特定策略下使用某个特定资源的权限。凭证与 Agent 以及任何生成的代码完全隔离。
服务器端代码运行在禁用了全局出站网络的 Dynamic Worker 中。客户端代码运行在浏览器里的沙箱框架中。除了你显式提供的能力之外,两者都无法访问互联网。
Gatekeepers govern resources and actions
A Gatekeeper is a service-specific Worker that sits between Cloudflare OS and an external service. It understands the service’s API, its resources, and the operations that can be performed on them.
Giving an agent access to your entire GitHub account is likely too broad. A Gatekeeper can give it access to a single repository, allow it to read issues but not source code, mask particular fields, apply rate limits, and require approval before merging a pull request.
The agent and its apps see a small TypeScript API. The Gatekeeper handles OAuth, holds the credential, enforces policy, records what was read, and mediates anything with an externally visible side effect.

Gatekeeper 治理资源与操作
Gatekeeper 是一个面向特定服务的 Worker,位于 Cloudflare OS 与外部服务之间。它理解服务的 API、它管理的资源,以及能对这些资源执行的操作。
让 Agent 访问你的整个 GitHub 账户很可能过于宽泛。Gatekeeper 可以只给它访问某个代码仓库的权限,允许它读取 issue 但不能读取源代码,隐藏特定字段,应用速率限制,并在合并 pull request 之前要求审批。
Agent 及其应用看到的是一组小型的 TypeScript API。Gatekeeper 负责处理 OAuth、持有凭证、执行策略、记录已读取的内容,并代理一切有外部可见副作用的行为。

Policy follows what the agent has seen
Controlling the initial read is not enough. Take, for example, the case where an agent reads a sensitive table in a data warehouse and uses it to produce a live dashboard. Sharing the dashboard must not become a way to share the table with people who could not access it directly.
Cloudflare OS records every resource agents observe. These observations remain attached to the agent and its work. When another person tries to open the workspace, interact with the agent, or view what it produced, Gatekeepers verify that person's access to the observed resources.

The same observation log is used to inform policies that determine when agents can make external requests. A read of sensitive data can prevent the agent from writing data to certain sources, inviting new collaborators, handing work to another agent, or making an outbound request.
People using agents or building apps do not have to worry about making these mistakes. The platform can now be used to handle this.
策略跟随 Agent 看到过什么
仅仅控制最初的读取还不够。举个例子:Agent 读取了数据仓库中的一张敏感表,并用它生成了一个实时仪表盘。共享这个仪表盘,绝不能变成与那些无法直接访问该表的人共享这张表的方式。
Cloudflare OS 会记录 Agent 观察到的每一个资源。这些观察记录始终附着在 Agent 及其工作内容上。当另一个人尝试打开工作区、与 Agent 交互或查看它产出的内容时,Gatekeeper 会验证该人对 Agent 所观察资源的访问权限。

同一个观察日志也被用来为策略提供依据,决定 Agent 何时可以发起外部请求。如果读取了敏感数据,可以阻止 Agent 向某些来源写入数据、邀请新的协作者、把工作交给另一个 Agent,或发起出站请求。
使用 Agent 或构建应用的人不必担心会犯这些错误。现在,平台本身就能处理这一切。
A platform for building and sharing personal, modifiable apps
Most productivity suites give you a fixed set of applications: documents, spreadsheets, and presentations. In Cloudflare OS, each “file” can be its own application, written by an agent for one person, one project, or one team.
These are not prototypes that you have to export and deploy somewhere else. Each one is a full-stack application with client code, server code, an API, and durable state. Apps are private by default, but can be shared like documents.
构建和共享个人可修改应用的一个平台
大多数生产力套件给你一组固定的应用程序:文档、电子表格和演示文稿。在 Cloudflare OS 中,每一个“文件”都可以是一个独立的应用程序,由 Agent 为一个人、一个项目或一个团队编写。
这些不是需要导出并部署到别处的原型。每一个都是完整栈应用,包含客户端代码、服务端代码、API 和持久化状态。应用默认是私有的,但也可以像文档一样共享。
Every app is a Worker
When you ask your workspace to build an app, the agent writes two parts:
Client code that renders the app’s UI in the browser
Server code that stores state and implements the app’s behavior
The server is loaded on demand as a Dynamic Worker and instantiated as a Durable Object Facet (both are features we built for this project). The facet gives the app its own SQLite database, separate from the Cloudflare OS runtime managing it. Dynamic Workers use lightweight V8 isolates, so every app can have its own isolated runtime without needing a dedicated server or container sitting around.

The browser client talks to the server using Cap’n Web, Cloudflare’s open source object-capability Remote Procedure Call (RPC) system. A server method can be called from the client like a normal JavaScript function:
const issues = await app.listIssues({
status: "done",
});
The special part is that the agent can also call the same method.
So if you can build a tool to do a job yourself, agents can use your tool to do the job when you’re not there.
每个应用都是一个 Worker
当你请工作区构建一个应用时,Agent 会写两个部分:
负责在浏览器中渲染应用 UI 的客户端代码
负责存储状态并实现应用行为的服务端代码
服务端会按需加载,作为一个 Dynamic Worker,并实例化为一个 Durable Object Facet(这两个都是我们为这个项目构建的功能)。Facet 给应用一个自己的 SQLite 数据库,与管理它的 Cloudflare OS 运行时分开。Dynamic Workers 使用轻量级 V8 isolate,因此每个应用都可以拥有自己隔离的运行时,而不需要专门的服务器或容器一直待命。

浏览器客户端通过 Cap’n Web 与服务器通信,这是 Cloudflare 开源的 object-capability 远程过程调用(RPC)系统。客户端可以像调用普通 JavaScript 函数一样调用服务器方法:
const issues = await app.listIssues({
status: "done",
});
特别之处在于,Agent 也可以调用同一个方法。
所以,如果你能自己构建一个工具来完成工作,当你不在时,Agent 也能用你的工具来完成工作。
Share the app, or share how it was built
When you build an app in Cloudflare OS, you have two ways to share them:
Sharing your app itself lets other people collaborate in real time using the same state.
Sharing a blueprint of your app lets other people create their own copy of your app.

An app instantiated from a blueprint contains the original app’s code. But it does not contain its SQLite data, conversation history, credentials, or connected resources. Each new app starts with independent state and resources.
This means when you share apps with your team, they can modify them themselves with AI instead of filing a feature request and assigning you.
共享应用,或共享它的构建方式
当你在 Cloudflare OS 中构建了一个应用,你有两种共享方式:
共享应用本身,让别人使用相同的状态进行实时协作。
共享应用的 blueprint(蓝图),让别人创建你自己应用的一份副本。

从 blueprint 实例化出来的应用包含原应用的代码,但不包含它的 SQLite 数据、对话历史、凭证或已连接资源。每个新应用都从独立的状态和资源开始。
这意味着当你与团队共享应用时,他们可以用 AI 自己修改这些应用,而不是提交一个功能需求然后指派给你。
Use any model, and control what it costs
Cloudflare OS can be used with any model. Every inference call runs through Cloudflare AI Gateway, giving your organization one place to decide which models are available and which model should handle each job.

Not every task needs the most expensive model. You may not want to run the most expensive frontier model to summarize your unread emails every morning. AI Gateway gives you the control needed to make sure expensive models are only being used for the hardest work.
Every request is attributed to the person, team, or workspace that made it. Administrators can see where inference spend is going, set budgets and rate limits, and decide what happens when a limit is reached.
使用任意模型,并控制成本
Cloudflare OS 可以使用任何模型。每一次推理调用都会经过 Cloudflare AI Gateway,让你的组织有一个统一的地方来决定哪些模型可用,以及每个任务应该由哪个模型来处理。

不是每个任务都需要最贵的模型。你可能不希望每天早上都用最贵的 frontier 模型来总结未读邮件。AI Gateway 给你所需的控制权,确保昂贵模型只用于最难的工作。
每个请求都会归属于发起它的个人、团队或工作区。管理员可以看到推理开销都花在了哪里,可以设置预算和速率限制,并决定达到限制后会发生什么。
Open source, so you can make it yours
Cloudflare OS is available today and is open source. Check out the cloudflare-os GitHub repository. You can deploy it into your own Cloudflare account and use your own Access policies, AI Gateway configuration, data, and integrations.
Our internal deployment reflects Cloudflare’s systems, terminology, policies, and ways of working. Yours should reflect your organization.
Cloudflare OS is designed so you can customize the interface, add internal Gatekeepers, and build organization-specific features without changing the core product.
We are releasing two repositories: the Cloudflare OS core and an example deployment based on how we run it internally at Cloudflare. The deployment repository consumes the core without patching it, providing a place for configuration, custom UI, internal integrations, analytics, and deployment pipelines.
开源,让你能打造自己的版本
Cloudflare OS 今天正式推出,而且是开源的。你可以查看 cloudflare-os GitHub 仓库。你可以把它部署到自己的 Cloudflare 账户中,并使用自己的 Access 策略、AI Gateway 配置、数据和集成。
我们的内部部署反映了 Cloudflare 的系统、术语、策略和工作方式。你的部署应该反映你所在的组织。
Cloudflare OS 的设计让你可以自定义界面、添加内部 Gatekeeper,并构建组织特定的功能,而无需修改核心产品。
我们发布了两个仓库:Cloudflare OS 核心,以及一个基于我们在 Cloudflare 内部运行方式的示例部署。部署仓库直接消费核心,而无需修补它,为配置、自定义 UI、内部集成、分析和部署流水线提供了一个居所。
Delivered together with our partners
The source code is only the starting point. The context, skills, workflows, internal systems, and policies are what make Cloudflare OS even more useful for your organization.
Cloudflare’s strategic partners, Presidio and Happy Cog, will work with you to customize Cloudflare OS around how your organization operates and roll it out across your workforce.
Partners can help you curate shared skills and institutional context, build custom interfaces, connect internal systems through Gatekeepers and MCP Server Portals, and configure security, model, and cost controls.
You get your own branded Cloudflare OS, connected to your systems, running on Cloudflare, and shaped around how your people actually work.
与合作伙伴共同交付
源代码只是起点。真正让 Cloudflare OS 对你的组织更有用的,是背景知识、技能、工作流、内部系统与策略。
Cloudflare 的战略合作伙伴 Presidio 和 Happy Cog 将与你合作,根据你所在组织的运作方式定制 Cloudflare OS,并在你的员工队伍中推广。
合作伙伴可以帮助你整理共享技能和制度性背景知识,构建自定义界面,通过 Gatekeeper 和 MCP Server Portals 连接内部系统,并配置安全、模型和成本控制。
你将得到属于自己的、带品牌标识的 Cloudflare OS:连接你的系统、运行在 Cloudflare 上,并围绕员工实际工作方式量身定制。
Get started
Cloudflare OS is available today on GitHub. You can explore the source code, try the demo, or deploy it into your own Cloudflare account in a few minutes using our starter repository.
We’re just getting started. We’re working on bringing Cloudflare OS to the Cloudflare dashboard as a fully managed product, adding containers for development workflows, and bringing workspaces into Slack and other chat tools.
If you’re interested in talking with our team, we would love to chat. Use this form to reach out!
开始使用
Cloudflare OS 今天就可以在 GitHub 上获取。你可以浏览源代码、试用演示,或者使用我们的 starter 仓库,在几分钟内部署到自己的 Cloudflare 账户。
我们才刚刚开始。我们正在努力把 Cloudflare OS 作为完全托管的产品引入 Cloudflare dashboard,增加用于开发工作流的容器,并把工作区接入 Slack 和其他聊天工具。
如果你有兴趣与我们的团队交流,我们很乐意聊聊。请使用这个表单联系我们!