Cloudflare AI Gateway与Ceramic.ai、Exa、Linkup合作,原生集成网页搜索,开发者可在模型推理时注入实时网页上下文。
当你在使用 Agent 并需要抓取一个实时网页时,Agent 通常只是猜一个页面的 URL,然后调用 curl 工具去访问它。这就是为什么你有时候会看到网页抓取返回 404 Not Found——那是因为 Agent 猜错了信息的 URL。可想而知,总是随机猜 URL 的效率实在不高。
有更好的方案。如果你的 Agent 能像人类一样上网——在查找信息时从搜索引擎查询开始——会怎样?这正是 Web Search 的设计目的:让 Agent 能够在互联网上搜索相关数据,并基于实时信息来支撑其回答。
今天,我们宣布 Cloudflare 与多家网络搜索提供商达成合作,通过 AI Gateway 为你带来有依据的智能服务。首发合作伙伴包括 Ceramic.ai、Exa 和 Linkup。
AI 模型的强弱取决于你喂给它们的上下文。模型通常在某个时间点完成训练后就冻结了,只能基于知识截止日期之前存在的信息来运作。这使得用模型来处理近期事件、变化的 API 或快速更新的新闻变得相当困难。
将 Web Search API 直接集成到推理流程中,能为你的 Agent 配备一个动态上下文层。你的应用直接从网络上获取新鲜且结构化的内容片段,注入到上下文里,让模型能够访问实时信息。
例如,如果你的 Agent 正在基于 Cloudflare 开发者工具构建,它可能会错过我们在 Birthday Week 期间发布的所有新产品和新功能!有了 Web Search,你就能检索到最新的文档和版本,从而更快更好地进行开发。
在 Cloudflare,我们坚信爬虫应该是诚实、透明的,应该遵守所有机器人规则和偏好,而网站所有者应该对其内容的使用拥有有意义的透明度和控制权。
今天我们正式发布,并很高兴地宣布,我们的合作伙伴已承诺遵守 Cloudflare 的机器人爬取标准。网络搜索提供商使用的爬虫必须符合 Cloudflare 在开发者文档中公开说明的"Verified bots"要求,网络搜索响应必须包含被爬取内容的来源链接。这些规则对维护一个公平的互联网大有裨益,让创作者能够决定如何处理自己的数据。
我们对在树立"好爬虫"标准方面又迈出一步感到非常兴奋,更让我们自豪的是,这些网络搜索合作伙伴愿意与我们一起迎接挑战、坚持这些标准。当你在 Cloudflare 上使用 Web Search 时,你选择的是那些致力于提供透明度、控制权和可见性的运营商,他们通过标识爬虫、遵守 robots.txt 以及提供搜索结果来源来帮助构建更好的互联网。
Cloudflare 的 AI Gateway 是我们新款 Web Search API 产品的旗舰集成点。AI Gateway 被设计为你应用的控制平面,内置了可观测性、统一账单、安全和访问控制功能。我们自然而然认为 Web Search 非常适合集成进来:你可以用 AI Gateway 积分消费 Web Search;收集 Web Search 调用的日志和请求数据;以及控制谁可以访问哪些 Web Search 提供商。
请求会出现在你常规的 AI Gateway 可观测性日志中,Web Search 查询会从你的 AI Gateway 积分余额中扣除。我们会标识支持 Zero Data Retention(ZDR)的合作伙伴,让你清楚自己的数据不会被保留。我们还按合作伙伴的公开 API 定价直接提供 Web Search,不加任何额外 markup。更多详情请参阅 Web Search 开发者文档。

我们还支持像模型推理提供商一样,使用 Bring-Your-Own-Key(BYOK)与 Web Search 提供商对接。这样,你就能沿用现有的组织配置,用几个简单的步骤开始使用 AI Gateway 和 Web Search。
如果你从现有后端、移动应用或外部服务发起 HTTP 调用,可以直接通过标准 REST 端点查询 Web Search。只需传递你的 AI Gateway 认证令牌,在 payload 中指定你首选的提供商,它就会返回 Web Search 结果。
curl https://api.cloudflare.com/client/v4/accounts/$CLOUDFLARE_ACCOUNT_ID/ai/websearch/ \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"query": "What are some fun things to do in Salt Lake City as fall approaches?",
"provider": "ceramic",
"limit": 5,
"options": {
"gateway": { "id": "default" }
}
}'
对于直接在 Cloudflare Workers 上构建的开发者,集成只需一行代码。我们还有一个独立的 Worker binding,你可以用它为 Agent 执行 Web Search:
const response = await env.AI.websearch({
gatewayId: "default",
query: "What are some fun things to do in Salt Lake City as fall approaches?",
provider: "exa",
limit: 5,
})
const results = await response.json()
我们正在积极地将原生 Server Tools 直接构建到 AI Gateway 中。很快,你就不需要自己定义工具了:它们会内置在我们的控制平面中,让你把更多时间花在构建上,而不是花在编排上。Web Search 将是我们纳入 Server Tools 栈的首批工具之一,很期待你来尝试。
不过,如果你想自己把 Web Search 作为 Server Tool 来编排,用下面这段 Worker 代码就能轻松实现:
const completion = await env.AI.run(
"@cf/google/gemma-4-26b-a4b-it",
{
messages: [{ role: "user", content: "What happened in the last Cloudflare Birthday Week in 2025?" }],
tools: [{
type: "function",
function: {
name: "web_search",
description: "Search the web for current information.",
parameters: {
type: "object",
properties: { query: { type: "string" } },
required: ["query"],
},
},
}],
},
{ gateway: { id: "default" } },
)
const toolCall = completion.tool_calls?.[0]
if (toolCall?.name === "web_search") {
const response = await env.AI.websearch({
gatewayId: "default",
query: toolCall.arguments.query,
limit: 5,
})
const searchResults = await response.json()
const finalResponse = await env.AI.run(
model,
{
messages: [
{ role: "user", content: prompt },
{
role: "tool",
name: "web_search",
content: JSON.stringify(searchResults),
},
],
},
{ gateway: { id: "default" } },
)
}
我们很高兴能将 Web Search 引入我们的平台,并与这些致力于成为优秀互联网守护者的出色合作伙伴一起做这件事。请通过 AI Gateway、独立 REST API 以及未来其他形式来试用我们的新 Web Search 工具。今天就通过我们的开发者文档开始上手,或者用你的 AI Gateway 账户和密钥在 AI Playground 中试用。