Github 17.6k star,让AI自动“看懂”网页并完成任务的开源神器!

B站影视 韩国电影 2025-11-18 16:17 1

摘要:在过去很长一段时间里,网页自动化都是一件“又繁琐又容易出错”的事情。无论是 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 的设计灵感来自 BabyAGIAutoGPT 等任务驱动式智能体系统。 它将整个网页自动化流程拆分为三个模块:

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.9

Skyvern 不仅能像传统脚本一样执行任务,还能更接近人类的操作方式,更稳定、更通用。

Skyvern 提供了非常简单的安装与启动流程,几乎“一条命令”即可使用。

1️⃣ 安装依赖

Python 3.11(支持 3.12,但不推荐 3.13)Node.js 与 npm(Windows 用户)需额外安装 Rust、VS Code C++ 开发组件

2️⃣ 安装 Skyvern

pip install skyvern

3️⃣ 快速初始化

skyvern quickstart

4️⃣ 启动 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 都可能成为你工具箱里最具潜力的一员。

来源:不秃头程序员

相关推荐