浏览器介绍
什么是浏览器
浏览器是AgentArts平台为智能体提供的内置工具之一,通过在安全隔离的沙箱容器中运行云端浏览器,使智能体具备访问任意网站、操作页面、获取截图、执行多步表单填写等Web自动化能力。浏览器工具采用控制面/数据面分离的架构设计,控制面负责工具资源的创建与管理,数据面负责会话生命周期管理与浏览器操作执行,所有浏览器操作均在受控的沙箱环境中运行,确保执行过程的安全与隔离。
浏览器工具支撑以下业务场景:
- 信息检索:智能体自动访问网页,提取和整理信息。
- 自动化办公:自动填写表单、提交数据、下载文件等。
- Web表单处理:多步骤表单填写与提交,支持复杂交互流程。
- UI自动化测试:对Web应用进行自动化功能验证。
- 可视化Agent:多模态视觉模型驱动浏览器,通过截图识别页面元素并执行坐标级操作。
工作原理
- Agent/SDK:应用程序或客户端通过Agent或SDK发起请求。
- 网关:Agent/SDK发起的请求首先会到达网关。网关作为系统的入口,负责接收和处理来自客户端的所有请求。
- inbound认证:请求通过网关后,会进入inbound认证阶段。在此阶段,系统会对请求进行身份验证和授权检查,确保请求来自合法的用户或服务。只有通过认证的请求才能继续向下传递。
- 浏览器:通过Inbound认证的请求最终会到达浏览器(browser-server)。沙箱工具是一个安全隔离的执行环境,在隔离的云端浏览器中执行网页导航、表单填写、截图等自动化操作,支持会话管理、配置文件加载、代理配置及LiveView实时画面查看与人工接管。
- 响应:browser-server处理完请求后,生成响应并通过网关返回给Agent/SDK。响应包含执行结果、页面信息、截图数据或其他相关数据。
核心能力
会话生命周期管理
浏览器工具通过会话(Session)执行自动化任务,每个会话运行在独立的沙箱容器中,实现完全隔离。采用单容器单会话单端口的1:1模型,最大化隔离性。会话默认空闲超时900秒,超过该时间无操作将自动终止。支持会话的创建、查询和停止操作:
- 创建会话:启动一个新的浏览器会话,可配置视口大小、超时时间、域名访问限制(白名单/黑名单)、浏览器代理、配置文件加载等参数。会话创建时,网关调用沙箱服务拉起浏览器工具镜像容器,顺序启动Xvfb(虚拟显示)、Chrome、TigerVNC和browser-server等组件。
- 查询会话:获取会话的元数据,包括状态、视口、开始时间等信息。
- 停止会话:终止会话,关闭所有客户端连接并销毁容器资源。支持通过控制台和SDK两种方式终止。
LiveView实时画面
通过RFB-over-WebSocket协议传输实时浏览器画面,用户可通过noVNC兼容客户端观看智能体的操作过程。LiveView是纯观看通道,不影响自动化操作的运行,支持多人同时观看。如需人工接管浏览器,可通过UpdateBrowserStream API将自动化通道切换为禁用状态,人工操作完毕后再恢复。
浏览器Profile
浏览器Profile允许在多个会话之间持久化和复用浏览器状态数据(Cookie、localStorage、sessionStorage等),使智能体无需每次会话都重新登录目标网站。支持在会话创建时加载Profile(从OBS下载数据包并通过CDP注入),在会话运行中或停止前保存Profile(通过CDP提取当前状态并上传至OBS),实现跨会话的登录态恢复。
浏览器代理
浏览器代理允许会话中的浏览器通过指定的代理服务器访问目标网站,支持HTTP/HTTPS代理、代理认证、域名路由和bypass规则。代理配置在会话创建时设定,整个会话生命周期内不可变。支持为不同代理配置domain_patterns实现按域名选择代理出口,满足租户网络合规需求。
使用流程
- 创建工具:在控制台或通过SDK创建浏览器工具,配置访问权限和网络设置,确保浏览器在受控的隔离环境中运行。具体请参见创建浏览器。
- 在智能体中集成工具:将浏览器工具集成至智能体代码,使智能体能够调用沙箱环境完成网页自动化任务。具体请参见在智能体中集成浏览器。
- 管理浏览器会话:浏览器工具通过会话(Session)执行自动化任务,支持启动会话、查看实时画面、终止会话等操作,具体请参见浏览器会话管理。
以下步骤为工具的增强能力,请按需配置: