5.7 KiB
Executable File
5.7 KiB
Executable File
created, type, tags, source
| created | type | tags | source | |||||||
|---|---|---|---|---|---|---|---|---|---|---|
| 2026-05-01 | concept |
|
https://github.com/Skyvern-AI/skyvern |
Skyvern — AI 驱动的浏览器自动化 Agent
GitHub: https://github.com/Skyvern-AI/skyvern 官网: https://www.skyvern.com 文档: https://www.skyvern.com/docs/ 评估: https://eval.skyvern.com Cloud: https://app.skyvern.com 归档时间: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 识别 |
| 网页变化 | 布局一变就挂 | 自适应,抗变化 |
| 跨站复用 | 每站写一套脚本 | 一套流程适用多站 |
| 维护成本 | 高(持续更新选择器) | 低(无需硬编码) |
关键能力
- 从未见过的网站也能操作 — 视觉识别,不依赖预定义选择器
- 抵抗网页布局变化 — 没有 XPath,不怕改版
- 单流程适配多网站 — 推理出交互方式,无需定制代码
💻 技术栈与使用
安装
# 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) |
执行预构建工作流 |
三种交互模式
# 1. 传统 Playwright — CSS/XPath
await page.click("#submit-button")
# 2. AI 增强 — 自然语言
await page.click(prompt="点击绿色的提交按钮")
# 3. AI 降级 — 先试选择器,失败后切 AI
await page.click("#submit-btn", prompt="点击提交按钮")
完整示例
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
- 公开完整评估过程:https://eval.skyvern.com
🎯 典型应用场景
| 场景 | 说明 |
|---|---|
| 自动求职 | 自动在多个招聘网站投递申请 |
| 发票抓取 | 登录供应商系统,下载发票 |
| 自动采购 | 在数百个网站自动下单 |
| 数据采集 | 从动态网页提取结构化数据 |
| 表单填写 | 自动完成复杂表单流程 |
🔍 与同类工具对比
| 工具 | 定位 | 开源 | 浏览器支持 |
|---|---|---|---|
| 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 扩展