AI+浏览器!Skyvern:浏览器工作流自动化的高效解决方案

在互联网技术飞速发展的当下,网页已成为信息交互和业务办理的核心载体,从电商采购、保险报价到政务表单填写,大量工作都需要在浏览器中完成。不过,传统的浏览器自动化工具普遍存在适配性差的痛点,它们依靠预先定义的元素定位规则开展工作,一旦网站进行版本迭代或布局调整,自动化流程就会中断,企业往往需要组建专门的技术团队维护脚本,时间和人力成本居高不下。此外,这类工具难以实现跨网站的统一自动化逻辑,对于需要在多个平台执行一样任务的场景,只能逐个编写脚本,效率极低。

Skyvern 作为新一代 AI 驱动的浏览器自动化开源项目,其核心价值在于革新了自动化的底层逻辑。它将大语言模型的推理能力与计算机视觉技术相结合,让工具能够像人一样 “看懂” 网页并自主规划操作步骤,而非机械执行预设指令。这不仅解决了传统工具的易失效性难题,还能让同一套工作流在不同网站上复用,大幅降低了自动化的门槛。无论是个人开发者处理日常网页任务,还是企业级的大规模机器人流程自动化需求,Skyvern 都能提供稳定、灵活的解决方案,推动网页自动化从定制化走向通用化。

AI+浏览器!Skyvern:浏览器工作流自动化的高效解决方案

简介

Skyvern 是由 Skyvern-AI 团队开发的开源浏览器自动化项目,项目代码托管于 GitHub(
https://github.com/Skyvern-AI/skyvern),核心逻辑采用 AGPL-3.0 开源协议授权,而托管式云服务中的反机器人检测等高级功能则为商业服务范畴。该项目支持多种主流 LLM 模型,包括 OpenAI 的 gpt4-turbo、gpt-4o,Anthropic 的 Claude 3 系列、Claude 3.5 Sonnet,以及 Azure OpenAI、AWS Bedrock、Gemini、Ollama 本地模型等,用户可根据需求灵活选择。

Skyvern 主要用于自动化各类浏览器端工作流,它以任务驱动的自主智能体架构为基础,融合 Playwright 等浏览器自动化库,通过多智能体协作完成网页理解、操作规划与执行、结果验证的全流程。相较于传统工具,Skyvern 具备三大核心优势:一是无需定制化代码,可对从未接触过的网站开展自动化操作,通过视觉 LLM 将网页元素映射为操作指令;二是抗页面布局变更能力强,摆脱了对 XPath 等固定选择器的依赖;三是支持跨网站复用工作流,能通过 LLM 推理完成不同平台的一样任务。

Skyvern 性能优秀,在 WebBench 基准测试中取得了 64.4% 的准确率,达到行业领先水平;尤其在写入类任务(表单填写、登录、文件下载等 RPA 相关场景)中表现突出,是该类任务下性能最优的自动化工具。实则际应用场景也十分广泛,涵盖了企业和个人的多类需求:在企业侧,可实现多平台发票批量下载、制造业物料采购自动化、多渠道保险报价获取、跨平台竞品分析;在个人和小团队侧,能完成求职申请流程自动化、政务网站表单填写、社交媒体内容检索等任务,同时还支持多语言场景。

AI+浏览器!Skyvern:浏览器工作流自动化的高效解决方案

使用

Skyvern 的使用可分为本地部署和云端服务两种模式,其中本地部署适合开发者调试和小规模使用,云端服务则适配企业级的大规模并行任务。

在安装 Skyvern 之前,需先配置好基础运行环境,安装 Python 3.11.x,NodeJS 及 NPM,Windows 系统额外依赖:需安装 Rust,以及配备 C++ 开发工具和 Windows SDK 的 VS Code。若选择 Docker Compose 部署,还需提前安装 Docker Desktop。

打开终端,执行以下命令完成工具的基础安装:

pip install skyvern

首次使用需执行初始化命令,完成数据库配置和迁移等前置工作:

skyvern quickstart

初始化完成后,执行以下命令启动 Skyvern 服务和可视化 UI:

skyvern run all

随后在浏览器中访问http://localhost:8080,即可通过可视化界面创建和执行任务,例如 “获取 HackerNews 今日置顶帖子”。

若习惯用代码调用,可编写异步代码实现任务执行,示例如下:

from skyvern import Skyvern

skyvern = Skyvern()
task = await skyvern.run_task(prompt="Find the top post on hackernews today")
print(task)

执行后,Skyvern 会自动启动浏览器完成任务,任务记录可在
http://localhost:8080/history查看。

如果使用 Docker Compose 部署,第一克隆 Skyvern 仓库并进入根目录,执行以下命令生成.env 文件:

skyvern init llm

打开 docker-compose.yml 文件,填写 LLM 服务商的 API 密钥;若需远程部署,需配置 UI 容器的服务器 IP;然后启动 Docker 容器:

docker compose up -d

访问http://localhost:8080即可使用 UI,使用方法同本地部署。

Skyvern 以服务形式独立存在,可以使用一些命令行命令进行运维:

# 单独启动服务器
skyvern run server
# 单独启动UI
skyvern run ui
# 查看服务状态
skyvern status
# 停止所有服务
skyvern stop all

Skyvern 支持获取结构化输出,通过data_extraction_schema参数指定输出格式,确保任务结果符合预设结构,示例如下:

from skyvern import Skyvern

skyvern = Skyvern()
task = await skyvern.run_task(
    prompt="Find the top post on hackernews today",
    data_extraction_schema={
        "type": "object",
        "properties": {
            "title": {"type": "string", "description": "The title of the top post"},
            "url": {"type": "string", "description": "The URL of the top post"},
            "points": {"type": "integer", "description": "Number of points the post has received"}
        }
    }
)
print(task)

Skyvern 支持调用自定义 Chrome 浏览器,若需使用本地 Chrome 的用户数据,可指定浏览器路径,示例代码如下:

from skyvern import Skyvern

browser_path = "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"
skyvern = Skyvern(
    base_url="http://localhost:8000",
    api_key="YOUR_API_KEY",
    browser_path=browser_path,
)
task = await skyvern.run_task(prompt="Find the top post on hackernews today")

AI+浏览器!Skyvern:浏览器工作流自动化的高效解决方案

总结

Skyvern 作为 AI 驱动的浏览器自动化工具,其功能体系兼具创新性和实用性。从核心能力来看,它构建了多智能体协作架构,能通过规划器拆解任务、视觉 LLM 识别网页元素、执行器完成操作、验证器确认结果,形成了闭环的自动化流程;同时支持任务和工作流两种执行模式,任务可实现单一网页目标,工作流则能串联多任务完成复杂需求,例如 “筛选并下载指定日期后的所有发票”。此外,它还具备表单填写、数据提取、文件下载、2FA 认证、密码管理器集成等丰富功能,可与各种工具打通,实现跨应用的流程联动。

从应用价值层面,Skyvern 彻底改变了浏览器自动化的实施逻辑。对于技术团队而言,它摆脱了传统工具对固定选择器的依赖,无需为每个网站编写定制脚本,大幅降低了自动化的开发和维护成本;对于企业而言,其跨网站的工作流复用能力可支撑大规模的业务场景,例如同时在多个保险平台获取报价、在多电商平台完成竞品价格采集,提升了业务拓展的效率。对于个人开发者,Skyvern 的低门槛特性让非专业人员也能实现网页任务自动化,解决日常工作中的重复操作难题。Skyvern 有望成为浏览器自动化领域的重大工具,推动更多行业实现网页端业务的智能化提效。

© 版权声明

相关文章

1 条评论

  • 头像
    文案小公主· 投稿者

    操控一般。

    无记录
    回复