摘要:在过去很长一段时间里,网页自动化都是一件“又繁琐又容易出错”的事情。无论是 Selenium、Puppeteer,还是 Playwright,这些工具虽然功能强大,但都依赖复杂的 DOM 结构、XPath 或 CSS Selector。一旦网页结构变化,脚本往
在过去很长一段时间里,网页自动化都是一件“又繁琐又容易出错”的事情。无论是 Selenium、Puppeteer,还是 Playwright,这些工具虽然功能强大,但都依赖复杂的 DOM 结构、XPath 或 CSS Selector。一旦网页结构变化,脚本往往就会“崩溃”。如今,一个新型的开源项目——Skyvern,正在用大语言模型(LLM)和计算机视觉(Computer Vision)重新定义浏览器自动化。
Skyvern 是一款结合了大语言模型(LLM)和计算机视觉(Computer Vision)的开源自动化工具,它的目标是让 AI 能够像人类一样理解网页并执行任务。不同于传统的浏览器自动化工具(如 Selenium 或 Puppeteer)那样依赖复杂的 XPath、CSS Selector 或 DOM 解析,Skyvern 采用了“看”和“理解”的方式来操作网页。
Skyvern提供了一个简单的 API,让开发者可以通过自然语言描述来完成一系列网页自动化操作,比如自动填写表单、登录账户、抓取数据、下载文件,甚至执行多步复杂流程。
更值得一提的是,Skyvern 的智能之处在于它几乎不受网页结构变化的影响。传统自动化脚本常常因为网页元素更新而“失效”,而 Skyvern 借助视觉识别与大模型推理,即使页面布局改动,也能通过理解网页内容继续完成任务。
Skyvern 的设计灵感来自 BabyAGI 与 AutoGPT 等任务驱动式智能体系统。 它将整个网页自动化流程拆分为三个模块:
1️⃣ Planner(规划器)
负责理解用户任务的文本描述(Prompt),并规划执行步骤。 例如:“登录网站并下载月度报表”。
2️⃣ Task(执行器)
通过浏览器自动执行相应操作(点击、填写、滚动、下载等)。Skyvern 内部使用了 Playwright 等浏览器库。
3️⃣ Validator(验证器)
负责检查结果是否正确完成,并在必要时重试或修正动作。
这种多智能体协作的方式,使得 Skyvern 拥有极高的泛化能力。它可以:
在从未见过的网站上执行任务;当网页布局变化时依然保持鲁棒性;能基于语言模型的理解进行逻辑推理,例如根据页面内容自动判断选项。在各种网页自动化任务(如填写表单、登录、下载文件等)中,它的成功率达到了64.4%,超过了多种传统 RPA 方案。
测试场景成功率 (%)Skyvern(人类监督)66.0Skyvern(自动)64.4OpenAI CLA59.8Skyvern 2.0 Browserbase60.7Browser Use Cloud39.9Skyvern 不仅能像传统脚本一样执行任务,还能更接近人类的操作方式,更稳定、更通用。
Skyvern 提供了非常简单的安装与启动流程,几乎“一条命令”即可使用。
1️⃣ 安装依赖
Python 3.11(支持 3.12,但不推荐 3.13)Node.js 与 npm(Windows 用户)需额外安装 Rust、VS Code C++ 开发组件2️⃣ 安装 Skyvern
pip install skyvern3️⃣ 快速初始化
skyvern quickstart4️⃣ 启动 UI
skyvern run all打开浏览器访问 http://localhost:8080即可通过可视化界面创建和运行自动化任务。
Skyvern 也支持通过 Python 代码直接调用,非常适合开发者在项目中集成。
from skyvern import Skyvernskyvern = Skyverntask = await skyvern.run_task(prompt="Find the top post on Hacker News today")print(task)上面的代码会自动打开浏览器,执行提示中的任务,完成后返回结果,无须写 XPath、无须指定 DOM 结构,Skyvern 会自动“看懂网页”并完成操作。
✅ 控制本地浏览器
可以连接本地 Chrome 浏览器进行操作:
from skyvern import Skyvernskyvern = Skyvern(default_user_data_dir="~/Library/Application Support/Google/Chrome")task = await skyvern.run_task(prompt="Find top post on Hacker News today")✅ 远程运行任务
Skyvern 也可以连接远程浏览器或云端执行:
skyvern = Skyvern(cdp_url="your_cdp_connection_url")task = await skyvern.run_task(prompt="Download latest reports")✅ 自定义输出格式
支持定义结构化结果输出(非常适合爬取和分析):
task = await skyvern.run_task( prompt="Find top post on Hacker News today", data_extraction_schema={ "title": "string", "url": "string" })官方提供了 docker-compose 部署方案,非常方便团队或服务器端使用:
docker compose up -d如需连接 PostgreSQL 或远程 LLM 服务,可在 docker-compose.yml 文件中修改配置。
传统的网页自动化像是一场“手工活”,需要写大量选择器、测试各种页面状态,Skyvern 则通过 大模型 + 计算机视觉 + 智能体架构,让 AI 真正“看懂”网页,并自动完成复杂任务。在做数据采集、运营自动化,还是内部流程机器人(RPA),Skyvern 都可能成为你工具箱里最具潜力的一员。
来源:不秃头程序员