<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>浏览器标准 &#8211; mylogs.cn</title>
	<atom:link href="https://mylogs.cn/tag/%e6%b5%8f%e8%a7%88%e5%99%a8%e6%a0%87%e5%87%86/feed/" rel="self" type="application/rss+xml" />
	<link>https://mylogs.cn</link>
	<description>发现、记录、分享</description>
	<lastBuildDate>Fri, 07 Aug 2026 10:15:18 +0000</lastBuildDate>
	<language>zh-Hans</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	
	<item>
		<title>不用写一行代码，给网站装上 AI 代理专用接口</title>
		<link>https://mylogs.cn/cloudflare-webmcp-developer-preview/</link>
					<comments>https://mylogs.cn/cloudflare-webmcp-developer-preview/#respond</comments>
		
		<dc:creator><![CDATA[steve, zhang]]></dc:creator>
		<pubDate>Fri, 07 Aug 2026 10:15:04 +0000</pubDate>
				<category><![CDATA[科技]]></category>
		<category><![CDATA[AI代理]]></category>
		<category><![CDATA[Chrome]]></category>
		<category><![CDATA[Cloudflare]]></category>
		<category><![CDATA[MCP]]></category>
		<category><![CDATA[WebMCP]]></category>
		<category><![CDATA[开发者工具]]></category>
		<category><![CDATA[浏览器标准]]></category>
		<guid isPermaLink="false">https://mylogs.cn/cloudflare-webmcp-developer-preview/</guid>

					<description><![CDATA[互联网最初是按「屏幕对面坐着一个人」来设计的：有人阅读页面、点击按钮、填写表单。但如今，越来越多的访问来自 A [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">互联网最初是按「屏幕对面坐着一个人」来设计的：有人阅读页面、点击按钮、填写表单。但如今，越来越多的访问来自 AI 代理，而它们面对的仍是一个为人类打造的网络。</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6a75dfc16d8f5&quot;}" data-wp-interactive="core/image" data-wp-key="6a75dfc16d8f5" class="wp-block-image size-large aligncenter wp-lightbox-container"><img fetchpriority="high" decoding="async" width="1200" height="628" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://mylogs.cn/wp-content/uploads/2026/08/37f7e39c01775e06fddb908c9faf0d2c_header.webp" alt="不用写一行代码，给网站装上 AI 代理专用接口" class="wp-image-3962" style="max-width:100%;height:auto;" srcset="https://mylogs.cn/wp-content/uploads/2026/08/37f7e39c01775e06fddb908c9faf0d2c_header.webp 1200w, https://mylogs.cn/wp-content/uploads/2026/08/37f7e39c01775e06fddb908c9faf0d2c_header-300x157.webp 300w, https://mylogs.cn/wp-content/uploads/2026/08/37f7e39c01775e06fddb908c9faf0d2c_header-1024x536.webp 1024w, https://mylogs.cn/wp-content/uploads/2026/08/37f7e39c01775e06fddb908c9faf0d2c_header-768x402.webp 768w" sizes="(max-width: 1200px) 100vw, 1200px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">图片来源：Cloudflare</figcaption></figure>





<p class="wp-block-paragraph">Cloudflare 在 8 月 6 日推出了 WebMCP 的开发者预览版，试图改变这一局面：网站只需在控制台里打开一个开关，无需编写任何代码，也不改动源站，浏览器中的 AI 代理就能直接调用这个网站提供的工具。Cloudflare 会向页面注入一个轻量桥接层，为访客的代理注册一套可用工具集。</p>



<h2 class="wp-block-heading">从「爬」到「调用」</h2>



<p class="wp-block-paragraph">过去，AI 获取网站内容的通行做法是爬虫抓取：把内容复制回自己的服务器，往往既不给原网站带去流量，也不留下多少署名。Cloudflare 认为存在一条更好的路径，而且这条路径不需要爬取。</p>



<p class="wp-block-paragraph">WebMCP 是一项新的浏览器标准，目前已在 Chrome 146 中实验性上线，在页面里以 <code>document.modelContext</code> 的形式呈现。网站可以主动向浏览器内运行的代理暴露一组工具，代理就不必再对着为人类设计的页面元素反复猜测。这样一来，代理的浏览体验可以与人类用户完全不同，token 花在真正要完成的任务上，而不是消耗在无谓的页面导航中。唯一的门槛在于：网站必须自己去实现它。</p>



<p class="wp-block-paragraph">Cloudflare 一直在这条链路的两端同时布局。其远程浏览器 BrowserRun 已支持 WebMCP，代理可以发现并调用网站暴露的工具；Cloudflare Radar 也即将提供自己的 WebMCP 工具。这次的预览版针对的是另一端——让任何托管在 Cloudflare 上的网站，通过一个开关、零代码就获得这些能力。</p>



<h2 class="wp-block-heading">技术实现：边缘注入加浏览器桥接</h2>



<p class="wp-block-paragraph">手动实现 WebMCP 本身就是一个不小的工程：需要设计要暴露哪些工具、把它们接入现有界面，还要随着标准演进持续维护。Cloudflare 的目标是把这件事简化成拨动一个设置开关。</p>



<p class="wp-block-paragraph">这些工具以「工具包」（pack）的形式组织，相关工具可以整体启用。工具包的设计考虑了扩展性：随着 Cloudflare 陆续增加新包，网站只需打开开关即可接入更多能力，无需重新部署。当前开发者预览版包含两个工具包，两者都完全在浏览器中运行。</p>



<p class="wp-block-paragraph">整套实现由两部分组成，均位于源站之前，不触碰网站自身代码，且对静态站点和单页应用一视同仁。</p>



<p class="wp-block-paragraph">第一部分是边缘注入。当网站在 Cloudflare 控制台中开启 WebMCP 后，Cloudflare 使用 HTMLRewriter 在每个 HTML 响应中添加一行内容——一个指向桥接脚本的引用。标签和它加载的脚本都来自边缘节点、同源提供，页面的其他部分保持原样：</p>



<pre class="wp-block-code"><code>&lt;script
  type="module"
  src="/.webmcp/bridge.js"
  data-packs="c2pa,mcp-server-client"
  data-mcp-url="/mcp"&gt;&lt;/script&gt;</code></pre>



<p class="wp-block-paragraph">其中 <code>data-packs</code> 属性列出要激活的工具包。如果网站已有自建的 MCP（Model Context Protocol，模型上下文协议）服务器，<code>data-mcp-url</code> 就指向该服务器，默认为同源的 <code>/mcp</code> 路径。</p>



<p class="wp-block-paragraph">第二部分是桥接层。它在页面中运行，负责寻找 WebMCP 接口。如果浏览器不支持该接口，脚本直接返回、什么也不做，页面行为与之前完全一致。</p>



<p class="wp-block-paragraph">找到接口后，桥接层会把 <code>data-packs</code> 中列出的工具包合成一份工具清单，逐个通过 <code>.registerTool</code> 注册。一个工具包就是一组 MCP 工具描述符及其处理函数。像内容凭证包这样的静态包会预先声明自己的工具；而像站点 MCP 服务器包这样的动态包，则在启动时先发现工具，再进行注册。</p>



<p class="wp-block-paragraph">在当前预览版中，每个工具都完全在访客的浏览器内运行，不存在向 Cloudflare 服务器的往返请求。内容凭证包在本地抓取图片并解析其前几 KB 的内容溯源元数据；站点 MCP 服务器包则从页面直接与网站的 MCP 服务器端点通信，使用访客所在的源和其已有的会话。</p>



<p class="wp-block-paragraph">桥接层代码由运行在边缘的 Worker 提供。Cloudflare 表示这为后续扩展留出了空间——未来的工具包将能够调用这个 Worker，去完成页面自身无法独立完成的任务，比如用 Workers AI 总结站点地图，或查询 AI 搜索索引。</p>



<p class="wp-block-paragraph">对代理而言，这些都只是普通的 MCP 工具。Cloudflare 直接沿用了 Model Context Protocol 自身的 <code>Tool</code> 和 <code>CallToolResult</code> 类型，因此一个已经能与 MCP 服务器对话的代理，不需要任何额外改造就能驱动页面。用 Cloudflare 的说法：浏览器只是 MCP 运行的又一个场所。</p>



<h2 class="wp-block-heading">两个预览工具包</h2>



<p class="wp-block-paragraph">内容凭证包用于读取图片的溯源元数据，服务于 C2PA 内容凭证计划的参与方。其中 <code>scan_images_c2pa</code> 会扫描页面上的每一张图片，返回一份简短摘要，包含图片总数、已扫描数量、带有 C2PA 信息的数量，以及每张图的格式、声明生成方（例如 Adobe Firefly）、标题和签名者等字段。若需要更细致的信息，<code>inspect_image_c2pa</code> 可以解码单张图片的完整清单，包括编辑历史、声明的作者以及签名证书。</p>



<p class="wp-block-paragraph">另一个是站点 MCP 服务器包。它会读取网站自有 MCP 服务器通过 <code>tools/list</code> 公布的每一个工具，为其注册一个代理封装。当代理调用该工具时，封装函数会以同源方式向 <code>/mcp</code> 发起 POST 请求，携带访客现有的会话凭据，并将返回的 <code>CallToolResult</code> 原样传回。</p>



<p class="wp-block-paragraph">对站点运营者来说，这一变化的实际意义在于 AI 流量的处理方式：代理不必再从原始 HTML 中反推网站意图，而是可以调用结构化工具、拿到准确且符合预期的结果，同时保留会话上下文，网站方也能完整看到代理的交互行为。</p>



<p class="wp-block-paragraph">WebMCP 采用 MCP 2026-07-28 版本规范，该版本将协议从有状态的会话管理转向基于 Streamable HTTP 的无状态模型，代理通过标准 POST 请求调用工具，用 <code>Mcp-Method</code> 和 <code>Mcp-Name</code> 请求头路由指令，从而更适合在边缘基础设施上横向扩展。</p>



<p class="wp-block-paragraph">需要注意的是，这仍是开发者预览版，WebMCP 标准本身在 Chrome 中也处于实验阶段。站点运营者可以将 BrowserRun 指向自己的域名，查看代理究竟会发现哪些工具、又会如何调用它们，然后再决定是否放行生产流量。</p>



<p class="has-small-font-size wp-block-paragraph">来源：Cloudflare 官方博客、Cloudflare Browser Run 开发者文档</p>

]]></content:encoded>
					
					<wfw:commentRss>https://mylogs.cn/cloudflare-webmcp-developer-preview/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
