使用说明
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的异步工具包装器。
先决条件
快速开始
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集成
- OpenAI代理SDK -带浏览器控制的Python代理
- Vercel AI SDK -Next.js浏览助手
- LiveKit语音代理 -语音控制浏览器
- ChatGPT GPT -使用浏览器工具自定义GPT
许可证
麻省理工学院