Skyvern:用大语言模型与计算机视觉构建“无 XPath“的浏览器自动化引擎

发布时间:2026/10/7 21:12:02

Skyvern:用大语言模型与计算机视觉构建“无 XPath“的浏览器自动化引擎 开发工具数据可视化【免费下载链接】star-historyThe de facto GitHub star history graph.项目地址https://gitcode.com/gh_mirrors/st/star-history点击查看免费下载本文是 Star History 博客 Starlet List 系列第 19 期的技术解读主题是 Skyvern——一个用大语言模型LLM和计算机视觉驱动浏览器自动化的开源项目。文章基于仓库中 skyvern.md 原文展开梳理 Skyvern 的诞生动机、三大核心技术特性与真实落地场景并结合当前仓库的博客渲染管线与 Star History SVG 图表端点说明这类项目在 Star History 平台上的呈现方式。读完本文你将理解无 XPath、无固定选择器的浏览器自动化方案的核心设计思路以及如何在 README 中嵌入实时 Star 走势图。文章背景Starlet List 第 19 期这篇文章是 Star History 博客Starlet List系列的第 19 期由 Skyvern 团队作者 Kerem Yilmaz 撰写发布于 2024-03-28并被标记为featured: true。原文 frontmatter 中包含title、author、featured、featureImage、publishedDate、description六个字段与仓库中博客类型定义 blog.ts 的Blog接口一一对应title文章标题author作者featured是否精选推荐featureImage封面图路径publishedDateISO 8601 格式的发布时间description用于 SEO 与社交分享的摘要。构建时generateBlogJson.mts 会扫描public/blog/目录下所有.md文件解析 YAML frontmatter 生成helpers/blog.json其中slug直接由文件名派生如skyvern.md→skyvern并按照publishedDate降序排序。页面渲染则交由 blog/[slug].tsx 完成它先用gray-matter剥离 frontmatter再用marked将正文渲染为 HTML同时自动提取 H2/H3 标题生成右侧目录TableOfContents。这意味着本文所述的内容都托管在该仓库的 Markdown 体系中读者可以直接在仓库中追本溯源。The Birth of Skyvern从两难处境中诞生的自动化方案Skyvern 的诞生源于作者团队与数百家公司交流后总结出的两大痛点纯人工操作无法规模化大量重复性的浏览器工作流依赖人力完成随着业务量增长靠不断招人来堆人力显然不可持续传统自动化工具过于刚性以 Selenium 为代表的传统浏览器自动化工具依赖固定的 DOM 选择器与录制流程页面一旦改版就需要重新维护脚本维护成本居高不下。Skyvern 的答案是取两者之长用 LLM 去推理一个网站的布局与语义同时保留传统浏览器自动化的执行能力使其能随需求规模化地并行运行。三大核心特性1. 自然网页导航Natural Web NavigationSkyvern 可以在从未见过的网站上工作。其做法是用计算机视觉computer vision与 DOM 解析的组合手段识别页面上可执行动作的候选集如按钮、输入框、下拉菜单等用多模态 LLM将用户给出的自然语言指令映射到页面上这些可用动作上从而把自然语言目标翻译成页面上的具体操作序列。这意味着用户不再需要为每个站点编写专属脚本只需要描述目标模型负责理解页面并决定如何操作。2. AI 驱动的适应性AI-driven Adaptability传统自动化脚本一旦页面布局变化就会失灵因为脚本依赖预设的 XPath 或其他选择器。Skyvern 刻意不依赖任何预设选择器页面改版后之前的 XPath 自然失效但 Skyvern 会重新执行第 1 点的视觉 DOM 解析 LLM 映射流程仍然能够完成用户指定的目标从实现上看这是把定位元素从硬编码选择器升级为模型实时理解从而获得对布局变化的抵抗力。3. 上下文信息匹配Contextual Information Matching在复杂的业务流程中表单往往要求填写大量信息而其中一部分答案需要推断而非直接给出。Skyvern 允许调用方在发起工作流时传入一个 JSON blob——任何你认为有用的信息集合然后由 LLM 负责把 JSON 中的字段映射到屏幕上的表单问题。原文给出了一个非常直观的保险报价例子在美国生成车险报价时表单常会问你在 21 岁时有资格驾驶吗Were you eligible to drive at 21?。这个问题并没有现成的答案字段但可以从2012 年取得驾照1996 年出生这两个信息推断出来。Skyvern 正是通过 LLM 完成这种跨字段的推理映射而不是要求调用方预先填好每一个问题。Skyvern in Action真实业务场景原文记录了 Skyvern 已经落地的三类典型用例物料采购自动化为制造/采购企业自动化完成物料询价与下单流程避免采购人员反复在供应商网站上手工操作政府网站表单办理在政府网站上自动注册账号、填写表单简化行政类事务的在线办理流程。下图展示了在加州就业发展局EDD雇主服务页面上的表单场景保险报价生成通过动态表单导航在保险提供商的网站上自动获取报价并且支持任何语言的页面。这类场景对上下文信息匹配能力的要求很高因为保险表单问题多、字段杂、且各站点布局完全不同。下图为 Skyvern 在 GEICO 官网执行车险报价流程的录屏截图以及其在智利 BCI Seguros 保险网站执行报价工作流的录屏从这些用例可以看出Skyvern 面向的不是写脚本的开发者而是有真实重复性网页操作的业务方——采购、政务、保险、客服等。上述截图与更多演示素材均存放在 frontend/public/assets/blog/skyvern/ 目录下。社区反响与项目走势原文提到Skyvern 在 Hacker News 上完成了开源发布发布后不到一周其仓库 Star 数即达到 2.7K该数据来自原文陈述。开源项目能否持续获得关注往往要看它的 Star 增长轨迹是否健康——这正是 Star History 存在的意义。在 Star History 中嵌入 Skyvern 的实时走势原文以一张 Star History 图表收尾展示 Skyvern 仓库的 Star 走势。这种图表在当前仓库中由后端服务实时生成后端 main.ts 提供/svg端点接受如下查询参数生成 SVG 图表repos仓库列表逗号分隔最多 20 个上限定义在 const.ts 的MAX_REPOS_PER_REQUESTtype图表类型取值为Date或Timeline见 const.ts 的CHART_TYPESDate模式按日期展示 Star 增长size图表尺寸取值为mobile、laptop、desktop见CHART_SIZES其他可选参数theme主题、transparent透明背景、logscale对数坐标、legend图例位置等。仓库中 main.ts 给出了一条可直接参考的示例参数串/svg?reposstar-history/star-historytypetimelinelogscalelegendbottom-right。此外该端点还做了两处工程化设计URL 规范化main.ts仓库名会被统一转为小写并做 301 重定向到规范化地址这样 CDN 可以为同一个图表只缓存一份LRU 缓存cache.ts以repos|type|size|theme|transparent|legendPosition|useLogScale作为缓存键命中缓存直接返回响应头为image/svgxml且Cache-Control: public, s-maxage86400缓存一天。因此项目维护者完全可以把类似reposSkyvern-AI/skyverntypeDate的图表嵌入自己的 README获得一张随仓库自动更新的实时 Star 走势图。关于 Star History 的完整使用方式三种仓库输入格式、多仓库对比、时间线对齐、GitHub Token 配置、iframe 嵌入等可进一步阅读仓库内的使用指南 how-to-use-github-star-history.md如果想让自己的开源项目也出现在 Starlet List 中参见发布说明 list-your-open-source-project.md。小结Skyvern 的核心理念可以概括为一句话把定位元素这件事从硬编码选择器交给多模态大语言模型。它用计算机视觉与 DOM 解析理解页面结构用 LLM 完成自然语言指令 → 页面动作和JSON 信息 → 表单字段两层映射从而获得对未知网站与布局变化的自适应能力。本文所基于的 skyvern.md 原文连同其封面图与演示录屏都保留在当前仓库中可作为了解该项目第一手信息的起点。赞分享开发工具数据可视化【免费下载链接】star-historyThe de facto GitHub star history graph.项目地址https://gitcode.com/gh_mirrors/st/star-history点击查看免费下载相关推荐大麦抢票自动化实战指南三步跑通完整流程大麦抢票自动化实战指南三步跑通完整流程 票开售 3 分钟就没了手动点根本来不及。你不是手慢是登录、选场次、选档位、选观演人、提交订单这一整串步骤太多人比GUI 自动化RPA多模态AI在浏览器自动化中的应用Skyvern视觉-语言融合技术多模态AI在浏览器自动化中的应用Skyvern视觉 语言融合技术 传统浏览器自动化工具依赖固定选择器和DOM结构面对动态网页和复杂UI时频繁失效。Skyve人工智能AI Agent浏览器控制GUI 自动化工作流自动化RPA后端Skyvern革命用AI大模型重构浏览器自动化新范式Skyvern革命用AI大模型重构浏览器自动化新范式 你是否曾经为了重复的网页操作而烦恼每天手动查询股票价格、填写相同的在线表格或者从多个网站上收集数据。人工智能AI Agent浏览器控制GUI 自动化工作流自动化RPA后端上一篇破解IL2CPP兼容性难题BepInEx多运行时插件框架的架构演进与性能优化实践下一篇掌握ControlNet-v1-1 FP16模型精准图像控制的完整指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/10/7 21:57:05

不再被104规约难倒:Java解包帧结构、字节序与粘包全攻略

简介:针对电网101/104规约解析与组装的Java工具包,面向电力自动化、调度系统研发及规约调试人员。101/104规约是电力远动通信的核心协议,本项目围绕DL/T634.5101-2002与DL/T634.5104-2009标准,可实现遥测、遥信、遥控等报文内容的…

2026/10/7 21:57:05

电网104规约Java解包实战:从TCP字节流到遥信遥测解析

简介:面向电网自动化领域的Java开发资源,围绕101规约(DL/T634.5101-2002)与104规约(DL/T634.5104-2009)实现报文解析与组帧封装,可覆盖遥测、遥信、遥控等实际场景中发送报文的生成需求&#xf…

2026/10/7 21:57:05

Simulink蓄电池充放电仿真建模与波形分析

做BMS或者储能控制的人,应该都有过这种尴尬:手里没有电池样机,但又要验证充放电控制策略,只能靠仿真。这次分享的“F蓄电池仿真Simulink”项目就是干这个的。我把一组被测蓄电池(项目统一代号为F蓄电池,参数…

2026/10/7 21:57:05

Java毕业设计路灯管理信息系统源码与论文实践指南

简介:这份 Java 毕业设计资源面向高校计算机相关专业学生,以 MySQL 路灯管理信息系统为课题,提供可运行项目、数据库脚本与配套论文。系统采用 JSP 与 Java 技术开发,基于 B/S 模式,支持在 MyEclipse 或 Eclipse 中导入…

2026/10/7 21:57:05

NodeJs+Express+Mysql宠物用品购物网站毕业设计实战与避坑指南

简介:面向人工智能相关专业毕业设计、课程设计与全栈入门学习者的宠物用品购物网站完整源码案例,基于Node.jsExpressMySQL实现前后端分离架构。项目覆盖RESTful API设计、用户认证与授权、商品展示、订单管理、支付集成思路及测试部署要点,从…

2026/10/7 21:52:05

Visual Studio 2022递归调试指南:断点、调用堆栈与云端联调

前阵子在HoRain云上申请了一台常开的Windows开发机,把Visual Studio 2022从安装、配置到调试完整走了一遍,正好手上那个C#项目里有一段递归遍历目录的代码。调试递归和调试普通函数完全是两种体验,很多人会写递归,但一进调试器看到…

2026/10/5 6:32:56

Jev+Agent接管浏览器:browser-use实战与jev-ultrafast性能优化

1. 从“Jev”说起:为什么我要把Agent接进浏览器“Jev”这个词最近在圈子里出现的频率越来越高,很多人第一次听到会以为是某个新模型的名字,其实它更像是一种思路——把Jev模型的能力当作底座,通过Agent的方式去接管浏览器&#xf…

2026/10/7 8:18:33

多智能体集群实战:DeepAgents编排、MCP与A2A协议及Skills体系

1. 从"单兵作战"到"集群协同":多智能体编排到底在解决什么问题如果你最近在折腾 Agent 相关的东西,大概率会有一种感觉:单个 Agent 能做的事情,其实很快就摸到天花板了。你给它一个提示词,挂几个工…

2026/10/6 17:46:51

无源低通滤波器设计实战:从RC到LC,手把手教你避开那些坑

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 1:05:03

ESP32免重刷固件:浏览器直接修改NVS键值实现WiFi配置更新

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 1:05:03

SAP HANA查询结果导出CSV:避开乱码、性能与权限的实用指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 1:05:03

数字后端Placement阶段Density与Congestion控制实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑