本文作者:阿里云无影技术专家 尹越
在人工智能和自动化技术飞速发展的今天,越来越多的开发者开始关注如何利用大语言模型(LLM)来构建智能应用。今天我要给大家介绍一个非常实用的工具包——langchain-agentbay-integration,它能够帮助你快速将 LangChain 框架与 AgentBay 平台集成,轻松实现浏览器自动化等高级功能。
一. 背景介绍
1.1 什么是 AgentBay?
AgentBay 是阿里云推出的一个智能代理平台,它提供了强大的云端环境来运行各种自动化任务。通过 AgentBay,你可以获得一个隔离的云端环境,用来执行代码、操作浏览器、处理文件等操作,而无需在本地配置复杂的环境。AgentBay 提供了多种镜像环境,包括支持浏览器、代码、电脑、手机等执行环境,非常适合构建各种自动化测试和智能代理应用。 https://www.aliyun.com/product/agentbay https://github.com/aliyun/wuying-agentbay-sdk
1.2 LangChain 框架简介
LangChain 是目前最流行的基于大语言模型(LLM)的应用开发框架之一。它提供了一套完整的工具链,帮助开发者快速构建基于 LLM 的应用,如聊天机器人、智能问答系统、自动化代理等。LangChain 的核心优势在于它的模块化设计,允许开发者灵活组合各种组件,如模型接口、提示词模板、数据检索、工具集成等,从而构建出功能强大的智能应用。 https://www.langchain.com/
1.3 langchain-agentbay-integration 的价值
对于已经熟悉 LangChain 但尚未接触过 AgentBay 的开发者来说,langchain-agentbay-integration 提供了一个桥梁。通过这个集成包,你可以直接在 LangChain 应用中使用 AgentBay 提供的强大功能。
  目前该集成包支持四种环境类型,每种环境针对不同的自动化场景:
Mobile 环境 (MobileIntegrationToolkit) - Android 移动设备自动化:
- 屏幕点击和滑动操作
- 文本输入和按键事件
- UI 元素获取
- 截图功能
Computer 环境 (ComputerIntegrationToolkit) - 桌面电脑自动化:
- 鼠标操作(点击、移动、拖拽、滚动)
- 键盘输入和快捷键
- 截图和 OCR 元素识别
- VLM 视觉分析
Codespace 环境 (CodespaceIntegrationToolkit) - 代码空间操作:
- 代码执行(支持 Python 和 JavaScript)
- 文件系统操作(读写文件)
- 命令执行(在云端环境中执行 shell 命令)
Browser 环境 (BrowserIntegrationToolkit) - 浏览器自动化:
- 浏览器导航
- 页面交互操作(点击、填写表单等)
- 截图功能
这大大降低了使用 AgentBay 平台的门槛,让你可以专注于业务逻辑的实现,而无需关心底层环境的配置和管理。 https://pypi.org/project/langchain-agentbay-integration/
二. 安装和使用过程
接下来,我将通过一个实际的例子来演示如何使用 langchain-agentbay-integration 包。我们将验证 AgentBay 官网在百度搜索中的排名情况,这需要使用浏览器自动化功能。
2.1 环境准备
首先,建议创建并启动一个虚拟环境来避免依赖冲突:
python3 -m venv agentbay_langchain_env source ./agentbay_langchain_env/bin/activate # Linux/Mac # 或者在 Windows 上使用: agentbay_langchain_env\Scripts\activate
在虚拟环境中执行如下依赖配置和API密钥配置等操作,确保你使用的是最新版本的 pip:
pip install --upgrade pip
安装必要的包:
pip install -U langchain-agentbay-integration==0.2.2 wuying-agentbay-sdk==0.15.0 pip install langchain==1.0.3 langchain-openai==1.0.1
2.2 配置密钥
在运行示例之前,需要配置两个 API 密钥:
- AgentBay API Key:
- 访问 Agent-Bay 控制台
- 登录你的阿里云账号
- 在服务管理部分创建或选择一个 API KEY
- 复制 API Key 并设置为
AGENTBAY_API_KEY环境变量
- DashScope API Key:
- 访问 DashScope 平台
- 登录你的账号
- 在 API Key 管理部分复制 API Key
- 设置为
DASHSCOPE_API_KEY环境变量
在终端中设置环境变量:
export AGENTBAY_API_KEY="your-agentbay-api-key" export DASHSCOPE_API_KEY="your-dashscope-api-key"
2.3 运行示例代码
创建一个 Python 脚本,例如 baidu_seo_check.py,内容如下:
import os from dataclasses import dataclass from langchain.agents import create_agent from langchain_openai import ChatOpenAI from langchain_agentbay_integration.toolkits import BrowserIntegrationToolkit from langchain_agentbay_integration.tools import SessionData from agentbay import AgentBay, CreateSessionParams # 定义上下文类,用于传递 session 数据 @dataclass class AgentContext: """必须包含 session_data 字段""" session_data: SessionData = None # 创建 AgentBay 会话 agent_bay = AgentBay() params = CreateSessionParams(image_id="browser_latest") result = agent_bay.create(params) session = result.session # 初始化工具包 toolkit = BrowserIntegrationToolkit() toolkit.initialize_browser(session) # 使用 session 初始化浏览器 tools = toolkit.get_tools() # 初始化 LLM llm = ChatOpenAI( api_key=os.getenv("DASHSCOPE_API_KEY"), base_url="https://dashscope.aliyuncs.com/compatible-mode/v1", model=os.getenv("DASHSCOPE_MODEL", "qwen3-max") ) # 使用 LangChain v1.0 的 create_agent 创建代理 agent = create_agent( llm, tools=tools, context_schema=AgentContext, system_prompt="""你是一个能够使用 AgentBay 浏览器工具的助手,可以自动化执行网页浏览任务。 可用工具: 1. browser_navigate - 在 AgentBay 会话中导航到指定 URL 2. browser_act - 在浏览器页面上执行操作,如点击按钮、填写表单等 3. browser_screenshot - 对当前浏览器页面进行截图 使用这些工具帮助用户完成网页浏览任务。""" ) # 准备上下文 session_data = SessionData() session_data.browser_session = session context = AgentContext(session_data=session_data) # 执行 SEO 验证任务 example_query = """ 任务目标: 验证无影AgentBay官网在百度搜索中的排名情况,只有当搜索结果第一条链接是 https://www.aliyun.com/product/agentbay.html 时才认为验证通过。 任务过程: 下面所有截屏都保存在./snapshots/browser/下面 1. 导航到 https://www.baidu.com/ 2. 对页面进行截图,文件名为'0_baidu_first_page.png' 3. 在搜索框中输入"无影AgentBay官网"并点击"百度一下"按钮 4. 对搜索结果页面进行截图,文件名为'1_baidu_search_result_page.png' 5. 点击第一条搜索结果 6. 对最终页面进行截图,文件名为'2_first_search_item.png' 任务返回: 以 JSON 格式返回结果: { "success": true|false, "message": "验证通过以及其他消息|验证失败原因" } """ # 执行代理 result = agent.invoke( {"messages": [{"role": "user", "content": example_query}]}, context=context, config={"recursion_limit": 500} ) # 提取并打印最终结果 if "messages" in result and len(result["messages"]) > 0: final_message = result["messages"][-1] if hasattr(final_message, 'content') and final_message.content: print(f"最终结果: {final_message.content}") else: print(f"最终结果: {final_message}") else: print(f"最终结果: {result}") # 清理资源 toolkit.cleanup_browser() agent_bay.delete(session)
运行脚本:
python3 baidu_seo_check.py
三. 结果验证
3.1 langchain返回结果
如果一切顺利,你应该能看到类似以下的输出:
最终结果: { "success": true, "message": "验证通过,搜索结果第一条确实指向了 AgentBay 官网" }
3.2 过程截图
在整个执行过程中,会生成三张截图:
- 百度首页截图 - 展示了初始访问百度网站的页面
- 百度搜索结果页截图 - 展示了搜索"无影AgentBay官网"后的结果页面
- 第一条结果页面截图 - 展示了点击搜索结果第一条后跳转到的页面
这些截图可以帮助你直观地验证整个自动化过程是否按预期执行。
3.3 过程日志
在执行过程中,也会打印类似如下的日志信息(已脱敏和简化):
Browser tools loaded: browser_navigate, browser_act, browser_screenshot AgentBay | INFO | ✅ Session created: s-****whs AgentBay | INFO | ✅ Browser initialized successfully [Step 1] browser_navigate -> https://www.baidu.com/ Output: {"success": true} [Step 2] browser_screenshot -> ./snapshots/browser/0_baidu_first_page.png Output: {"success": true} [Step 3] browser_act -> Fill '无影AgentBay官网' and click search Output: {"success": true, "actions": ["Input text", "Click 百度一下"]} [Step 4] browser_screenshot -> ./snapshots/browser/1_baidu_search_result_page.png Output: {"success": true} [Step 5] browser_act -> Click first search result Output: {"success": true, "action": "Clicked 阿里云官方"} [Step 6] browser_screenshot -> ./snapshots/browser/2_first_search_item.png Output: {"success": true} 最终结果: { "success": true, "message": "验证通过,搜索结果第一条确实指向了 AgentBay 官网" }
四. 总结
通过 langchain-agentbay-integration,我们可以轻松地将 LangChain 的强大 AI 能力与 AgentBay 的云端环境结合起来,实现各种复杂的自动化任务。除了我们演示的 SEO 验证场景,通过改变 Prompt 就可以调整 Agent 的执行过程,从而适应各种不同的自动化场景。这种方式大大减少了传统自动化脚本所需的代码开发量,让非技术人员也能通过自然语言描述来实现复杂的自动化任务。这个集成包还能用于:
- 自动化测试:构建完整的 Web 应用自动化测试套件,包括用户注册、登录、表单填写、功能测试等。
- 数据抓取:自动化抓取网站数据,特别是那些需要交互操作才能获取的数据。
- 竞品分析:定期检查竞品网站的价格、功能更新等信息。
- 社交媒体管理:自动化执行社交媒体账号的内容发布、互动等操作。
- 客服机器人:构建能够实际操作网站的智能客服,帮助用户完成在线操作。
- 教育和培训:创建交互式教程,自动演示Web软件操作步骤。
langchain-agentbay-integration 的优势在于它将复杂的环境管理和操作封装成简单的工具,让开发者可以专注于业务逻辑的实现。无论你是想构建一个简单的网页自动化脚本,还是一个复杂的智能代理系统,这个集成包都能为你提供强有力的支持。
需要注意的是,langchain-agentbay-integration 目前仍在不断迭代和发展中。当前版本已支持 LangChain 1.0.X,采用了最新的 create_agent API 和 context_schema 机制。同时,项目团队也在积极扩展对更多 AgentBay 镜像和 API 的支持,除了浏览器自动化,还提供了 Mobile(移动端)、Computer(桌面端)和 Codespace(代码空间)等多种自动化环境,为用户提供更丰富的功能和更好的使用体验。
希望这篇介绍能帮助你快速上手 langchain-agentbay-integration,开始构建属于你自己的智能自动化应用!