Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
skyvern — 使用AI自动化基于浏览器的工作流程 | Kitploit
工具/GitHubGitHub/skyvern-ai/skyvern
Web安全网络爬虫反机器人CAPTCHA 绕过AI 安全
GitHubskyvern-ai/skyvern

skyvern

使用AI自动化基于浏览器的工作流程

查看仓库
22.7k2.1k20小时4分前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
网站


🐉 使用LLM和计算机视觉自动化基于浏览器的工作流程 🐉

Skyvern 使用LLM和计算机视觉来自动化基于浏览器的工作流程。它提供了一个与Playwright兼容的SDK,在Playwright之上增加了AI功能,并且还包含一个无代码工作流构建器,帮助技术用户和非技术用户在任何网站上自动化手动工作流程,取代脆弱或不可靠的自动化方案。

传统的浏览器自动化方法需要为网站编写自定义脚本,通常依赖DOM解析和基于XPath的交互,而一旦网站布局发生变化,这些脚本就会失效。

Skyvern不再仅依赖代码定义的XPath交互,而是利用视觉LLM来学习和与网站交互。

工作原理

Skyvern的灵感来源于BabyAGI和AutoGPT所推广的基于任务驱动的自主代理设计——但有一个重大优势:我们赋予Skyvern使用浏览器自动化库(如Playwright)与网站交互的能力。

Skyvern通过一组代理来理解网站,并规划和执行其操作:

这种方法有几个优点:

  1. Skyvern能够在从未见过的网站上运行,因为它能够将视觉元素映射到完成工作流所需的操作,而无需任何自定义代码
  2. Skyvern对网站布局变化具有抵抗力,因为我们的系统在导航时没有预定义的XPath或其他选择器
  3. Skyvern能够将单个工作流应用于大量网站,因为它能够推理完成工作流所需的交互 详细的技术报告可以在这里找到。

演示

https://github.com/user-attachments/assets/5cab4668-e8e2-4982-8551-aab05ff73a7f

快速开始

Skyvern Cloud

Skyvern Cloud 是Skyvern的托管云版本,让您无需担心基础设施即可运行Skyvern。它允许并行运行多个Skyvern实例,并附带反机器人检测机制、代理网络和验证码解决器。

如果您想试用,请访问app.skyvern.com并创建一个账户。

本地运行(用户界面+服务器)

选择您偏好的设置方式:

数据库默认:skyvern quickstart和skyvern run server默认使用位于~/.skyvern/data.db的SQLite数据库,因此pip路径无需Postgres或Docker即可运行。要改用Postgres,请传递--postgres(用于本地容器)或--database-string(用于现有数据库)。Docker Compose始终使用捆绑的Postgres服务。

选项 A:pip 安装(推荐用于Python管理的本地设置)

所需依赖:

  • Python 3.11, 3.12, or 3.13

此外,对于 Windows:

  • Rust
  • 带有C++开发工具和Windows SDK的VS Code

1. 安装 Skyvern```bash

pip install "skyvern[all]"

root@kitploit:~
#### 2. 运行 Skyvern```bash
skyvern quickstart

pip 快速入门默认使用 SQLite。如需使用本地 Postgres 容器,请运行 skyvern quickstart --postgres。

选项B:Docker Compose

如果您希望将所有组件容器化(Postgres、API、UI),并且不想在本地安装 Python/Node,请使用此选项。

  1. 安装 Docker Desktop
  2. 克隆仓库: ```bash git clone https://github.com/skyvern-ai/skyvern.git && cd skyvern
    root@kitploit:~
  3. 在.env中配置你的LLM提供商(如果缺失,下面的quickstart --docker-compose命令将从.env.example创建它): ```bash cp .env.example .env # if not already created

    edit .env to add your LLM API key

    root@kitploit:~
  4. 启动全部: ```bash docker compose up -d
    root@kitploit:~
  5. 打开 http://localhost:8080

故障排除

(sqlite3.OperationalError) table organizations already exists — 你遇到了 pip install skyvern==1.0.31 中一个已知的错误。修复方法:```bash rm ~/.skyvern/data.db # remove the leftover SQLite file pip install --upgrade skyvern # 1.0.32+ contains the fix skyvern quickstart

root@kitploit:~
如果你仍然停留在1.0.31版本且无法升级,请改用uv安装:```bash
uv pip install skyvern

pip install skyvern 失败并出现 ResolutionImpossible (litellm / fastmcp) — 你遇到了 1.0.31 中的依赖解析冲突。请升级到 1.0.32+ 或使用 uv:uv pip install skyvern。

SDK

Skyvern 是一个 Playwright 扩展,增加了 AI 驱动的浏览器自动化。 它为你提供 Playwright 的全部功能以及额外的 AI 能力——使用自然语言提示与元素交互、提取数据并自动化复杂的多步骤工作流。

安装:

  • Python SDK / 云 API:pip install skyvern
  • 本地服务器 + 打包 UI:pip install "skyvern[all]" 然后运行 skyvern quickstart
  • 本地服务器 + 带 Postgres 的打包 UI:pip install "skyvern[all]" 然后运行 skyvern quickstart --postgres
  • 针对现有 API 的打包 UI:pip install "skyvern[ui]" 然后运行 skyvern run ui --api-url <api-url> --api-key <api-key>
  • TypeScript:npm install @skyvern/client

AI 驱动的页面命令

Skyvern 在页面对象上添加了四个核心 AI 命令:

命令描述
page.act(prompt)

此外,page.agent 提供更高级的工作流命令:

命令描述
page.agent.run_task(prompt)执行复杂的多步骤任务
page.agent.login(credential_type, credential_id)

AI 增强的 Playwright 操作

所有标准 Playwright 操作都支持可选的 prompt 参数,用于 AI 驱动的元素定位:

三种交互模式:```python

1. Traditional Playwright - CSS/XPath selectors

await page.click("#submit-button")

2. AI-powered - natural language

await page.click(prompt="Click the green Submit button")

3. AI fallback - tries selector first, falls back to AI if it fails

await page.click("#submit-btn", prompt="Click the Submit button")

root@kitploit:~
### 核心 AI 命令 - 示例```python
# act - Perform actions using natural language
await page.act("Click the login button and wait for the dashboard to load")

# extract - Extract structured data with optional JSON schema
result = await page.extract("Get the product name and price")
result = await page.extract(
    prompt="Extract order details",
    schema={"order_id": "string", "total": "number", "items": "array"}
)

# validate - Check page state (returns bool)
is_logged_in = await page.validate("Check if the user is logged in")

# prompt - Send arbitrary prompts to the LLM
summary = await page.prompt("Summarize what's on this page")

快速入门示例

通过UI运行:```bash skyvern run all

root@kitploit:~
打开 http://localhost:8080 即可通过网页界面运行任务。如果打包的 UI 缺失,`skyvern run ui` 会提示安装匹配的 UI 包。对于非交互式设置,请使用 `skyvern run ui --install-ui` 或 `skyvern run all --install-ui`。

要仅针对现有的 Skyvern API 运行打包的 UI,请安装 `skyvern[ui]` 并传入 `--api-url`;CLI 会从 API URL 推断 `--wss-url`,除非你覆盖它。你也可以在运行 `skyvern run ui` 之前设置 `VITE_API_BASE_URL`、`VITE_WSS_BASE_URL`、`VITE_ARTIFACT_API_BASE_URL`、`VITE_SKYVERN_API_KEY` 和 `VITE_BROWSER_STREAMING_MODE`。

**Python SDK:**```python
from skyvern import Skyvern

# Local mode
skyvern = Skyvern.local()

# Or connect to Skyvern Cloud
skyvern = Skyvern(api_key="your-api-key")

# Launch browser and get page
browser = await skyvern.launch_cloud_browser()
page = await browser.get_working_page()

# Mix Playwright with AI-powered actions
await page.goto("https://example.com")
await page.click("#login-button")  # Traditional Playwright
await page.agent.login(credential_type="skyvern", credential_id="cred_123")  # AI login
await page.click(prompt="Add first item to cart")  # AI-augmented click
await page.agent.run_task("Complete checkout with: John Snow, 12345")  # AI task

TypeScript SDK:```typescript import { Skyvern } from "@skyvern/client";

const skyvern = new Skyvern({ apiKey: "your-api-key" }); const browser = await skyvern.launchCloudBrowser(); const page = await browser.getWorkingPage();

// Mix Playwright with AI-powered actions await page.goto("https://example.com"); await page.click("#login-button"); // Traditional Playwright await page.agent.login("skyvern", { credentialId: "cred_123" }); // AI login await page.click({ prompt: "Add first item to cart" }); // AI-augmented click await page.agent.runTask("Complete checkout with: John Snow, 12345"); // AI task

await browser.close();

root@kitploit:~
**简单任务执行:**```python
from skyvern import Skyvern

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

高级用法

控制你自己的浏览器(Chrome)

让 Skyvern 控制你现有的 Chrome 浏览器——包括你所有的 Cookies、登录状态和扩展程序。

步骤1:在 Chrome 中启用远程调试

  1. 打开 Chrome 并访问 chrome://inspect/#remote-debugging
  2. 点击 启用 启动调试服务器
  3. 你应该看到:服务器正在运行于:127.0.0.1:9222

[!TIP] skyvern init browser 命令可以自动完成此操作——它会打开 chrome://inspect/#remote-debugging,等待你启用它,并保存配置。

步骤2:连接 Skyvern

选项 A — Python Code:```python from skyvern import Skyvern

skyvern = Skyvern( base_url="http://localhost:8000", api_key="YOUR_API_KEY", browser_address="http://127.0.0.1:9222", ) task = await skyvern.run_task( prompt="Find the top post on hackernews today", )

root@kitploit:~
**选项 B — Skyvern 服务:**

在你的 .env 文件中添加两个变量:```bash
BROWSER_TYPE=cdp-connect
BROWSER_REMOTE_DEBUGGING_URL=http://127.0.0.1:9222

重启 Skyvern 服务 skyvern run all,并通过 UI 或代码运行任务

将 Skyvern Cloud 连接到你的本地浏览器

让 Skyvern Cloud 控制你机器上运行的 Chrome 浏览器 —— 包括你现有的所有 cookie、登录信息和扩展。适用于自动化那些你已经登录或位于 VPN 后的站点。```bash

One command to start Chrome + create a tunnel to Skyvern Cloud

skyvern browser serve --tunnel

root@kitploit:~
然后在你的任务中使用隧道 URL:```python
from skyvern import Skyvern

skyvern = Skyvern(api_key="your-api-key")
task = await skyvern.run_task(
    prompt="Download the latest invoice from my account",
    browser_address="https://abc123.ngrok-free.dev",
)

[!WARNING] 始终使用 --api-key 通过隧道暴露浏览器。否则,任何人只要拥有该 URL 即可完全控制您的浏览器。请参阅安全文档。

请参阅完整文档了解所有选项、手动隧道设置和故障排除。

从您的运行中获取一致的输出模式

您可以通过添加 data_extraction_schema 参数来实现这一点:```python 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" } } } )

root@kitploit:~
### 调试问题的有用命令```bash
# Launch the Skyvern Server Separately*
skyvern run server

# Launch the Skyvern UI
skyvern run ui

# Check status of the Skyvern service
skyvern status

# Stop the Skyvern service
skyvern stop all

# Stop the Skyvern UI
skyvern stop ui

# Stop the Skyvern Server Separately
skyvern stop server

性能与评估

Skyvern 在 WebBench 基准测试 上达到了 SOTA 性能,准确率为 64.4%。技术报告与评估可在此处查阅:链接

WRITE 任务(例如填写表单、登录、下载文件等)的性能

Skyvern 在 WRITE 任务(例如填写表单、登录、下载文件等)上表现最佳,这些任务主要用于 RPA(机器人流程自动化)相关操作。

Skyvern 功能

Skyvern 任务

任务是 Skyvern 中的基本构建单元。每个任务都是向 Skyvern 发出的单一请求,指示它浏览网站并完成特定目标。

任务需要你指定 url、prompt,并可选择性地包含 data schema(如果你希望输出符合特定模式)和 error codes(如果你希望 Skyvern 在特定情况下停止运行)。

Skyvern 工作流

工作流是一种将多个任务链接在一起形成连贯工作单元的方式。

例如,如果你想下载所有日期在 1 月 1 日之后的发票,你可以创建一个工作流:首先导航到发票页面,然后筛选出仅显示 1 月 1 日之后的发票,提取所有符合条件的发票列表,并逐个迭代下载每张发票。

另一个例子是,如果你希望自动化从电商商店购买产品的流程,可以创建一个工作流:首先导航到目标产品并将其加入购物车;其次,导航到购物车并验证购物车状态;最后,通过结账流程购买商品。

支持的工作流功能包括:

  1. 浏览器任务
  2. 浏览器动作
  3. 数据提取
  4. 验证
  5. For 循环
  6. 文件解析
  7. 发送电子邮件
  8. 文本提示
  9. HTTP 请求块
  10. 自定义代码块
  11. 上传文件到块存储
  12. (即将支持)条件语句

实时流

Skyvern 允许你将浏览器的视窗实时流式传输到本地机器,这样你就能看到 Skyvern 在网页上执行的每一个操作。这对于调试、理解 Skyvern 如何与网站交互以及在必要时进行干预非常有用。

表单填写

Skyvern 原生支持填写网站上的表单输入。通过 navigation_goal 传入信息,Skyvern 能够理解信息并相应地填写表单。

数据提取

Skyvern 还能够从网站中提取数据。

你也可以直接在提示中指定 data_extraction_schema,以 jsonc 格式告诉 Skyvern 你希望从网站中提取哪些具体数据。Skyvern 的输出将根据提供的模式进行结构化。

文件下载

Skyvern 还能够从网站下载文件。所有下载的文件会自动上传到块存储(如果已配置),你可以通过用户界面访问它们。

身份验证

Skyvern 支持多种不同的身份验证方法,使得在登录后自动化任务变得更加容易。如果你想尝试,请通过电子邮件或Discord联系我们。

🔐 2FA 支持(TOTP)

Skyvern 支持多种不同的双重验证方法,允许你自动化需要双重验证的工作流。

示例包括:

  1. 基于二维码的 2FA(例如 Google Authenticator、Authy)
  2. 基于电子邮件的 2FA
  3. 基于短信的 2FA

🔐 在此了解有关 2FA 支持的更多信息:链接

密码管理器集成

Skyvern 目前支持以下密码管理器集成:

  • Bitwarden
  • 自定义凭据服务(HTTP API)
  • 1Password
  • LastPass

模型上下文协议(MCP)

Skyvern 支持模型上下文协议(MCP),允许你使用任何支持 MCP 的 LLM。

请在此查阅 MCP 文档:链接

Zapier / Make.com / N8N 集成

Skyvern 支持 Zapier、Make.com 和 N8N,允许你将 Skyvern 工作流连接到其他应用。

  • Zapier
  • Make.com
  • N8N

🔐 在此了解有关 2FA 支持的更多信息:链接

Skyvern 的真实世界示例

我们很高兴看到 Skyvern 在真实场景中的应用。以下是一些 Skyvern 如何用于自动化工作流的真实示例。欢迎提交 PR 添加你自己的示例!

在众多不同网站上下载发票

预约演示观看实时演示

自动化求职申请流程

💡 查看实际效果

为制造公司自动化材料采购

💡 查看实际效果

导航到政府网站注册账户或填写表单

💡 查看实际效果

填写随机的联系我们表单

💡 查看实际效果

从任意语言的保险提供商获取保险报价

💡 查看实际效果

💡 查看实际效果

贡献者设置

请确保已安装 uv。

  1. 运行以下命令创建虚拟环境 (.venv)
    root@kitploit:~
    uv sync --group dev
    
  2. 执行初始服务器配置
    root@kitploit:~
    uv run skyvern quickstart
    
  3. 在浏览器中访问 http://localhost:8080 开始使用用户界面 Skyvern CLI 支持 Windows、WSL、macOS 和 Linux 环境。

文档

更详细的文档可以在我们的 📕 文档页面 上找到。如果发现任何不清楚或缺失的内容,请通过提交 Issue 或发送邮件加入 Discord 联系我们。

支持的 LLM

有关详细的 LLM 配置,包括所有可用模型密钥、环境变量和多模型设置,请参阅 LLM 配置文档。

贡献

我们欢迎 PR 和建议!请不要犹豫提交 PR/Issue,或发送邮件加入 Discord 联系我们。 请查看我们的贡献指南和 “求助”问题以开始贡献!

如果你想与 Skyvern 仓库交流,获取关于其结构、如何在此基础上构建以及如何解决使用问题的高层概览,请查看 Code Sage。

遥测

默认情况下,Skyvern 会收集基本的使用统计数据,以帮助我们了解 Skyvern 的使用情况。如果你想选择退出遥测,请将 SKYVERN_TELEMETRY 环境变量设置为 false。

许可证

Skyvern 的开源仓库通过托管云服务获得支持。所有驱动 Skyvern 的核心逻辑都包含在此开源仓库中,并根据 AGPL-3.0 许可证 进行许可,但托管云服务中可用的反机器人措施除外。

如果你对许可有任何疑问或顾虑,请联系我们,我们很乐意提供帮助。

星历史

Star History Chart

下载工具
使用自然语言执行操作(例如,“点击登录按钮”)
page.extract(prompt, schema)从页面提取结构化数据,可带 JSON schema
page.validate(prompt)验证页面状态,返回 bool(例如,“检查用户是否已登录”)
page.prompt(prompt, schema)向 LLM 发送任意提示,可带响应 schema
使用存储的凭据进行身份验证(Skyvern、Bitwarden、1Password)
page.agent.download_files(prompt)导航并下载文件
page.agent.run_workflow(workflow_id)执行预构建的工作流
操作PlaywrightAI 增强
点击page.click("#btn")page.click(prompt="点击登录按钮")
填充page.fill("#email", "[email protected]")page.fill(prompt="邮箱字段", value="[email protected]")
选择page.select_option("#country", "US")page.select_option(prompt="国家下拉框", value="US")
上传page.upload_file("#file", "doc.pdf")page.upload_file(prompt="上传区域", files="doc.pdf")
提供商支持的模型
OpenAIGPT-5.5, GPT-5.4, GPT-5, GPT-4.1, o3, o4-mini
AnthropicClaude 4.7 Opus, Claude 4.6 (Sonnet, Opus), Claude 4.5 (Haiku, Sonnet, Opus)
Azure OpenAI部署到 Azure 订阅中的任何 GPT 模型
AWS BedrockClaude 4.7, Claude 4.6 (Sonnet, Opus), Claude 4.5 (Sonnet, Opus)
GeminiGemini 3.1 Pro, Gemini 3 Flash, Gemini 2.5 Pro/Flash
Ollama通过 Ollama 运行任何本地托管的模型
OpenRouter通过 OpenRouter 访问模型
兼容 OpenAI任何遵循 OpenAI API 格式的自定义 API 端点(通过 liteLLM)