--- created: 2026-05-01 type: concept tags: [浏览器自动化, Agent, AI, Playwright, 网页导航, 计算机视觉, LLM] source: "https://github.com/Skyvern-AI/skyvern" --- # Skyvern — AI 驱动的浏览器自动化 Agent > GitHub: > 官网: > 文档: > 评估: > Cloud: > 归档时间:2026-05-01 --- ## 📌 一句话定位 > **用 LLM + 计算机视觉替代 XPath/CSS 选择器,实现"说人话就能操控浏览器"的自动化方案。** --- ## 🏗️ 核心架构 ### 设计理念 Skyvern 基于 Task-Driven 自主 Agent 设计(受 BabyAGI、AutoGPT 启发),核心创新:给 Agent 接上了 Playwright 浏览器控制能力。 ### 三大 Agent 协作(Skyvern 2.0) ``` Planner(规划器) ↓ 分解复杂目标为子任务 Actor/Task Runner(执行器) ↓ 在网页上执行操作 Validator(验证器) ↓ 确认目标是否达成 → 反馈给 Planner ``` ### 演进历程 | 版本 | 架构 | WebVoyager 得分 | 问题 | |------|------|----------------|------| | **1.0** | 单 Agent(决策+执行合一) | ~45% | 简单任务 OK,复杂多目标容易混乱 | | **2.0** | Planner → Actor → Validator | **85.85%** | SOTA 级别,接近 Google Mariner | --- ## 🔑 核心优势 ### vs 传统浏览器自动化 | 维度 | 传统方案(Selenium/Playwright) | Skyvern | |------|-------------------------------|---------| | 元素定位 | XPath/CSS 选择器 | **视觉 LLM 识别** | | 网页变化 | 布局一变就挂 | **自适应,抗变化** | | 跨站复用 | 每站写一套脚本 | **一套流程适用多站** | | 维护成本 | 高(持续更新选择器) | 低(无需硬编码) | ### 关键能力 1. **从未见过的网站也能操作** — 视觉识别,不依赖预定义选择器 2. **抵抗网页布局变化** — 没有 XPath,不怕改版 3. **单流程适配多网站** — 推理出交互方式,无需定制代码 --- ## 💻 技术栈与使用 ### 安装 ```bash # Python SDK pip install skyvern # TypeScript SDK npm install @skyvern/client # 快速启动(本地) skyvern quickstart # 或 Docker git clone https://github.com/skyvern-ai/skyvern.git && cd skyvern # 选择 Docker Compose 全容器化部署 ``` **依赖**:Python 3.11/3.12、NodeJS+NPM、(Windows 还需 Rust) ### 四种核心 AI 命令 | 命令 | 功能 | 示例 | |------|------|------| | `page.act(prompt)` | 自然语言执行操作 | "点击登录按钮" | | `page.extract(prompt, schema)` | 提取结构化数据 | 提取订单详情(支持 JSON Schema) | | `page.validate(prompt)` | 验证页面状态 | "检查用户是否已登录",返回 bool | | `page.prompt(prompt)` | 向 LLM 提问页面内容 | "总结页面上有什么" | ### 高级 Agent 命令 | 命令 | 功能 | |------|------| | `page.agent.run_task(prompt)` | 执行复杂多步任务 | | `page.agent.login(type, id)` | 自动登录(支持 Skyvern/Bitwarden/1Password) | | `page.agent.download_files(prompt)` | 导航并下载文件 | | `page.agent.run_workflow(id)` | 执行预构建工作流 | ### 三种交互模式 ```python # 1. 传统 Playwright — CSS/XPath await page.click("#submit-button") # 2. AI 增强 — 自然语言 await page.click(prompt="点击绿色的提交按钮") # 3. AI 降级 — 先试选择器,失败后切 AI await page.click("#submit-btn", prompt="点击提交按钮") ``` ### 完整示例 ```python from skyvern import Skyvern skyvern = Skyvern.local() # 或 Skyvern(api_key="xxx") 连 Cloud browser = await skyvern.launch_cloud_browser() page = await browser.get_working_page() await page.goto("https://amazon.com") await page.agent.login(credential_type="skyvern", credential_id="cred_123") await page.click(prompt="将第一个商品加入购物车") result = await page.agent.run_task("完成结账流程") ``` --- ## 🌩️ Skyvern Cloud | 特性 | 说明 | |------|------| | 托管服务 | 无需自建基础设施 | | 并行运行 | 多实例同时执行 | | 反检测 | 内置反 bot 检测机制 | | 代理网络 | 自动代理轮换 | | 验证码 | 内置 CAPTCHA 求解器 | | 凭证管理 | 支持 Bitwarden / 1Password 集成 | --- ## 📊 评测表现 - **WebVoyager Eval**: **85.85%**(SOTA 级别) - 测试在 Skyvern Cloud 真实环境中运行(非本地浏览器) - 使用 GPT-4o + GPT-4o-mini 作为决策 LLM - 公开完整评估过程: --- ## 🎯 典型应用场景 | 场景 | 说明 | |------|------| | **自动求职** | 自动在多个招聘网站投递申请 | | **发票抓取** | 登录供应商系统,下载发票 | | **自动采购** | 在数百个网站自动下单 | | **数据采集** | 从动态网页提取结构化数据 | | **表单填写** | 自动完成复杂表单流程 | --- ## 🔍 与同类工具对比 | 工具 | 定位 | 开源 | 浏览器支持 | |------|------|------|-----------| | **Skyvern** | LLM+视觉浏览器 Agent | ✅ | Chromium (Playwright) | | **Browser-use** | LangChain 浏览器 Agent | ✅ | Chromium | | **OpenClaw browser** | 内置浏览器控制 | N/A | Chromium | | **agent-browser** | CLI 浏览器自动化 | ✅ | Chromium | | **Google Mariner** | 闭源 Web Agent | ❌ | Chrome | --- ## 💡 与 OpenClaw 的关系 Skyvern 和 OpenClaw 的 browser 工具定位不同: - **Skyvern**:专注于"说人话操控网页",适合复杂多步网页流程自动化 - **OpenClaw browser**:通用浏览器控制,适合日常查询和简单操作 两者可互补使用:Skyvern 处理复杂网页自动化,OpenClaw 处理日常浏览需求。 --- *研究完成,2026-05-01 | Skyvern 2.0 WebVoyager 85.85%,开源 Playwright 扩展*