十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Skyvern MCP 工具全景图:按业务目标选择正确的浏览器自动化工具

Skyvern MCP 工具全景图:按业务目标选择正确的浏览器自动化工具 Skyvern MCP 工具全景图按业务目标选择正确的浏览器自动化工具【免费下载链接】skyvernAutomate browser based workflows with AI项目地址: https://gitcode.com/GitHub_Trending/sk/skyvern导读Skyvern 的 MCPModel Context Protocol服务器为 AI 助手Claude、Cursor、Windsurf、Codex 等提供了 75 个浏览器自动化工具覆盖点击、填表、数据提取、页面导航、工作流管理、凭证操作等能力。面对如此多的工具Agent 与开发者最常见的困惑是面对一个具体任务时究竟该调用哪个工具本文以 Skyvern 仓库中 tool-map.md按结果分类的工具地图为骨架将所有 MCP 工具按业务目标重新组织逐类说明其用途、适用场景与底层实现依据帮助读者建立起目标 → 工具的快速决策能力。一、工具地图的核心理念先定目标再选工具tool-map.md 的核心设计思想是不要按工具名称背菜单而要先明确你想达成的结果Outcome。同样一个页面操作是只需要一个 yes/no 答案还是要抽取结构化数据抑或是执行一次性的自主探索对应的工具截然不同成本与确定性也相差很大。这与 SKILL.md 中Step 1: Classify Your Task先分类任务的决策流程一脉相承——分类决定命令、成本与执行方式。MCP 工具与 CLI 命令是一一对应的详见 cli-parity.md因此本文的工具选择逻辑同样适用于skyvern browser ...系列 CLI 命令。CLI/MCP 映射速查来自 cli-parity.mdCLI 命令MCP 工具skyvern browser navigateskyvern_navigateskyvern browser actskyvern_actskyvern browser extractskyvern_extractskyvern workflow runskyvern_workflow_runskyvern credential listskyvern_credential_list二、快速检查与数据抽取skyvern_validate/skyvern_extract工具用途skyvern_validate针对当前页面回答一个 yes/no 问题skyvern_extract从当前页面抽取结构化数据skyvern_validate是最轻量的 AI 调用它只返回布尔结果适合用户是否已登录表单是否提交成功页面上是否有 Next 按钮且未禁用这类断言场景。在 SKILL.md 的成本分类中它被标记为1 次 LLM 截图是所有 AI 选项中成本最低的因此在做布尔判断时应优先选择 validate 而非 extract 或 act。skyvern_extract则调用专门的抽取 LLM将页面内容按 JSON Schema 结构化为数据。它优于截图 让模型读图的方案因为 Skyvern 的 LLM 直接理解并解析页面。从实现看CLI 侧的extract命令支持--schema传入 JSON Schema见 browser.py底层调用do_extract(page, prompt, schemaschema)MCP 侧则封装在 mcp_tools/browser.py 中。# CLI 等价形式 skyvern browser validate --prompt Is the user logged in? Look for a dashboard or avatar. skyvern browser extract \ --prompt Extract all product names and prices \ --schema {type:object,properties:{items:{type:array,items:{type:object,properties:{name:{type:string},price:{type:string}}}}}}关于抽取 Schema 的编写模式可进一步参考 schemas.md。三、单步动作skyvern_click/skyvern_type/skyvern_select_option/skyvern_act工具用途skyvern_click已知目标时点击元素skyvern_type已知目标时向元素输入文本skyvern_select_option选择下拉框选项skyvern_act不知道精确选择器时用自然语言执行动作这一组工具的选择关键在于你是否知道目标元素知道选择器/ID/XPath/字段目标→ 用skyvern_click、skyvern_type、skyvern_select_option这类浏览器原语。它们是确定性的 Playwright 调用不消耗 LLM速度最快SKILL.md 中标注为 0 LLM, Deterministic。CLI 侧的对应命令定义在 browser.py 的clickL1204、hoverL1261、scrollL1377、press_keyL1485、waitL1540等函数中MCP 侧实现位于 mcp_tools/browser.py。不知道精确目标→ 用skyvern_act执行自然语言动作。它内部走 AI 推理约 2-3 次 LLM无截图使用经济的可访问性树适合点击 Sign In 按钮关闭 cookie 横幅这类标签清晰的场景。实现上会先通过check_password_prompt(prompt)做密码防护守卫防止 Agent 用 act 输入密码见 browser.py再调用do_act。选择器有三种定位模式来自 SKILL.md细节见 precision-actions.mdIntent意图--intent the Submit button由 AI 找元素Selector选择器--selector #submit-btnCSS/XPath确定性执行Hybrid混合两者都传选择器缩小范围、AI 确认适合视觉复杂的目标。# CLI 等价形式 skyvern browser click --selector #submit-btn skyvern browser type --text userco.com --selector #email skyvern browser select --value US --intent the country dropdown skyvern browser act --prompt Click the Sign In button安全红线无论用哪个工具都禁止直接输入密码——必须使用存储的凭证 skyvern_login见下文第七节。SKILL.md 明确要求 Never type passwords. Always use stored credentials withskyvern browser loginCLI 源码中的TYPE_PASSWORD_REFUSAL_MESSAGE与check_password_prompt守卫机制browser.py 与 guards.py会在运行时拦截这类操作。四、一次性自主试验skyvern_run_task工具用途skyvern_run_task用一段提示词 URL 执行一次性的探索性自动化当用户说试试这个看看能不能跑通时skyvern_run_task是正确选择。它会启动一个一次性的自主 Agent 去探索目标页面适合验证可行性或一次性探索但不应被用于周期性或多页面的生产自动化。CLI 侧对应run-task命令browser.py支持--url、--schemaJSON Schema 抽取、--max-steps最大 Agent 步数最小 1、--timeout超时秒数范围 10–1800默认 180。skyvern browser run-task \ --url https://example.com \ --prompt Check whether the checkout flow works end to end and extract the confirmation number决策要点一旦任务重要到需要重跑、调试或共享就应该把它升级为 Workflow见第六节。这正是 SKILL.md 中 Throwaway autonomous trial 与 Multi-page or reusable automation 两类的分界线。五、打开并操作一个网站会话生命周期 页面动作工具用途skyvern_browser_session_create启动一个新的浏览器会话skyvern_browser_session_connect附加到已有会话skyvern_browser_session_list列出活跃会话skyvern_browser_session_get获取会话详情skyvern_browser_session_close关闭会话skyvern_navigate导航到 URLskyvern_act执行 AI 驱动动作skyvern_extract抽取结构化数据skyvern_validate断言页面条件skyvern_screenshot截图几乎每个浏览器命令都需要一个会话。tool-map.md 将会话管理工具列在Open and operate a website类别下说明会话是浏览器操作的先决条件。会话状态在命令之间持续保留创建后后续命令自动附加用完后应显式关闭。# Cloud 会话默认适用于公网 URL skyvern browser session create --timeout 30 # 本地会话localhost URL 或自托管模式 skyvern browser session create --local --timeout 30 # 通过 CDP 连接到已有浏览器 skyvern browser session connect --cdp ws://localhost:9222会话工具在 MCP 侧的实现在 mcp_tools/session.py会话复用与新鲜度决策可参考 sessions.md。典型的页面操作闭环是navigate到目标页面 →act/click/type交互 →extract取数 →validate断言 →screenshot留证。六、构建可复用或多页面自动化Workflow 全生命周期工具用途skyvern_workflow_create创建工作流定义skyvern_workflow_list列出工作流skyvern_workflow_get获取工作流详情skyvern_workflow_run_list列出某工作流的运行记录skyvern_workflow_update更新工作流skyvern_workflow_delete删除工作流skyvern_workflow_run执行工作流skyvern_workflow_status检查运行状态skyvern_workflow_retry重试终态的工作流运行skyvern_workflow_cancel取消运行中的工作流当自动化任务跨多个页面、需要定期重跑、可调度或需要共享时应该构建 Workflow而不是用run_task。tool-map.md 将 Workflow 工具集划分为三类职责定义管理CRUDcreate / list / get / update / delete执行run携带参数执行、cancel取消、retry重试终态运行观测run_list运行历史、status运行状态。从源码看MCP 侧的 Workflow 工具实现在 mcp_tools/workflow.py文件头注释明确说明这些工具通过 Skyvern HTTP API 操作不需要浏览器会话并且_serialize_workflowL66-L90定义了暴露给 Agent 的字段workflow_permanent_id、version、status、description、folder_id 等。运行状态的生命周期为created - queued - running - completed | failed | canceled | terminated | timed_outSKILL.md详见 status-lifecycle.md。# CLI 等价形式 skyvern workflow create --definition checkout-workflow.yaml # 创建 skyvern workflow run --id wpid_123 --wait --params {email:userco.com} # 执行并等待 skyvern workflow status --run-id wr_789 # 查看状态 skyvern workflow list --search invoice # 查找最佳实践来自 SKILL.md把复杂流程拆成一个步骤一个 Block每个导航块都带视觉推理与验证首次运行走 AI后续运行回放缓存脚本可快 10–100 倍调试时可用--run-with agent强制 AI 模式。关于任务型 vs 工作流型的取舍见 engines.md。七、Workflow Blocksskyvern_block_schema/skyvern_block_validate工具用途skyvern_block_schema获取某种 Block 类型的 Schemaskyvern_block_validate校验 Block 定义构建工作流时这两把工具负责摸清积木长什么样、拼装前先校验skyvern_block_schema在写定义前先查询某 Block 类型的字段结构避免凭空猜测skyvern_block_validate在创建/更新工作流之前校验 Block 定义尽早发现错误。skyvern_block_schema对应的 CLI 命令在 block.pyBlock 类型体系定义于 schemas/workflows.pyBlockTypeMCP 侧的 block 工具实现于 mcp_tools/blocks.py。mcp_tools/README.md 指出当前共支持23 种 Block 类型用于多步自动化每种 Block 的详细说明与示例见 block-types.md。skyvern block schema --type navigation # 发现 Block 类型结构 skyvern block validate --block-json block.json # 创建前校验八、凭证操作与登录skyvern_credential_*/skyvern_login工具用途skyvern_credential_list列出已存储的凭证skyvern_credential_get获取凭证详情skyvern_credential_delete删除凭证skyvern_login在浏览器会话中使用凭证登录凭证类工具承载了 Skyvern 的安全模型密码永远不通过type/act手输而是预先存储在凭证库中由skyvern_login在浏览器会话里安全调用。凭证支持的类型包括password、credit_card、secret并提供 Bitwarden、1Password、Azure Vault 等外部供应商集成SKILL.mdMCP 工具清单见 mcp_tools/README.md 的 Authentication Credentials 一节含skyvern_bitwarden_*、skyvern_onepassword_*系列并支持自动 2FA/TOTP。# CLI 等价形式标准登录流程 skyvern credential list # 找到凭证 ID skyvern browser session create skyvern browser navigate --url https://login.example.com skyvern browser login --url https://login.example.com --credential-id cred_123 skyvern browser validate --prompt Is the user logged in? # 登录后断言 skyvern browser screenshot # 留证凭证的命名、生命周期与安全细节可参考 credentials.md。九、浏览器原语补充skyvern_hover/skyvern_scroll/skyvern_press_key/skyvern_wait/skyvern_evaluate工具用途skyvern_hover悬停到某元素skyvern_scroll滚动页面skyvern_press_key按下键盘按键skyvern_wait等待某个条件或一段时间skyvern_evaluate在页面中执行 JavaScript这组工具是确定性、零 LLM 的浏览器原语在已知选择器/目标时应优先于act使用tool-map.md 与 SKILL.md 的决策规则 1 均强调这一点。它们适合在act控制粒度不够时把同页面的多步操作拆成精确指令链。两个典型组合场景来自 SKILL.md等待元素出现skyvern browser wait --selector #el --state visible元素未找到时的标准修复手段调试与状态检查用evaluate执行 JS 读取页面状态如document.title、document.querySelectorAll(table tr).length。# CLI 等价形式 skyvern browser wait --selector #el --state visible skyvern browser evaluate --expression document.title skyvern browser evaluate --expression document.querySelectorAll(table tr).lengthCLI 侧这些命令的定义见 browser.pyhoverL1261、scrollL1377、press_keyL1485、waitL1540、evaluateL1168MCP 侧对应实现在 mcp_tools/browser.py 与 mcp_tools/cdp_input.py。翻页循环的完整策略含停止条件无下一页、首行重复、达到页数上限见 pagination.md。十、完整决策速查表将 tool-map.md 的全部类别汇总为一张目标 → 工具速查表供 Agent 与开发者快速定位你的目标Outcome首选工具成本/特性页面 yes/no 断言skyvern_validate1 次 LLM最便宜页面结构化取数skyvern_extract专用抽取 LLM Schema 校验已知目标单步动作skyvern_click/skyvern_type/skyvern_select_option0 LLM确定性未知目标单步动作skyvern_act2–3 次 LLM可访问性树一次性探索试验skyvern_run_task自主 Agent成本较高打开/操作网站skyvern_browser_session_*skyvern_navigate等需先建会话可复用/多页自动化skyvern_workflow_*按块拆分可回放缓存脚本探索/校验 Blockskyvern_block_schema/skyvern_block_validate23 种 Block 类型使用凭证登录skyvern_loginskyvern_credential_*禁止手输密码精确浏览器控制skyvern_hover/skyvern_scroll/skyvern_press_key/skyvern_wait/skyvern_evaluate0 LLM确定性十一、进阶阅读路径tool-map.md 是 Skyvern 技能包 references 目录中的工具索引与之配套的深度参考文档构成了完整的决策体系precision-actions.mdIntent-only / Selector-only / Hybrid 三种定位模式的细节schemas.md抽取用 JSON Schema 编写模式block-types.md各 Block 类型详解与示例engines.md任务型 vs 工作流型的取舍credentials.md 与 sessions.md凭证与会话的安全实践cli-parity.mdCLI 与 MCP 工具的完整映射及 Agent 友好特性--json、SKYVERN_NON_INTERACTIVE1、skyvern capabilities --json。如果希望将这套能力接入 Claude Code、Cursor、Windsurf 或 CodexMCP 服务器安装与配置方式见 mcp_tools/README.md云端模式通过skyvern setup claude-code/skyvern setup快速接入本地自托管模式则通过skyvern initskyvern run server启动并可用--scope operate|build|browser|lean缩小工具面。【免费下载链接】skyvernAutomate browser based workflows with AI项目地址: https://gitcode.com/GitHub_Trending/sk/skyvern创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表