Skyvern实战笔记:3步在本地跑通AI浏览器自动化
【免费下载链接】skyvernAutomate browser based workflows with AI项目地址: https://gitcode.com/GitHub_Trending/sk/skyvern
财务同事需要从十几个供应商后台逐个导出上月的发票 PDF,而每个后台的菜单和按钮位置还各不相同,上次写好的 Selenium 脚本改了两处 DOM 就全挂了。Skyvern 走的是另一条路:你用自然语言描述任务,它靠视觉大模型解析页面、规划并执行点击和输入,不依赖手写选择器。
核心机制:视觉模型直接"看"网页
Skyvern 内部是一组协作的 agent:一个负责把页面截图交给视觉 LLM 理解当前状态,一个负责把任务拆解成动作序列,还有一个负责执行并校验结果(实现见 skyvern/core/ 与 skyvern/services/)。因为交互依据是"画面 + 语义"而不是 XPath,网站改版时任务通常仍能跑通。
本地部署步骤
1. 克隆仓库并配置 LLM Key
git clone https://gitcode.com/GitHub_Trending/sk/skyvern cd skyvern cp .env.example .env打开.env,填入 OpenAI 或 Anthropic 的 API Key,这一步是整个部署里唯一需要你动手的配置。
2. 启动全部服务
docker compose up -d到这里服务就拉起来了:Postgres、API、UI 都在容器里,API 监听 8000 端口,UI 监听 8080 端口。
3. 访问界面
浏览器打开http://localhost:8080即可进入工作界面;如果要调接口,API 入口在http://localhost:8000/api/v1。不想装 Docker 的话,也可以走pip install "skyvern[all]"后执行skyvern quickstart,默认用 SQLite,省掉数据库。
第一个任务怎么建
在任务创建页把这句直接粘进 prompt 输入框:
Find the top post on hackernews today
提交后界面会实时展示浏览器视口:页面打开、标题识别、数据回传都能看到。跑完后在 Runs 列表点进这条任务,可以逐步回放每一次动作、对应的截图和模型决策,下载它提取出的结果文件。
能力拆解
动态页面兼容性
定性来说,Skyvern 对没见过的网站和 SPA 这类动态页面没有额外成本,因为定位元素靠视觉语义而非预定义选择器。一个具体例子:输入"登录供应商门户并下载最新对账单",只要账号凭据配好,输出就是下载目录里的对账单文件,站点换个主题配色也不需要改任何配置。
批量任务编排
单个任务不够用时,可以把多个任务串成 workflow,支持 For Loop、文件解析、校验、HTTP 请求等块。比如输入是包含 50 个门店 URL 的 CSV,workflow 先解析文件,再对每个 URL 循环执行"打开 → 抓取本月流水",输出是 50 条结构化记录,全程不用人工盯着。
执行链路可观测
每次运行都会留下完整轨迹:每步的截图、动作类型、模型输入输出都能逐条查看,还支持把浏览器视口直播到本地,方便调试时介入。出问题时你能直接定位到"第几步、在哪个页面、模型看到了什么"。
进阶调优
- 固定输出结构:给任务加
data_extraction_schema(JSON Schema 格式),Skyvern 的返回值就会严格对齐你的字段定义,方便直接入库或喂给下游流程,而不是一整段自由文本。 - 复用本地已登录的 Chrome:在 Chrome 开启远程调试后,
.env里加BROWSER_TYPE=cdp-connect和BROWSER_REMOTE_DEBUGGING_URL=http://127.0.0.1:9222,Skyvern 就能带着你现有的登录态和扩展去跑任务,适合需要 2FA 或内网登录态的场景。 - 日志与状态:Docker 部署下用
docker compose logs -f skyvern看服务日志;pip 部署下skyvern status查运行状态,skyvern run server与skyvern run ui可以分开重启。
和传统脚本的区别
手写 Selenium/Playwright 脚本是"写死一条路径",网站改版等于重写;录制回放工具本质也是存操作序列,页面稍有变化就断。Skyvern 存的是目标而非路径,执行时现场看图决策,代价是每步都要过一遍模型,速度和成本需要按任务复杂度权衡。
下一步
clone 下来先跑通docker compose up -d,用上面那句 Hacker News 的 prompt 验证链路,再拿一个你们团队真实要重复做的事试一次。它最合适的落点是那种"高频、规则模糊、脚本维护不起"的网页操作。
【免费下载链接】skyvernAutomate browser based workflows with AI项目地址: https://gitcode.com/GitHub_Trending/sk/skyvern
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考