Page-agent MCP结构

Page-Agent/MCP 架构,用"在 CSDN 发布一篇 AI 博客"这个任务,走一遍完整流程,看看每一层具体在干什么。


🎯 你的完整指令

你在 Claude 里输入:

"在 CSDN 发布一篇博客,标题《AI 自动化测试实战》,内容(略),标签为 AI, 测试"


🚀 全链路执行流程(外卖版)

第 1 步:你下单(Claude → MCP Server)

• 你:在 Claude 对话框输入指令。

• Claude:识别出你要用 MCP 工具,生成工具调用:

{

"tool": "execute_task",

"params": {

"task": "在 CSDN 发布一篇博客,标题《AI 自动化测试实战》,内容(略),标签为 AI, 测试"

}

}

• 怎么发:Claude 通过 stdio 管道 把这串 JSON 发给 @page-agent/mcp 服务器。


第 2 步:平台接单(MCP Server 启动)

@page-agent/mcp 服务器收到指令后,做了三件事:

  1. 开热线:启动 WebSocket 服务(默认端口 38401),就像美团开了个调度热线。

  2. 叫骑手:自动打开浏览器,访问 http://localhost:38401(Launcher Page)。

  3. 骑手上线:

◦ Launcher Page 触发浏览器扩展,打开一个 Hub Tab(扩展页面,URL 是 hub.html?ws=38401)。

◦ Hub Tab 立即拨通热线,和 MCP Server 建立 WebSocket 长连接。

此刻的状态:

你(顾客) → Claude(App) → MCP Server(平台) ↔️ WebSocket热线 ↔️ Hub Tab(骑手)

骑手已上线,等待接单。


第 3 步:任务下发(平台 → 骑手)

• MCP Server:通过 WebSocket 把任务原文发给 Hub Tab。

• Hub Tab:收到任务文本,它自己不会执行,而是调用:

useAgent("在CSDN发布一篇博客,标题...")

• 关键:useAgent 是扩展注入到网页的桥梁,它会启动 MultiPage Agent(厨师)。


第 4 步:厨师接单干活(Hub → MultiPage Agent)

MultiPage Agent 被唤醒,开始执行原子操作:

// 1. 打开CSDN

await agent.navigate("https://www.csdn.net");

// 2. 如果未登录,先登录

if (当前页面是登录页) {

await agent.click("登录按钮");

await agent.fill("#username", "你的账号");

await agent.fill("#password", "你的密码");

await agent.click("确认登录");

}

// 3. 进入写博客页面

await agent.click("写博客按钮");

await agent.waitForSelector(".editor-container");

// 4. 填写内容

await agent.fill(".title-input", "AI 自动化测试实战");

await agent.fill(".markdown-body", "这里是博客正文...");

await agent.fill(".tag-input", "AI,测试");

await agent.click("添加标签");

// 5. 发布

await agent.click("发布按钮");

await agent.waitForSelector(".publish-success"); // 等待成功提示

注意:这些操作是串行的,每一步都要等上一步完成,Agent 会智能等待页面加载。


第 5 步:结果回传(Agent → Hub → MCP → 你)

  1. Agent 执行完成后,将结果(成功/失败、截图、最终URL)传给 Hub。

  2. Hub 通过 WebSocket 将结果发回 MCP Server。

  3. MCP Server 将结果通过 stdio 返回给 Claude。

  4. Claude 解析结果,告诉你最终状态:

✅ 博客发布成功!

文章链接:https://blog.csdn.net/your-username/article/details/123456(https://blog.csdn.net/your-username/article/details/123456)

已自动截图保存发布成功页面。


🧩 各层职责清晰版

组件 在本任务中的具体工作 类比

你 说出"在 CSDN 发布一篇博客..." 顾客点餐

Claude 翻译成 execute_task JSON 指令 美团App下单

MCP Server 启动服务,连接 Hub,转发任务 美团平台接单

Launcher Page 触发打开扩展页面 平台呼叫骑手

Hub Tab 连接 WS,调用 useAgent 启动厨师 骑手接单,进餐厅

MultiPage Agent 实际操作浏览器:点击、输入、导航 厨师炒菜

浏览器页面 CSDN 网站本身,提供操作界面 厨房和灶具


💡 为什么这么绕?------ 设计意图

  1. 安全隔离:MultiPage Agent 在网页沙箱中运行,无法直接访问你的文件系统,Hub 作为中间人,确保外部指令被安全过滤。

  2. 稳定性:即使页面崩溃,Hub 和 MCP 连接还在,可以重试。

  3. 可扩展:一个 Hub 可以管理多个 Agent(多标签页同时操作)。

  4. 人机协同:你可以在 Hub 里看到实时操作,必要时人工干预。


🔁 全链路图(简洁版)

你 → Claude → stdio → MCP Server

↕ (WebSocket 38401)

Hub Tab (扩展)

↓ (useAgent)

MultiPage Agent

↓ (DOM操作)

CSDN 网页

↓ (结果)

Agent → Hub → MCP → Claude → 你

整个过程就像:

你告诉美团要一份宫保鸡丁(博客)→ 平台叫骑手 → 骑手到餐厅 → 厨师炒菜 → 骑手取餐送回 → 你收到饭。

相关推荐
星越华夏1 天前
计算机视觉:YOLOv12安装环境
人工智能·yolo·计算机视觉
代码搬运媛1 天前
Jest 测试框架详解与实现指南
前端
Yolanda941 天前
【人工智能】《从零搭建AI问答助手项目(九):Prompt优化》
人工智能·prompt
wj3055853781 天前
课程 9:模型测试记录与 Prompt 策略
linux·人工智能·python·comfyui
小和尚同志1 天前
深入使用 skill-creator:结合真实生产级实践
人工智能·aigc
DevSecOps选型指南1 天前
安全419专访悬镜安全 | 穿越周期在 AI 浪潮中定义数字供应链安全新范式
人工智能
沪漂阿龙1 天前
面试题详解:GraphRAG 全面解析——知识图谱增强 RAG、Local Search、Global Search、社区摘要、工程落地与评估指标一次讲透
人工智能·知识图谱
WangN21 天前
Unitree RL Lab 学习笔记【通识】
人工智能·机器学习
haina20191 天前
海纳AI亮相《科创中国》,解码招聘“智”变之路
人工智能·ai面试·ai招聘
阿星AI工作室1 天前
刘润年中大课笔记:一句话说清AI落地之战的本质
大数据·人工智能·创业创新·商业