李成笔记网

专注域名、站长SEO知识分享与实战技巧

Agent沙箱+Browser-use,AI Agent构建神器!


Browser-use 是一个开源的 Python 库/框架,核心目标是让 AI 像人类一样,直接操作浏览器完成网页任务。


在“需要网页交互”的 Agent 场景里,它几乎是一个必备工具。它可以让 Agent 像真人一样操作,实现在浏览器上的表单填写、信息提取等任务。


但是在本地使用 Browser-use 会需要安装多项较大体积的依赖(如 Playwright),需要安装客户端,以及多任务并行会对用户的电脑性能有一定要求。因此使用一个安全、隔离、轻量化的沙箱环境来运行浏览器客户端,成为了许多 Agent 类产品选择的实现路径。


PPIO Agent沙箱可以为 Browser-use 提供一个轻量化的云端运行环境,解决了本地部署时的依赖安装和性能瓶颈问题,帮助开发者构建安全、高并发、多任务的浏览器 AI Agent,以下为运行原理和配置教程。



Browser-use 工作原理

在使用 Browser-use 之前,我们要明确其基本原理。Brower-use 执行主要分为以下几步:

  • 状态获取:捕获当前浏览器状态,包括 DOM 结构、可交互元素和页面元数据。
  • 状态表示:将浏览器状态转换为结构化提示词输入大模型。
  • 决策生成:大模型分析数据并生成结构化的动作计划。
  • 动作执行:解析动作计划并在浏览器中执行相应操作。
  • 结果反馈:执行结果和新状态反馈回大模型,进入下一轮迭代。


PPIO Agent沙箱可以通过预置浏览器环境,让Agent 能够直接调用远程的浏览器实例进行操作,既保留了 Browser-use 原有的网页交互能力,又通过资源隔离和弹性伸缩提升稳定性和并发性能。


这种云端沙箱方案特别适合需要同时运行多个网页自动化任务的 Agent 应用场景,可以让 AI 操作浏览器就像使用本地环境一样简单,无需关心底层基础设施的维护。


下方示例将详细介绍如何基于 PPIO Agent沙箱服务来运行 Browser-use 项目,该示例在本地运行 Browser-use Agent,连接远程 Agent沙箱中的浏览器来执行任务。


文档中使用了 PPIO 官方发布的 Browser-chromium 沙箱模板。如果您想基于此制作自己的模板,或者查看更完整的示例代码,可以查看以下链接。


地址:

https://github.com/ppinfralab/PPIO-collab/tree/main/examples/browser-use



PPIO Agent沙箱 × Browser-use

配置教程

#01获取 API key

(1)获取 API 密钥

打开 API 密钥管理页面,点击创建按钮,输入自定义密钥名称,生成 API 密钥。


(2)生成并保存 API 密钥

!!注意:秘钥在服务端是加密存储,请在生成时保存好秘钥;若遗失可以在控制台上删除并创建一个新的秘钥。



(3)获取【模型ID】

推荐使用的模型 ID

  • moonshotai/kimi-k2-instruct
  • deepseek/deepseek-r1-0528
  • deepseek/deepseek-v3-0324
  • qwen/qwen3-235b-a22b-fp8

其他模型ID、最大上下文及价格可参考:

https://ppio.com/pricing



#02 安装并运行 Browser-use

Browser-use项目地址:

https://github.com/browser-use/browser-use


(1) 配置环境变量

在开始使用之前,需要配置必要的环境变量:

export E2B_DOMAIN=sandbox.ppio.cn
export E2B_API_KEY=<您的 PPIO API 密钥>
export LLM_API_KEY=<您的 PPIO API 密钥>
export LLM_BASE_URL=https://api.ppinfra.com/v3/openai
export LLM_MODEL=<您选用的大语言模型>


(2)安装依赖

安装所需的 Python 包:

pip install browser-use
pip install e2b-code-interpreter


(3)示例代码

import asyncio
import os
import time

from browser_use import Agent, BrowserSession
from browser_use.llm import ChatOpenAI
from e2b_code_interpreter import Sandbox

async def screenshot(agent: Agent):
  # 截图功能
  print("开始截图...")
  page = await agent.browser_session.get_current_page()
  screenshot_bytes = await page.screenshot(full_page=True, type='png')
  # screenshot 方法返回图像的二进制数据,将其保存为 PNG 文件
  screenshots_dir = os.path.join(".", "screenshots")
  os.makedirs(screenshots_dir, exist_ok=True)
  screenshot_path = os.path.join(screenshots_dir, f"{time.time()}.png")
  with open(screenshot_path, "wb") as f:
    f.write(screenshot_bytes)
  print(f"截图已保存至 {screenshot_path}")

async def main():
    # 创建 E2B 沙箱实例
    sandbox = Sandbox(
        timeout=600,  # 超时时间(秒)
        template="browser-chromium",  # 该模板包含 chromium 浏览器,且暴露 9223 端口用于远程连接
    )
    
    try:
        # 获取沙箱的 Chrome 调试端口地址
        host = sandbox.get_host(9223) # 获取沙箱 9223 端口的地址
        cdp_url = f"https://{host}"
        print(f"Chrome 调试协议地址: {cdp_url}")

        # 创建 Browser-use 会话
        browser_session = BrowserSession(cdp_url=cdp_url) # 使用 cdp 协议连接远程沙箱中的浏览器
        await browser_session.start()
        print("Browser-use 会话创建成功")
        
        # 创建 AI Agent
        agent = Agent(
            task="去百度搜索 Browser-use 的相关信息,并总结出 3 个使用场景",
            llm=ChatOpenAI(
                api_key=os.getenv("LLM_API_KEY"),
                base_url=os.getenv("LLM_BASE_URL"),
                model=os.getenv("LLM_MODEL"),
                temperature=1
            ),
            browser_session=browser_session,
        )
        
        # 运行 Agent 任务
        print("开始执行 Agent 任务...")
        await agent.run(
          on_step_end=screenshot, # 在每个步骤结束时调用 screenshot 截图
        )
        
        # 关闭浏览器会话
        await browser_session.close()
        print("任务执行完成")
        
    finally:
        # 清理沙箱资源
        sandbox.kill()
        print("沙箱资源已清理")

if __name__ == "__main__":
    asyncio.run(main())


(4)运行示例

安装依赖并设置环境变量后,即可运行示例代码。如果一切顺利,可以在终端看到像这样的输出。



可以看到 Browser-use 在使用沙箱中的浏览器执行任务。产生如下截图:





#03 结尾

PPIO Agent沙箱专为 Agent 场景设计,支持 Python、JavaScript、C++ 等主流语言,支持网页浏览、系统命令、文案管理等行为,并且提供标准化 API / SDK,无缝衔接主流的 AI Agent 框架和工具。

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言