多步研究代理

一个使用LangGraph和Webfuse Session MCP构建的多步研究代理,能够跨网页比较数据并提供结构化对比。

  • by hummer-netizen
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 hummer-netizen/extension-langchain-mcp

使用说明

LangChain/LangGraph+Webfuse MCP

一个跨网页比较数据的多步骤研究代理。内置于 LangGraph 和 Webfuse会话MCP.

现场演示: webfu.se/+langchain mcp/

它的作用

输入一个研究主题。代理计划其方法,导航到多个网页,使用目标CSS选择器提取数据,并提供结构化比较。您可以在浏览器中实时观看每一步。

例子: “比较阿姆斯特丹和鹿特丹:人口、面积和顶级景点”——代理人访问每个城市的维基百科,阅读信息框,并进行并排比较。

建筑

flowchart LR
    A[User in Browser] -->|research topic| B[Webfuse Extension<br/>Sidebar UI]
    B -->|POST /research| C[Agent Server<br/>Python / LangGraph]
    C -->|ReAct agent| D[LLM<br/>gpt-4o]
    D -->|tool calls| C
    C -->|MCP| E[Webfuse Session MCP<br/>7 browser tools]
    E -->|navigate, read,<br/>click, scroll| F[Target Website]
    C -->|SSE stream| B

扩展向代理发送一个研究主题。代理使用LangGraph的 create_react_agent 通过Streamable HTTP调用Webfuse MCP的异步工具包装器。

先决条件

  • Python 3.10+
  • 一 开放人工智能 API密钥(或交换到Anthropic/Google)
  • A. Webfuse 的 空间帐户
  • 您的共享空间上安装的自动化应用程序

快速开始

cd agent
pip install -r requirements.txt
cp ../.env.example .env        # Add your keys
uvicorn agent:app --port 8082

部署 extension/ 将文件夹作为共享空间上的Webfuse扩展。设置 AGENT_URL env var到您的服务器URL。

配置

变量 描述 从哪里获取
OPENAI_API_KEY LLM API密钥(默认) platform.openai.com
WEBFUSE_REST_KEY 空间REST API密钥(rk_...) Webfuse仪表板>空间>API键
AGENT_URL 代理服务器URL(扩展名env) 您的服务器URL或Cloudflare隧道

在一行中交换LLM:

from langchain_anthropic import ChatAnthropic
llm = ChatAnthropic(model="claude-sonnet-4-20250514")

运作原理

该代理拥有13个可用MCP工具中的7个,用于研究工作流程:

工具 它做什么
navigate 转到URL
see_dom_snapshot 读取页面HTML(使用CSS选择器作用域)
see_accessibility_tree 读取页面结构
act_click 单击元素
act_scroll 滚动页面
act_type 在表单字段中键入
act_key_press 按键盘键

是什么让它与众不同: 多页推理。代理计划访问哪些页面,在它们之间导航,使用有针对性的CSS选择器(.infobox, table.wikitable)以避免上下文溢出,并呈现结构化比较。

文件夹:

extension/             Webfuse extension (sidebar UI)
agent/                 Python agent server (FastAPI + LangGraph)

链接

其他Webfuse集成

许可证

麻省理工学院