亚马逊AWS官方博客

Dify集成Amazon Bedrock AgentCore Browser 实现更强大的信息获取和分析能力

在AI应用开发领域,Dify作为一个开源的LLM应用开发平台,为开发者提供了快速构建AI应用的能力。然而,当涉及到复杂的网页信息获取和动态内容交互时,传统的工具往往力不从心。Amazon Bedrock AgentCore Browser的出现,为Dify生态带来了全新的突破。本文将深入探讨如何将AgentCore Browser集成到Dify平台,实现更加智能和强大的网页交互能力。

一、Dify现有生态的挑战

在当前的Dify生态中,开发者在处理复杂网页交互时面临着诸多挑战:

  • 动态内容渲染困难: 许多现代网站使用JavaScript动态加载内容,传统的HTTP请求工具无法获取这些动态渲染的信息
  • 复杂交互能力缺失: 需要填写表单、执行JavaScript脚本、处理多步骤操作等场景,现有工具难以胜任
  • 状态管理问题: 在多步骤的workflow中,无法维持持久的浏览器会话状态,导致效率低下
  • 安全性顾虑: 本地运行浏览器可能带来安全风险,且难以实现资源隔离和管理

这些挑战限制了Dify用户在构建需要深度网页交互的AI应用时的能力,急需一个专业、安全、高效的解决方案。

二、Amazon Bedrock AgentCore Browser:专为AI Agent设计的云端浏览器

Amazon Bedrock AgentCore Browser是AWS推出的一项创新服务,它为AI Agent提供了一个安全、托管的云端浏览器环境。与传统的网页抓取工具不同,AgentCore Browser专门针对AI Agent的需求进行了优化。

核心能力

  • 完整的浏览器功能: 基于Chromium内核,完整支持JavaScript渲染、CSS样式处理,能够准确获取动态加载的网页内容
  • 丰富的交互操作: 支持页面导航、内容提取、表单填写、脚本执行、网页搜索等多种操作,满足复杂场景需求
  • 会话持久化: 提供长生命周期的浏览器会话,可以在多个步骤之间保持状态,支持需要登录、多步骤交互的场景
  • 云端托管与安全隔离: 完全托管的云端环境,自动处理资源分配、安全隔离、环境清理,无需担心本地资源占用和安全问题
  • 智能反爬虫处理: 集成Web Bot Auth协议,通过加密身份验证减少CAPTCHA干扰,让AI Agent能够更顺畅地访问网站内容
  • 可观测性支持: 提供实时的浏览器状态查看能力,通过AgentCore Browser Viewer等工具,开发者可以直观地看到浏览器的当前页面和执行状态

三、集成架构:将AgentCore Browser引入Dify生态

为了让Dify用户能够充分利用AgentCore Browser的强大能力,我们设计了一套完整的集成方案,通过Dify插件机制将AgentCore Browser无缝接入到Dify的工作流中。

集成组件

  • AgentCore Browser Session Manager 负责启动和管理远程浏览器会话,创建独立的沙盒环境,确保多个任务之间的隔离性
  • AgentCore Browser Tool 封装了丰富的浏览器操作接口,包括页面导航、内容提取、表单操作、脚本执行等功能,以工具的形式暴露给Dify

集成优势

  • 显式会话管理: 在Dify Workflow中可以显式地启动和关闭浏览器环境,在多步骤执行中长期复用同一会话,避免重复初始化
  • Agent节点集成: 可以将Browser Tool集成到Dify的Agent节点中,利用大模型的智能规划能力,自动完成复杂的多步骤浏览器操作
  • 多轮会话支持: 在ChatFlow的多轮对话中,可以保持浏览器会话,支持人工介入进行登录、验证码输入等操作
  • 跨步骤状态保持: 浏览器会话可以跨越Workflow的多个节点,实现复杂的业务流程,如先登录网站、再访问特定页面、最后提取数据。

此外,AgentCore Browser还为需要人类交互的场景提供了交互能力,可以通过访问某个session的实时页面进行交互(如扫码登录等), 除了通过AWS Console上进行交互以外,本文实践中也构建了一个独立部署的AgentCore Browser Viewer项目 可以支持直接跳转到一个独立的可视化的浏览器界面,便于调试和验证

四、实际应用场景:GitHub仓库深度分析

让我们通过一个实际案例来展示AgentCore Browser在Dify中的应用价值。在这个场景中,我们构建了一个完整的Workflow,实现对GitHub仓库的自动化信息获取和深度分析。

场景描述

这个Workflow展示了一个完整的信息获取和分析流程:

  • 会话初始化: 通过Browser Session Manager启动远程浏览器环境,创建持久化会话
  • 智能信息获取: 使用Agent节点配合Browser Tool,访问目标GitHub仓库页面,自动提取项目描述、Star数量、Issue状态、贡献者信息等关键数据
  • 深度内容分析: Agent可以自主导航到README、文档等页面,理解项目的技术架构和应用场景
  • 结构化输出: 将获取的信息整理成结构化格式,可以进一步用于生成报告或通过邮件发送

应用场景示例截图:

图:使用AgentCore Browser进行GitHub仓库分析的Dify Workflow

分析结构化输出示例:

JSON
{
    "static_info":{
        "description":"Easy, fast, and cheap LLM serving for everyone",
        "tags":"llm,serving,inference,pytorch,ai,machine-learning"
    },
    "metric_info":{
        "stars":63400,
        "forks":11400,
        "open_pr_count":1267,
        "merged_pr_count":11328,
        "open_issue_count":1913,
        "closed_issue_count":10093
    },
    "pr_list":[
        "https://github.com/vllm-project/vllm/pull/28949",
        "https://github.com/vllm-project/vllm/pull/26985",
        …
    ],
    "crucial_change":{
        "README_Change":"",
        "release_Change":"v0.11.1 released on 2025-11-18T23:03:42Z by khluu. Notes: 'Notes to be filled..'"
    },
    "pr_insight_list":[
        {
            "type":"Chore",
            "importance":"Minor",
            "meaning":"抑制vLLM服务器启动时model_hosting_container_standards库产生的冗余INFO级别日志输出,通过将该库的日志级别设置为ERROR来减少控制台噪音,同时保留重要的错误信息。这是一个日志清理改进,提升用户体验但不影响核心功能。"
        },
        {
            "type":"Refactor",
            "importance":"Medium",
            "meaning":"将 torch.cuda.Event 替换为更通用的 torch.Event API,提升硬件兼容性。这是一个重构改进,让 vLLM 能够更好地支持非 CUDA 平台(如 XPU、CPU 等),减少了对特定硬件的依赖。虽然是 API 层面的替换,但对于扩展 vLLM 的硬件支持范围具有重要意义,特别是在多元化硬件加速器的趋势下。代码审查中也指出了 XPU 模块中 monkey-patching 的安全性问题,建议在使用后恢复原始函数以避免副作用。"
        },
	  … 
    ]
}

技术亮点

  • 动态内容完整获取: GitHub页面的许多元素是通过JavaScript动态加载的,AgentCore Browser能够完整渲染页面,确保所有信息都能被准确提取
  • 智能导航能力: Agent可以根据任务目标自主决定访问哪些页面,点击哪些链接,实现真正的智能化信息获取
  • 实时状态监控: 通过AgentCore Browser Viewer,开发者可以实时查看浏览器当前的页面状态,便于调试和优化workflow
  • 可扩展性强: 同样的模式可以应用到其他网站,如电商价格监控、新闻聚合、竞品分析等各种场景

可以通过下面GIF了解上述的技术亮点:

五、技术实现要点

会话生命周期管理

AgentCore Browser采用长生命周期的会话设计,每个会话都拥有独立的浏览器环境。在Dify集成中,我们通过AWS Parameter Store来存储和管理会话连接信息,确保不同节点之间可以共享同一个浏览器会话。

远程浏览器连接

集成方案使用Playwright客户端通过Chrome DevTools Protocol连接到远程的AgentCore Browser实例。这种设计使得浏览器运行在AWS托管的安全环境中,而Dify只需要通过API进行控制,实现了计算和控制的分离。

操作抽象与封装

Browser Tool插件将复杂的浏览器操作抽象为简单的工具接口,如browse_url、search_web、extract_content、fill_form、execute_script等。这些接口设计遵循Dify的工具规范,可以直接在Workflow和Agent节点中使用。

异步操作处理

由于网页加载和JavaScript执行是异步的,插件内部使用了Python的asyncio框架来处理异步操作,确保每个操作都能在页面完全加载后再进行下一步处理,提高了操作的稳定性和准确性。

错误处理与容错

集成方案实现了完善的错误处理机制,包括连接超时处理、页面加载失败重试、元素查找异常捕获等。当遇到不可恢复的错误时,系统会自动清理浏览器资源,避免资源泄露。

六、总结与展望

Amazon Bedrock AgentCore Browser为Dify生态带来了前所未有的网页交互能力。通过这个集成方案,Dify用户可以:

  • 突破传统限制,轻松处理JavaScript动态渲染的现代网页
  • 实现复杂的多步骤网页交互流程,如自动登录、表单填写、数据提取
  • 在安全隔离的云端环境中运行浏览器,无需担心本地资源和安全问题
  • 利用AI Agent的智能规划能力,实现真正的自动化信息获取和分析

这个集成不仅填补了Dify在复杂网页交互方面的能力空白,更开启了AI应用的新可能。无论是市场研究、竞品分析、内容聚合,还是自动化测试、数据采集,AgentCore Browser都能为Dify用户提供强大的技术支撑。

随着AI技术的不断发展,AI工具生态决定了大模型在具体业务中的整体效果。企业级的组件集成,如Amazon Bedrock Agent Core中的Browser,以及Memory、Code Interpreter会和Dify一起,形成更加强大易用的AI应用开发平台。

其他产品和服务推荐

S-BGP 是我们在由光环新网运营的亚马逊云科技中国(北京)区域和由西云数据运营的亚马逊云科技中国(宁夏)区域推出的一项成本优化型网络服务,旨在帮助我们的客户降低经过互联网传输数据出云(Data Transfer Out)的费用。 如果您想申请亚马逊云科技中国区域的 S-BGP 服务,请联系您的客户经理获取进一步帮助。

*前述特定亚马逊云科技生成式人工智能相关的服务目前在亚马逊云科技海外区域可用。亚马逊云科技中国区域相关云服务由西云数据和光环新网运营,具体信息以中国区域官网为准。

本篇作者

李元博

亚马逊云科技 AI/ML GenAI 解决方案架构师,专注于 AI/ML 特别是 GenAI 场景落地的端到端架构设计和业务优化。在互联网行业工作多年,在用户画像、精细化运营、推荐系统、大数据处理方面有丰富的实战经验。

彭金冬

亚马逊云科技解决方案架构师,负责电商行业客户的架构设计和技术支持。

AWS 架构师中心: 云端创新的引领者

探索 AWS 架构师中心,获取经实战验证的最佳实践与架构指南,助您高效构建安全、可靠的云上应用