当前位置: 首页 > news >正文

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 → 你

整个过程就像:

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

http://www.jsqmd.com/news/609052/

相关文章:

  • 突破格式壁垒:解锁NCM音乐自由播放新体验
  • Postgres Language Server 常见问题解答:解决安装和使用中的20个疑难杂症
  • 突破语言壁垒:御坂翻译器让Galgame实时翻译变得触手可及
  • Windows下OpenClaw避坑指南:Qwen3-4B模型接入与权限配置
  • Ory Keto终极集成指南:7步实现与现有身份系统的完美对接
  • KMS_VL_ALL_AIO:开源智能激活工具解决Windows与Office授权难题的完整指南
  • Python数据可视化库对比与选择
  • 别再为Kali安装发愁了!VMware虚拟机保姆级配置指南(含清华源和文件共享)
  • 代码实战swin transformer模型的位置编码
  • 实验3—栈与队列
  • 如何快速安装Nordic主题:5分钟搞定GTK桌面美化
  • douyin-downloader:破解短视频无水印下载难题的全场景解决方案
  • 拆穿名词诈骗!用大白话理解晦涩难懂的AI概念诺
  • Spring Boot项目打包与部署指南
  • Simulink三相桥式有源逆变电路仿真:从参数配置到波形分析
  • 洛谷 P8749:[蓝桥杯 2021 省 B] 杨辉三角形 ← 组合数 + 二分
  • Python MCP服务器模板还在用Flask硬编码?立即升级——这张含自动证书续签、动态路由注册、灰度发布通道的架构设计图即将下线
  • ESL-CN支持向量机实战:SVM算法原理与代码实现
  • 【DOTS性能跃迁实战手册】:20年Unity架构师亲授C# Job System与Burst编译器协同优化的7个致命误区
  • 五大主流(Coding Agents Compared) AI 编程代理‌ 比较
  • RMBG-1.4模型微调教程:针对特定场景的优化方法
  • 为什么 延迟渲染前向渲染
  • Cuvil编译器不是另一个TVM!它用LLVM+MLIR定制Python-first IR,让ResNet50推理延迟压进8.4ms(附源码级性能剖析)
  • LangChain4j核心接口使用(四)Tool和MCP(3)MCP Client
  • 20252818 2025-2026-2 《网络攻防实践》第三周作业
  • 利率曲线构建终极指南:掌握 tf-quant-finance 中的 Hagan-West 算法和单调凸插值
  • 动态数据源与ZooKeeper集成:构建企业级配置中心的终极指南
  • 10个知名网站HTML压缩实战:html-minifier性能优化终极指南
  • 智选未来空间:2025年河北数字展厅展示设计公司企业择优选择
  • DotNetPy:现代.NET 与 Python 互操作 实战指南捉