浏览器自动化AI代理

一个基于OpenAI Agents SDK和Webfuse Session MCP的AI代理,能够实时控制浏览器进行点击、滚动、提取数据、填写表单等操作。

  • by hummer-netizen
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 hummer-netizen/extension-openai-agents-mcp

使用说明

OpenAI代理SDK+Webfuse MCP

控制实时浏览器的AI代理。与 OpenAI代理SDK 和 Webfuse会话MCP.

现场演示: webfu.se/+openai代理/

它的作用

Webfuse扩展侧边栏中的聊天界面。键入一条消息或点击一个示例芯片,AI代理会读取页面,解释原因,并采取行动:点击链接、滚动、提取数据、填写表格。您可以在浏览器中实时观看每一步。

建筑

flowchart LR
    A[User in Browser] -->|session_id| B[Webfuse Extension<br/>Sidebar Chat UI]
    B -->|POST /chat| C[Agent Server<br/>Python / FastAPI]
    C -->|Responses API| D[OpenAI<br/>gpt-4o]
    D -->|tool calls| C
    C -->|MCP| E[Webfuse Session MCP<br/>13 browser tools]
    E -->|click, type,<br/>navigate, read| F[Target Website]
    C -->|SSE stream| B

扩展将会话ID发送到代理服务器。服务器持有API两个密钥(OpenAI+Webfuse),运行代理,并将结果作为SSE事件流式返回。扩展中没有API键。

先决条件

快速开始

cd agent
pip install fastapi uvicorn httpx openai
cp .env.example .env          # Add your keys
uvicorn agent:app --port 8080

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

配置

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

运作原理

代理使用OpenAI的Responses API和Webfuse MCP工具。每条用户消息都会触发一系列工具调用:代理通过以下方式读取页面 see_domSnapshot,关于做什么的原因,然后通过以下方式采取行动 act_click, act_type, act_scroll等等。

终点:

端点 方法 描述
/chat POST 免费聊天。发送 { "session_id": "...", "message": "..." }。返回SSE流。
/run POST 引导式8步维基百科演示。发送 { "session_id": "..." }。返回SSE流。
/health GET 返回 { "status": "ok" }

可用的MCP工具: 所有13个Webfuse会话MCP工具(导航、4次查看、7次操作、等待)。通过Webfuse ID、CSS选择器或 [x,y] 协调。

文件夹:

demo-extension/        Webfuse extension (sidebar UI)
agent/                 Python agent server (FastAPI)
agent/worker/          Cloudflare Worker (optional CORS proxy)

链接

其他Webfuse集成

许可证

麻省理工学院