SuperAPI AI 工具集

webmcp-adapter-creator

智能体与模型

查看项目

更新于 10-16 05:34

技能介绍

WebMCP Adapter Creator 是一个用于创建或更新回退 SiteAdapter 的技能,目标包为 @webmcp-bridge/local-mcp。它面向那些没有原生暴露 WebMCP 的网站,帮助开发者为其构建可复用的适配器模块。

用途 当目标站点未暴露原生 navigator.modelContext、尚不存在适配器、现有适配器需要新增工具、分页或刷新请求模板,或站点需要浏览器端请求执行而非仅靠 DOM 抓取时,使用本技能。如果用户只是需要通过桥接连接已有站点,则应改用 $webmcp-bridge。

前提条件 需要已知目标站点 URL;若站点要求登录,用户需能在浏览器配置文件中完成认证;本地包工作需要安装 pnpm;当环境中缺少 Playwright 浏览器时,需已运行 npx playwright install。

核心工作流 首先确认站点确实需要回退适配器:检查原生 navigator.modelContext 是否已存在,若存在则停止并改用 $webmcp-bridge,而不是编写适配器。 从零开始时,用脚手架创建新适配器包: skills/webmcp-adapter-creator/scripts/scaffold-adapter.sh --name <site> --host <host> --url <url> 随后先固定契约:实现 manifest、实现 createAdapter(),并保持所有载荷可 JSON 序列化。在编写提取逻辑之前先设计工具面:使用稳定的产品名称,如 tweet.get、timeline.home.list、user.get;把参数细节放在 schema 字段描述中,而不仅是工具描述里。 优先采用浏览器端请求执行,而非服务端凭据重放:在页面上下文中运行请求,以复用站点自身的认证/会话状态;不要把 Cookie 或 bearer 令牌移入 local-mcp。 从真实页面行为中发现稳定的请求模板:在页面中触发目标动作,观察网络请求形态,提取带占位符(用于 id、游标、查询或功能开关)的可复用请求模板。 显式实现回退分层:先尝试浏览器端网络/模板执行;对于助手/聊天类产品,优先拦截产品真实的请求/响应路径,而非读取渲染文本;当网络执行不可用或模板缺失时,在安全前提下回退到 DOM 提取;包含 source 和 reason 字段,让调用方看到实际走了哪条路径。跨站点且非产品专用的辅助逻辑,优先放入共享适配器工具包,而不是复制到单个适配器中。对于长提示词,优先一次性插入真实输入框,仅在回退时使用增量 type() 或 fill()。等待聊天/图像完成时,使用基于活动感知的空闲截止时间,而非固定墙钟超时;活动信号可包括停止控件、响应指纹变化、反馈按钮或生成图像数量变化;在宣布新答案就绪前,与上一次响应的归一化快照进行比较;在回退确认期间,若会丢失当前对话/会话上下文,不要重置或重新打开页面。

测试覆盖 添加契约与集成覆盖:针对工具行为和校验的包内单元测试;针对完整桥接执行的 local-mcp 集成测试;覆盖长提示词插入、长思考等待、陈旧响应误判以及保留会话的回退路径。

护栏 站点逻辑只保留在适配器包内。对 AUTH_REQUIRED、UPSTREAM_CHANGED、CHALLENGE_REQUIRED 等模糊上游状态采取失败关闭。对已认证数据读取,优先使用稳定请求模板而非脆弱的纯 DOM 抓取。不要添加凭据保管、密钥重放或认证绕过逻辑。浏览器页面是特权站点操作的执行环境。

参考文档 端到端适配器创建流程:references/workflow.md;如何从页面行为发现请求:references/network-discovery.md;如何把捕获的请求转为可复用模板:references/request-template-patterns.md;流式响应、请求拦截与会话感知工具的运行时模式:references/adapter-runtime-patterns.md;适配器包的测试预期:references/testing.md;适配器脚手架辅助脚本:scripts/scaffold-adapter.sh。