Loading...

文章背景图

Skyvern:AI浏览器自动化Agent安装与使用指南

2026-10-27
0
- 字
- 分钟
|

Skyvern:AI浏览器自动化Agent安装与使用指南

Skyvern

官方信息

项目名称Skyvern
仓库地址https://github.com/Skyvern-AI/skyvern
官方文档https://www.skyvern.com/docs
最新更新2026-10-27
项目定位用 LLM + 视觉模型自动操作浏览器,替代脆弱的 XPath RPA 脚本
开源协议AGPL-3.0

项目背景

传统浏览器自动化(Selenium、Playwright、Puppeteer、RPA)都靠写死 XPath 和 CSS 选择器:网站一改版,按钮 class 变了、表单顺序调了,脚本就崩了。维护这些脚本的成本极高,尤其是面对电商、政务、保险这类频繁改版的网站。

Skyvern 换了个思路:它不读 DOM,而是像人一样截图看页面,把截图喂给多模态大模型(GPT-4o、Claude、Gemini),让模型判断"这个按钮是登录、那个输入框填用户名",然后再调用 Playwright 去点去填。网站改版了?模型重新看一眼就行,脚本一行不用改。

项目在 GitHub 上收获 13k+ Star,背后有 YC 投资,同时提供商业云服务。开源版支持任务(Task)、工作流(Workflow)、2FA 登录、文件下载、表单填写、数据抽取、实时浏览器直播观看、人工接管(遇到验证码时人来点一下)。它被广泛用于自动比价、自动填表、批量抓数据、采购流程自动化等场景。

核心特性

  • 视觉驱动:每一步都截图让 LLM 决策,不依赖脆弱的 XPath。
  • 自然语言指令:告诉它"去 7-11 网站下载上个月的发票",它自己拆解执行。
  • 工作流编排:可视化串联导航、抽取、循环、文件下载、邮件发送等节点。
  • 2FA 支持:TOTP、Google Authenticator、Bitwarden/1Password/LastPass 集成。
  • 实时直播:通过 VNC 实时看浏览器在干什么,可随时接管。
  • 凭据保险库:加密存储网站账号密码,按名字在工作流里引用。
  • 多 LLM 兼容:OpenAI、Anthropic、Gemini、Azure、Bedrock、Ollama、OpenRouter、Groq。
  • REST API + Python/TS SDK + Webhook + MCP:可嵌入任何系统。

环境要求

  • Python 3.11 - 3.14(pip 方式)或 Docker(推荐)。
  • 至少一个支持视觉的 LLM API Key(强烈推荐 GPT-4o / Claude Sonnet / Gemini 视觉版)。
  • 2 核 4G 起步;并发任务多了再加内存(每个任务一个 Chromium 实例)。
  • Docker Compose v2。

详细部署步骤

方式一:Docker Compose(推荐,带 Web UI)

git clone https://github.com/Skyvern-AI/skyvern.git
cd skyvern
cp .env.example .env
cp skyvern-frontend/.env.example skyvern-frontend/.env

编辑 .env,至少填一个 LLM Key:

# 用 OpenAI
OPENAI_API_KEY=sk-你的key
LLM_KEY=GPT4o

# 或者用 Anthropic
# ANTHROPIC_API_KEY=sk-ant-xxx
# LLM_KEY=CLAUDE_SONNET

# 或者用本地 Ollama(需要视觉模型)
# ENABLE_OLLAMA=true
# LLM_KEY=OLLAMA
# OLLAMA_SERVER_URL=http://host.docker.internal:11434
# OLLAMA_MODEL=qwen2.5vl:7b
# OLLAMA_SUPPORTS_VISION=true

编辑 skyvern-frontend/.env,把 VITE_SKYVERN_API_KEY 留空:

VITE_SKYVERN_API_KEY=

注意:不要保留 YOUR_API_KEY 占位符,否则前端会拿这个假 key 发请求导致全部失败。

启动:

docker compose up -d
docker compose ps
# 等 postgres 和 skyvern 都显示 healthy

打开 http://服务器IP:8080。你的本地 API Key 写在 .skyvern/credentials.toml 的 cred 字段里。

方式二:pip 安装(无 UI,纯 API)

pip install "skyvern[server]"
skyvern quickstart --install-type server

向导会问你用哪个 LLM、Key 是多少,自动装 Chromium、初始化数据库、生成 API Key,然后问你要不要启动服务。之后随时启动:

skyvern run server    # API 在 http://localhost:8000

关键注意事项

  • DATABASE_STRING 不要在 .env 里指向 localhost:容器里 localhost 是自己,compose 文件里已经配好了,删掉 .env 里那行。
  • Ollama 在宿主机:Linux 用 http://172.17.0.1:11434,macOS/Windows 用 http://host.docker.internal:11434。
  • 不要裸奔暴露到公网:开源版没有登录系统,必须前面套 Nginx/Caddy 加 Basic Auth。
  • 首次启动要 1-2 分钟跑数据库迁移,看到 Application startup complete 再用。

使用方法示例

在 Web UI 里新建 Task,填:

  • URL:https://news.ycombinator.com
  • 导航目标:找出首页第一条新闻的标题和链接。
  • 数据抽取目标:JSON 格式输出 {"title": "...", "url": "..."}。

点 Run,右侧会实时看到 Chromium 截图流,每一步都记录了模型的决策。

用 API 调:

curl -X POST http://localhost:8000/api/v1/tasks \
  -H "Content-Type: application/json" \
  -H "x-api-key: 你的cred" \
  -d '{
    "url": "https://www.google.com",
    "navigation_goal": "搜索 open source AI agents 并返回第一条结果",
    "data_extraction_goal": "JSON: {title, url, snippet}"
  }'

常见问题(FAQ)

Q1:为什么模型操作慢?
A:每一步都要截图 + 调视觉模型,一次任务可能调 10-30 次 LLM,成本和耗时都比传统 RPA 高。建议用便宜的视觉模型,或在 workflow 里把固定步骤写成 Playwright 代码块。

Q2:遇到验证码怎么办?
A:实时直播页面点"Take Control"人工接管点掉验证码,Skyvern 会接着继续。商业云版自带验证码解决。

Q3:能登录需要 2FA 的网站吗?
A:可以,在 Credentials 里存 TOTP secret,工作流里引用即可自动生成动态码。

Q4:AGPL 协议能商用吗?
A:AGPL 要求你对外提供网络服务时也开源修改后的代码;如果只是内部用、不分发,没问题。要 SaaS 化建议买商业版。

跳转链接

评论交流

文章目录