1. LangChain与AgentRun Browser Sandbox集成概述
在当今AI技术快速发展的背景下,智能体(AI Agent)需要与真实世界进行交互的能力变得越来越重要。浏览器作为连接虚拟世界与现实世界的重要桥梁,为智能体提供了丰富的交互可能性。AgentRun Browser Sandbox正是为解决这一需求而设计的云原生无头浏览器沙箱服务。
Browser Sandbox基于阿里云函数计算(FC)构建,为智能体提供了安全、高性能且免运维的浏览器执行环境。通过这项服务,AI Agent可以真正具备"上网"能力——从简单的网页抓取、信息提取,到复杂的表单填写、自动化操作,一切皆可实现。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. AgentRun Browser Sandbox核心特性解析
2.1 无头浏览器能力
Browser Sandbox内置了最新版本的Chromium/Chrome浏览器,支持完整的Web标准。这意味着智能体可以访问和操作绝大多数现代网页,而不用担心兼容性问题。更重要的是,它原生兼容Puppeteer、Playwright等主流浏览器自动化框架,开发者可以使用熟悉的工具和API来控制浏览器行为。
技术实现上,Browser Sandbox通过标准的Chrome DevTools Protocol (CDP)提供远程控制能力。CDP是Chrome开发者工具使用的底层协议,提供了对浏览器几乎所有功能的细粒度控制。这种设计使得Browser Sandbox既保持了强大的功能,又能与现有工具链无缝集成。
2.2 实时可视化与调试支持
Browser Sandbox内置了VNC服务,支持实时查看浏览器界面。这一特性对于调试和监控智能体的操作过程特别有用。开发者可以通过noVNC客户端在网页中直接观看浏览器的实时操作,就像在本地运行一样。
此外,Browser Sandbox还提供了操作录制功能。当智能体执行复杂的网页操作时,开发者可以回放整个过程,精确分析每个步骤的执行情况。这对于排查问题和优化操作流程非常有帮助。
2.3 安全与隔离机制
安全是Browser Sandbox设计的核心考量之一。每个沙箱实例都运行在独立的容器环境中,文件系统和进程空间完全隔离。这种隔离机制确保了不同智能体的操作不会相互干扰,也防止了潜在的恶意代码传播。
数据传输方面,Browser Sandbox支持WSS(WebSocket Secure)加密传输,确保操作指令和页面内容在传输过程中不会被窃听或篡改。对于处理敏感数据的应用场景,这一特性尤为重要。
2.4 Serverless架构优势
Browser Sandbox采用Serverless架构,具有按需创建、按量付费的特点。开发者无需提前预置资源,也无需担心服务器维护问题。系统能够根据负载自动弹性伸缩,轻松应对高并发场景。
这种架构特别适合AI Agent的应用场景,因为智能体的浏览器操作需求往往是突发性和间歇性的。传统方案需要长期维持浏览器实例,而Browser Sandbox可以在任务到来时快速启动,任务完成后自动释放资源,显著降低成本。
3. 环境准备与SDK安装
3.1 系统要求
在使用AgentRun SDK之前,请确保您的开发环境满足以下要求:
- Python 3.10或更高版本
- pip包管理工具
- 稳定的网络连接
- 阿里云账号(用于访问AgentRun服务)
3.2 SDK安装
安装AgentRun SDK及其依赖项非常简单,只需执行以下命令:
bash复制pip install agentrun-sdk[playwright,server]>=0.0.8
这个命令会安装核心SDK以及Playwright集成支持。Playwright是一个流行的浏览器自动化库,我们将使用它来控制Browser Sandbox中的浏览器实例。
注意:安装完成后,建议运行
playwright install命令来确保所有必要的浏览器组件都已就绪。虽然Browser Sandbox本身不需要本地浏览器,但Playwright的某些功能可能需要这些组件。
3.3 环境变量配置
为了使用AgentRun服务,您需要配置以下环境变量。创建一个名为.env的文件,内容如下:
ini复制# 阿里云百炼平台的API Key
DASHSCOPE_API_KEY=sk-your-bailian-api-key
# 阿里云账号的访问凭证
ALIBABA_CLOUD_ACCESS_KEY_ID=your-ak
ALIBABA_CLOUD_ACCESS_KEY_SECRET=your-sk
ALIBABA_CLOUD_ACCOUNT_ID=your-main-account-id
ALIBABA_CLOUD_REGION=cn-hangzhou
# Browser Sandbox模板名称
BROWSER_TEMPLATE_NAME=sandbox-your-template-name
# AgentRun服务端点
AGENTRUN_CONTROL_ENDPOINT=agentrun.cn-hangzhou.aliyuncs.com
AGENTRUN_DATA_ENDPOINT=https://${your-main-account-id}.agentrun-data.cn-hangzhou.aliyuncs.com
这些凭证可以从阿里云控制台获取。请确保不要将这些敏感信息提交到版本控制系统。
4. Browser Sandbox模板创建指南
4.1 控制台操作步骤
在使用Browser Sandbox之前,您需要在AgentRun控制台创建一个沙箱模板。以下是详细步骤:
- 登录AgentRun控制台
- 在顶部菜单栏选择"运行时与沙箱"
- 在左侧边栏选择"Sandbox沙箱"
- 点击右上角"创建沙箱模板"按钮
- 在弹出的对话框中选择"浏览器"类型
- 配置模板参数:
- 名称:为您的模板起一个描述性名称
- 规格:选择适合您需求的资源配置(CPU、内存等)
- 网络:配置VPC和交换机(如有需要)
- 空闲超时:设置沙箱实例在无操作时的自动销毁时间
- 点击"创建浏览器"按钮完成创建
4.2 模板参数详解
创建模板时,有几个关键参数需要特别注意:
-
规格选择:不同的业务场景对浏览器性能要求不同。简单的网页抓取可能只需要基础配置,而复杂的Web应用操作可能需要更高的CPU和内存分配。
-
网络配置:如果您的智能体需要访问内网资源,或者需要通过特定的网络出口访问互联网,可以在这里配置VPC和交换机。对于大多数公开网站访问,使用默认网络配置即可。
-
空闲超时:这个参数决定了沙箱实例在没有操作时能保持多久。设置太短可能导致频繁重建,设置太长则可能浪费资源。建议根据业务特点调整,通常300-1800秒是合理的范围。
-
浏览器版本:AgentRun默认提供最新稳定版的Chromium浏览器。如果您有特定的版本需求,可以在高级设置中指定。
5. 基础使用示例
5.1 创建和销毁Sandbox
让我们从一个最基本的示例开始,展示如何创建和使用Browser Sandbox:
python复制from agentrun.sandbox import Sandbox, TemplateType
from playwright.sync_api import sync_playwright
# 创建Browser Sandbox实例
sandbox = Sandbox.create(
template_type=TemplateType.BRO
