Cloudflare AI Search可直接索引自有文件和网站,为智能体构建专属搜索能力,减少手动拼装底层服务的工作。官方同时预告了新的计价模式。
今天,我们很高兴地宣布 Cloudflare AI Search 在开发者体验方面迎来多项改进,让你无需额外配置即可轻松管理搜索解决方案。过去,你需要自行拼接 Cloudflare 的各种基础组件(Workers AI、AI Gateway、Vectorize、R2、Browser Run);现在,AI Search 可以自动完成这一切,而且效果更好。我们的目标是为你的 Agent 提供专属搜索引擎,让它们能够轻松找到所需数据,为自己和人类用户提供更好的答案。
我们还首次预览了 AI Search 的客户定价,帮助你了解成本会如何随使用规模增长。我们采用了一种可预测、可扩展的定价模型:使用默认模型时,embedding 和 reranking 免费,因此不必再费心预估 token 数量。
现在,用户可以在 AI Search 中:
为你的 Agent 建立数据集合索引:让 Agent 可以轻松访问用于构建应用的结构化与非结构化数据,数据源既可以是单个文件,也可以是你拥有的网站。(目前,网站必须是你 Cloudflare 账户中的一个 zone,但我们很快会提供更多所有权验证方式。)
网站无需 sitemap:过去,使用网站集成时,AI Search 要求网站必须提供 sitemap。现在,你可以选择“Discover”解析选项,将没有 sitemap 的网站添加为数据源。
获得一个用于搜索整个 namespace 的公共 endpoint:在 namespace 上启用公共 URL 后,你会获得 /search 和 /mcp endpoint。无需身份验证,即可同时搜索多个 instance 或网站,因此可以轻松分享给客户。
为公共 endpoint 配置自己的自定义域名:现在,你可以将自己的域名绑定到公共 URL,从而为 /search 和 /mcp endpoint 添加品牌标识,例如 search.example.com/mcp。你也可以添加 Cloudflare Access,创建私有搜索 instance。
通过 AI Search plugin,为基于 EmDash 构建的网站添加 semantic search:如果你的网站运行在我们的开源 CMS EmDash 上,AI Search plugin 可以为网站内容添加 semantic search。
预览 AI Search 的全新定价模型:我们希望定价既可预测,又能随你的业务规模灵活扩展,因此已将 embedding 和 reranking 成本纳入其中:使用 Workers AI catalog 中的指定模型时,这两项功能免费。
最后,我们还会分享 AI Search 在 Cloudflare 自有平台中的应用案例,包括 Cloudflare.com、Developer Docs、EmDash、Cloudflare Dev Stack MCP,甚至包括你此刻正在阅读的这篇博客文章(试试 cmd+K)。
AI Search 的应用之一,是我们全新推出的 Cloudflare Dev Stack MCP。你现在就可以在 AI Playground 中体验它。它可以向 coding Agent 提供来自整个 Cloudflare 开发生态的最新文档,并附上引用来源,让 Agent 能够基于最新功能和修复来构建应用,而不是依赖陈旧的训练数据。
下面介绍我们如何利用 AI Search 当前已经提供的功能构建它。
我们为 Cloudflare 拥有的每个平台分别创建了一个 AI Search instance:Docs、Blog、API Docs、Community、Astro、Vite、Vitest、Hono、Replicate 和 OpenNext。(这些平台均归 Cloudflare 所有。)
这些平台分布在不同的域名下,但由于 Cloudflare 拥有这些网站的数据,AI Search 可以将它们视为一个统一的数据集合,并以相同方式完成摄取。只需将 AI Search 指向一个或一组网站,它就会负责 crawling、ingestion、embedding 和 retrieval。创建 instance 只需一条命令;对于没有 sitemap 的网站,可以添加 --parse-type discover,通过跟踪链接发现页面(由 Browser Run 的 /crawl 提供支持):
npx wrangler ai-search instance create cloudflare-community \
--namespace dev-stack \
--source https://community.cloudflare.com \
--type web-crawler \
--parse-type discover
接下来是最有意思的部分:通过一次查询同时搜索全部 10 个 instance。有两种实现方式。
我们将 namespace 绑定到一个 Worker,以创建远程 MCP server,并通过一次多 instance 调用搜索全部 10 个 instance。之所以采用这条路径,是因为我们要把 stack search 集成到 Cloudflare 的 MCP server 中,让它与 Agent 已经接入的其他 Cloudflare 工具一起作为工具提供。
wrangler.jsonc 中的绑定配置如下:
{
"ai_search_namespaces": [
{ "binding": "AI_SEARCH", "namespace": "cloudflare-stack" }
]
}
随后,只需一个工具发起一次调用,就能将查询分发到你指定的所有 instance:
// One tool, one call that searches every surface in the namespace at once.
context.registerTool(
'search_dev_stack',
{
description: 'Search current docs across the Cloudflare stack.',
inputSchema: z.object({ query: z.string() }),
},
async ({ query }) => {
const res = await context.env.AI_SEARCH.search({
query,
ai_search_options: {
instance_ids: ['developers-cloudflare-com', 'astro', /* ...every surface */],
retrieval: { max_num_results: 10 },
reranking: { enabled: true },
},
})
// res.chunks come back cited and tagged with the instance they came from.
return { content: [{ type: 'text', text: format(res.chunks) }] }
}
)
如果你完全不想编写 Worker,可以在 namespace 上启用公共 URL。你会立即获得 /search 和 /mcp endpoint,无需身份验证、无需部署,即可查询每个 instance。

如果你要像我们一样,将搜索整合到已有应用或 MCP server 中,可以选择 Worker。如果你只是想一键获得一个可分享的搜索 endpoint,则可以选择公共 endpoint。
公共 endpoint 会提供一个默认公共 URL,但你可以绑定自己的自定义域名,为 endpoint 添加品牌标识,例如 search.example.com/mcp。
如果搜索服务应该保持私有,可以在域名前添加 Cloudflare Access。这样,访问 endpoint 时就必须登录,只有经过授权的用户或 Agent 才能查询。

借助 Cloudflare Dev Stack MCP Server,你可以询问任何工具,也可以描述自己想构建的应用。它会返回关于如何在 Cloudflare stack 上以最佳方式构建应用的最新答案,并附上引用来源。

AI Playground 值得体验,但真正神奇之处在于将 MCP 接入你的 coding Agent,让最新的 stack 文档只需一次工具调用即可获得。这取代了常见的兜底方案——先进行 web search,再抓取完整页面。后者速度慢、消耗大量 token,而且经常会找到错误或过时的信息源。要在你选择的 Agent 中使用它,只需将 Dev Stack MCP URL 添加到 MCP 配置中。例如:
{
"mcpServers": {
"dev-stack": { "url": "https://stack.mcp.cloudflare.com/mcp" }
}
}
我们使用 AI Search 的方式,与客户使用它的方式完全相同:Cloudflare Blog 的搜索已经由它提供支持,从今天开始,Developer Docs 和 Cloudflare.com 也加入其中。所有这些搜索都采用 hybrid search,通过一次查询同时结合 semantic search 和 keyword search,因此既能处理“这个功能是做什么的”这类开放式问题,也能精确查找名称或关键词。最近,我们使用全新的开源 CMS EmDash 重建了 Blog,而现在为其搜索功能提供支持的,正是全新的 EmDash AI Search 集成。你也可以将它添加到自己的 EmDash 网站,开箱即用地为网站内容提供同样的搜索能力。
AI Search 在后台由 Browser Run 的 /crawl 提供支持,但它更进一步,使用独立的 bot 身份标识自己:Cloudflare-AI-Search。与 Browser Run 一样,它会遵循 robots.txt,使用不可变的公开 user agent 标识自己,并遵守网站设置的所有 bot 控制策略。
AI Search 在 beta 期间目前免费,计费功能尚未启用;开始计费前,我们会提前充分告知你。随着产品逐步迈向正式可用,下面预览 ingestion、storage 和 query,以及 embedding 与 reranking 的定价(预览价格在正式开始计费前可能发生变化):
所有 Workers plan 的每月免费额度
Image processing(附加项)
Semantic(hybrid search 和 vector search)
Embedding 和 Reranking
使用指定 Workers AI 模型时免费;第三方模型单独计费
† 每月共用 500 万个 ingestion token,涵盖当前支持的所有文件类型,例如文本和图片。
‡ 每月共用 2,000 次 query,由两种 query 类型共享。
我们的目标是提供可预测的定价,首先从搜索所依赖的模型入手。Embedding 会将文本转换为供搜索匹配的 vector,而 reranking 会重新排列搜索结果,让相关性最高的内容排在前面。使用 AI Search 默认模型或 Workers AI catalog 中的指定模型时,这两项能力均可免费运行,因此你无需担心 indexing 和每次搜索背后的模型成本。Answer generation 和 query rewriting 是可选步骤,会运行在你选择的模型上,并按 Workers AI 用量计费;你也可以使用 AI Gateway credits,调用任意模型或 provider。
假设使用 Workers Paid plan,为一个包含 20,000 份文档的数据源创建新的 AI Search instance。其中大约包含 2,000 万个文本 token,另有 1,000 张图片(假设每张图片约为 1,000 个 token),每月执行 30,000 次 semantic query,并使用 AI Search 默认的 embedding 和 reranking 模型。Ingestion 分块时大约有 10% 的内容重叠,因此下方计算中使用了 × 1.1:
(2,000 万个文本 token + 100 万个图片 token)× 1.1 - 500 万免费额度 = 1,810 万个 token
100 万个图片 token × 1.1 = 110 万个 token
约 1.2 GB(在 10 GB 免费额度以内)
30,000 - 2,000 免费额度 = 28K
Embedding(Workers AI)
使用量包含在指定 Workers AI 模型中
Reranking(Workers AI)
使用量包含在指定 Workers AI 模型中
图片既计入基础 ingestion,也会产生 image 附加费用。Storage 按每份文档约 10 KB、每张图片约 1 MB 计算。Indexing 基本属于一次性成本,因此后续月份的费用主要来自 query,会更接近 21 美元。
AI Search 现在已经可以启用和使用。将它指向你的网站,开启 hybrid search,同时进行 semantic matching 和 keyword matching,你就拥有了一个面向自有数据、可供 Agent 使用的搜索引擎。只需一条命令即可创建:
npx wrangler ai-search create my-search \
--namespace my-namespace \
--source https://my-website.com \
--type web-crawler \
--hybrid-search
接下来,你可以查询它,通过 /mcp 将其接入 Agent,或者为公共 /search endpoint 配置自定义域名,与用户分享。更多信息请参阅 AI Search 文档。