Browser SDK
场景介绍
支持Browser生命周期管理、Browser Profile生命周期管理和Session生命周期管理。
原理优势
用户空间已存在浏览器时,SDK支持快速拉起浏览器会话。
api_key = "your_actual_api_key" # your api key
with browser_session("your_region", "your_browser_name", "your_session_name", api_key=api_key) as browser_client:
response = browser_client.invoke(
type="your_type",
api_key=api_key,
action={your_action}
) 前提条件
- 已开通AgentArts。
- 登录控制台获取AK/SK,和API_KEY信息,详情请参考如何获取华为云AK/SK和如何获取浏览器的API_KEY。
- 已安装Python,且版本不低于3.10。查看Python版本的命令示例:python --version。
操作步骤
- 执行如下命令进行包安装。
# 安装agentarts-sdk包 pip install agentarts-sdk # 安装langgraph包 pip install langgraph # 安装langchain_openai包 pip install langchain-openai
- 配置环境变量:
# === 用于通过代码创建沙箱 === export HUAWEICLOUD_SDK_AK="您的华为云AK" export HUAWEICLOUD_SDK_SK="您的华为云SK" export AGENTARTS_CONTROL_ENDPOINT="https://agentarts.cn-southwest-2.myhuaweicloud.com" export AGENTARTS_BROWSER_DATA_ENDPOINT="http://您的沙箱域名" export HUAWEICLOUD_SDK_BROWSER_API_KEY="您的沙箱 API Key"
获取AK/SK请参考如何获取华为云AK/SK。
沙箱工具的域名、API Key获取方法如下:
- 单击沙箱工具名称。
- 进入“配置信息”页面后,获取域名。 图1 获取沙箱域名
- 单击“URN”链接,在弹出的窗口中获取沙箱的API Key。 图2 URN链接
图3 获取沙箱API Key
- 创建浏览器。
from agentarts.sdk.tools import Browser # auth_type为API_KEY时创建示例 client = Browser(region="your_region", auth_type="API_KEY") browser = client.create_browser( name="your_browser_name", api_key_name="your_api_key_name" ) # auth_type为IAM时创建示例 client = Browser(region="your_region", auth_type="IAM") browser = client.create_browser( name="your_browser_name", auth_type="IAM" ) - 配置工具,这里以导航工具为例。
- API_KEY的配置工具示例如下,用户自定义region信息和需要使用的浏览器,浏览器名称和API_KEY一一对应。
import json from agentarts.sdk.tools import browser_session from langchain_core.tools import tool @tool def navigate_tool(url: str) -> str | None: """Navigate to a URL in the browser""" api_key = "your_actual_api_key" # your api key with browser_session("cn-southwest-2", "your_browser_name", "your_session_name", api_key=api_key) as browser_client: response = browser_client.invoke( type="navigate", api_key=api_key, action={ "url": url } ) return json.dumps(response) - IAM认证的配置工具示例:
import json from agentarts.sdk.tools import browser_session from langchain_core.tools import tool @tool def navigate_tool(url: str) -> str | None: """Navigate to a URL in the browser""" with browser_session("cn-southwest-2", "your_browser_name", "your_session_name", auth_type="IAM") as browser_client: response = browser_client.invoke( type="navigate", action={ "url": url } ) return json.dumps(response)
- API_KEY的配置工具示例如下,用户自定义region信息和需要使用的浏览器,浏览器名称和API_KEY一一对应。
- 集成配置的工具,以如下导航为例。
from langchain_openai import ChatOpenAI # 创建Agent llm = ChatOpenAI( model="deepseek-v4-flash", api_key=os.environ.get("MODEL_API_KEY", ""), base_url=os.environ.get("BASE_URL", ""), max_tokens=1000, temperature=0.7, ) # 创建工具列表 tools = [navigate_tool] # 工具绑定Agent llm = llm.bind_tools(tools)
通过SDK可调用的管理面方法请参考表1,详细使用指导请参考工具使用方法指引。
| 方法 | 说明 |
|---|---|
| create_browser | 创建浏览器 |
| list_browsers | 查询浏览器列表 |
| update_browser | 更新浏览器 |
| get_browser | 获取浏览器详情 |
| delete_browser | 删除浏览器 |
| create_browser_profile | 创建浏览器配置 |
| list_browser_profiles | 查询浏览器配置列表 |
| get_browser_profile | 获取浏览器配置详情 |
| delete_browser_profile | 删除浏览器配置 |
通过SDK可调用的数据面方法请参考表2,详细使用指导请参考工具使用方法指引。
| 方法 | 说明 |
|---|---|
| start_session | 启动浏览器会话 |
| get_session | 获取浏览器会话详情 |
| stop_session | 停止当前浏览器会话 |
| invoke | 调用浏览器操作 |
| save_profile | 保存当前浏览器会话状态到配置 |
| update_stream | 更新浏览器会话流状态 |
| take_control | 获取浏览器人工控制权(禁用自动化) |
| release_control | 释放人工控制权(启用自动化) |
| generate_automation_url | 生成自动化流的WebSocket URL和请求头 |
| generate_live_view_url | 生成实时查看流的WebSocket URL和请求头 |
| mouse_click | 鼠标点击 |
| left_mouse_click | 鼠标左键点击 |
| right_mouse_click | 鼠标右键点击 |
| double_mouse_click | 鼠标双击 |
| mouse_move | 鼠标移动 |
| mouse_drag | 鼠标拖拽 |
| mouse_scroll | 鼠标滚动 |
| key_press | 按键 |
| key_type | 输入文本 |
| key_shortcut | 按键组合 |
| navigate | 导航到指定URL |
| go_back | 返回上一页 |
| go_forward | 前进到下一页 |
| refresh | 刷新当前页面 |
| get_page_info | 获取当前页面信息 |
| screenshot | 截图 |
| wait | 等待 |
| list_tabs | 列出所有标签页 |
| switch_tab | 切换标签页 |
| close_tab | 关闭标签页 |
| new_tab | 打开新标签页 |
| browser_session | 上下文管理器 |