跳到主要内容
返回时间线
Cloudflare来源发表:

智能体的浏览器能开内部站点了:preview.internal 把沙箱开发服务器留在私有网络里

核心概要

Cloudflare 在 Agents SDK 的持久浏览器里加入内部主机名:给浏览器一个 preview.internal 这样的名字,发往它的请求就转给智能体自己,而不是公网。这样智能体可以在同一个浏览器里检查沙箱中的开发服务器、工作区文件夹或同域另一个 Worker,而服务器不对外暴露。每个内部主机带一个在 Durable Object 中运行的 fetch 函数,可使用该对象的绑定与状态;主机还可配置目标 schema,让模型自行选择端口或文件夹。

Source-provided article image: Changelog
Cloudflare

深度剖析

构建网站的智能体现在可以在真实浏览器里检查自己托管的站点,而不必把开发服务器暴露到公网。 此前智能体的浏览器只能访问公网地址,容器里运行的开发服务器没有一条只对智能体开放的访问路径。 内部主机名让发往 preview.internal 这类名字的请求转给智能体自身,示例中智能体据此打开沙箱里的开发服务器。

内部主机名是浏览器自身的能力,与智能体框架无关,因此换用别的框架也能保留浏览器配置。 接入方式有两种:使用 Pi Durable、AI SDK、TanStack AI 的内置适配器,或用 browser.session() 自行实现一个工具。 示例用 agents/browser/pi 的 browserTool 把工具注册给 Pi Durable 智能体,并注明需 Agents SDK v0.31.0 或更高版本。

模型可以自己决定内部主机指向哪个端口或哪个文件夹,这个选择会跨轮次保留。 主机可附带目标 schema,模型调用 browser.assignHost() 传入符合 schema 的目标,例如 { port: 5173 }。 目标经 schema 校验后存储,在跨轮次、浏览器重启和重新部署后仍然有效,之后每个发往 http://preview.internal/ 的请求都以该目标调用主机的 fetch 函数。

启示与展望

适用于使用 Cloudflare Agents SDK v0.31.0 或更高版本、在持久浏览器中为智能体配置内部主机名的场景;材料给出的示例是给 Pi Durable 智能体加一个私有开发服务器预览。

材料把完整示例、限制与安全指引指向 Internal hostnames 文档,未在此展开;browserTool 改为在独立的 Dynamic Worker 中运行模型代码、不再需要 CodemodeRuntime 导出,已有使用者需参考 v0.31.0 升级说明。