From f8ed929b68c27b98e6cfd98d88f2c3591eed62b9 Mon Sep 17 00:00:00 2001 From: FNS Service Date: Fri, 1 May 2026 22:37:41 +0800 Subject: [PATCH] Update from Sync Service --- wiki/Areas/AI编程工具/Skyvern研究.md | 195 +++++++++++++++++++++++++++ 1 file changed, 195 insertions(+) create mode 100755 wiki/Areas/AI编程工具/Skyvern研究.md diff --git a/wiki/Areas/AI编程工具/Skyvern研究.md b/wiki/Areas/AI编程工具/Skyvern研究.md new file mode 100755 index 0000000..892accb --- /dev/null +++ b/wiki/Areas/AI编程工具/Skyvern研究.md @@ -0,0 +1,195 @@ +--- +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 扩展*