
skyvern v1.0.47
Automatisieren Sie browserbasierte Arbeitsabläufe mit KI
🐉 Automatisieren Sie browserbasierte Workflows mit LLMs und Computer Vision 🐉
Skyvern automatisiert browserbasierte Workflows mit LLMs und Computer Vision. Es bietet ein Playwright-kompatibles SDK, das KI-Funktionalität auf Playwright aufbaut, sowie einen No-Code-Workflow-Builder, der sowohl technischen als auch nicht-technischen Benutzern hilft, manuelle Arbeitsabläufe auf jeder Website zu automatisieren und störanfällige oder unzuverlässige Automatisierungslösungen zu ersetzen.
Herkömmliche Ansätze zur Browser-Automatisierung erforderten das Schreiben benutzerdefinierter Skripte für Websites, die oft auf DOM-Parsing und XPath-basierte Interaktionen angewiesen waren und brachen, sobald sich die Website-Layouts änderten.
Anstatt sich ausschließlich auf code-definierte XPath-Interaktionen zu verlassen, setzt Skyvern auf Vision-LLMs, um Websites zu verstehen und mit ihnen zu interagieren.
Funktionsweise
Skyvern wurde von dem aufgabengetriebenen autonomen Agenten-Design inspiriert, das durch BabyAGI und AutoGPT populär wurde – mit einem großen Plus: Wir geben Skyvern die Fähigkeit, mit Websites zu interagieren, indem wir Browser-Automatisierungsbibliotheken wie Playwright verwenden.
Skyvern nutzt einen Schwarm von Agenten, um eine Website zu verstehen und Aktionen zu planen und auszuführen:
Dieser Ansatz hat einige Vorteile:
- Skyvern kann auf Websites arbeiten, die es noch nie zuvor gesehen hat, da es visuelle Elemente den zur Ausführung eines Workflows erforderlichen Aktionen zuordnen kann, ohne angepassten Code.
- Skyvern ist resistent gegenüber Website-Layout-Änderungen, da es keine vorbestimmten XPaths oder andere Selektoren gibt, nach denen unser System beim Navigieren sucht.
- Skyvern kann einen einzigen Workflow nehmen und auf eine Vielzahl von Websites anwenden, da es die Interaktionen durchdenken kann, die zur Ausführung des Workflows notwendig sind. Ein detaillierter technischer Bericht ist hier zu finden.
Demo
https://github.com/user-attachments/assets/5cab4668-e8e2-4982-8551-aab05ff73a7f
Schnellstart
Skyvern Cloud
Skyvern Cloud ist eine verwaltete Cloud-Version von Skyvern, mit der Sie Skyvern ausführen können, ohne sich um die Infrastruktur kümmern zu müssen. Sie ermöglicht es Ihnen, mehrere Skyvern-Instanzen parallel auszuführen und wird mit Anti-Bot-Erkennungsmechanismen, einem Proxy-Netzwerk und CAPTCHA-Lösern gebündelt.
Wenn Sie es ausprobieren möchten, navigieren Sie zu app.skyvern.com und erstellen Sie ein Konto.
Lokal ausführen (UI + Server)
Wählen Sie Ihre bevorzugte Einrichtungsmethode:
Datenbankstandard:
skyvern quickstartundskyvern run serververwenden standardmäßig eine SQLite-Datenbank unter~/.skyvern/data.db, sodass der pip-Pfad ohne Postgres oder Docker funktioniert. Um stattdessen Postgres zu verwenden, übergeben Sie--postgresfür einen lokalen Container oder--database-stringfür eine vorhandene Datenbank. Docker Compose verwendet immer den gebündelten Postgres-Dienst.
Option A: pip install (Empfohlen für Python-verwaltetes lokales Setup)
Notwendige Abhängigkeiten:
Zusätzlich für Windows:
- Rust
- VS Code mit C++-Entwicklungstools und Windows SDK
1. Skyvern installieren```bash
pip install "skyvern[all]"
#### 2. Skyvern ausführen```bash
skyvern quickstart
Der pip-Schnellstart verwendet standardmäßig SQLite. Für einen lokalen Postgres-Container führen Sie skyvern quickstart --postgres aus.
Option B: Docker Compose
Nutzen Sie diese Option, wenn Sie alles containerisiert haben möchten (Postgres, API, UI) und Python/Node nicht lokal installieren möchten.
- Installieren Sie Docker Desktop
- Klonen Sie das Repository: ```bash
git clone https://github.com/skyvern-ai/skyvern.git && cd skyvern
- Konfigurieren Sie Ihren LLM-Anbieter in
.env(der Befehlquickstart --docker-composeunten erstellt ihn aus.env.example, falls er fehlt): ```bash cp .env.example .env # if not already creatededit .env to add your LLM API key
- Alles starten: ```bash
docker compose up -d
- Öffnen Sie http://localhost:8080
Fehlerbehebung
(sqlite3.OperationalError) table organizations already exists — Sie haben einen bekannten Bug in pip install skyvern==1.0.31 getroffen. Lösung:```bash
rm ~/.skyvern/data.db # remove the leftover SQLite file
pip install --upgrade skyvern # 1.0.32+ contains the fix
skyvern quickstart
Wenn Sie noch auf 1.0.31 sind und kein Upgrade durchführen können, installieren Sie stattdessen über uv:```bash
uv pip install skyvern
pip install skyvern schlägt fehl mit ResolutionImpossible (litellm / fastmcp) — Sie haben einen Abhängigkeitsauflösungskonflikt in 1.0.31 getroffen. Führen Sie entweder ein Upgrade auf 1.0.32+ durch oder verwenden Sie uv: uv pip install skyvern.
SDK
Skyvern ist eine Playwright-Erweiterung, die KI-gestützte Browserautomatisierung hinzufügt. Es bietet die volle Leistungsfähigkeit von Playwright mit zusätzlichen KI-Fähigkeiten – verwenden Sie natürlichsprachliche Aufforderungen, um mit Elementen zu interagieren, Daten zu extrahieren und komplexe mehrstufige Arbeitsabläufe zu automatisieren.
Installation:
- Python SDK / Cloud-API:
pip install skyvern - Lokaler Server + gebündelte Benutzeroberfläche:
pip install "skyvern[all]"und dannskyvern quickstartausführen - Lokaler Server + gebündelte Benutzeroberfläche mit Postgres:
pip install "skyvern[all]"und dannskyvern quickstart --postgresausführen - Gebündelte Benutzeroberfläche für eine vorhandene API:
pip install "skyvern[ui]"und dannskyvern run ui --api-url <api-url> --api-key <api-key>ausführen - TypeScript:
npm install @skyvern/client
KI-gestützte Seitenbefehle
Skyvern fügt direkt auf dem Seitenobjekt vier zentrale KI-Befehle hinzu:
| Command | Beschreibung |
|---|---|
page.act(prompt) | Aktionen mit natürlicher Sprache ausführen (z.B. "Click the login button") |
page.extract(prompt, schema) | Strukturierte Daten von der Seite extrahieren, mit optionalem JSON-Schema |
page.validate(prompt) | Seitenstatus validieren, gibt bool zurück (z.B. "Check if user is logged in") |
page.prompt(prompt, schema) | Beliebige Aufforderungen an das LLM senden, mit optionalem Antwortschema |
Zusätzlich bietet page.agent übergeordnete Workflow-Befehle:
| Command | Beschreibung |
|---|---|
page.agent.run_task(prompt) | Komplexe mehrstufige Aufgaben ausführen |
page.agent.login(credential_type, credential_id) | Mit gespeicherten Anmeldeinformationen authentifizieren (Skyvern, Bitwarden, 1Password) |
page.agent.download_files(prompt) | Navigieren und Dateien herunterladen |
page.agent.run_workflow(workflow_id) | Vorgefertigte Workflows ausführen |
KI-erweiterte Playwright-Aktionen
Alle standardmäßigen Playwright-Aktionen unterstützen einen optionalen Parameter prompt für die KI-gestützte Elementlokalisierung:
| Aktion | Playwright | KI-erweitert |
|---|---|---|
| Click | page.click("#btn") | page.click(prompt="Click login button") |
| Ausfüllen | page.fill("#email", "[email protected]") | page.fill(prompt="Email field", value="[email protected]") |
| Auswählen | page.select_option("#country", "US") | page.select_option(prompt="Country dropdown", value="US") |
| Hochladen | page.upload_file("#file", "doc.pdf") | page.upload_file(prompt="Upload area", files="doc.pdf") |
Drei Interaktionsmodi:```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")
### Kern-KI-Befehle - Beispiele```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")
Kurze Einführungsbeispiele
Ausführen über die Benutzeroberfläche:```bash skyvern run all
Navigieren Sie zu http://localhost:8080, um Aufgaben über die Weboberfläche auszuführen. Wenn die gebündelte UI fehlt, bietet `skyvern run ui` an, das passende UI-Paket zu installieren. Für eine nicht-interaktive Einrichtung verwenden Sie `skyvern run ui --install-ui` oder `skyvern run all --install-ui`.
Um nur die gebündelte UI gegen eine vorhandene Skyvern-API auszuführen, installieren Sie `skyvern[ui]` und übergeben Sie
`--api-url`; die CLI leitet `--wss-url` von der API-URL ab, sofern Sie sie nicht überschreiben. Sie können auch
`VITE_API_BASE_URL`, `VITE_WSS_BASE_URL`, `VITE_ARTIFACT_API_BASE_URL`, `VITE_SKYVERN_API_KEY`
und `VITE_BROWSER_STREAMING_MODE` setzen, bevor Sie `skyvern run ui` ausführen.
**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();
**Einfache Aufgabenausführung:**```python
from skyvern import Skyvern
skyvern = Skyvern()
task = await skyvern.run_task(prompt="Find the top post on hackernews today")
print(task)
Erweiterte Nutzung
Eigenen Browser steuern (Chrome)
Lassen Sie Skyvern Ihren vorhandenen Chrome-Browser steuern – mit all Ihren Cookies, Anmeldungen und Erweiterungen.
Schritt 1: Remotedebugging in Chrome aktivieren
- Öffnen Sie Chrome und navigieren Sie zu
chrome://inspect/#remote-debugging - Klicken Sie auf Aktivieren, um den Debugging-Server zu starten
- Sie sollten sehen: Server läuft unter: 127.0.0.1:9222
[!TIP] Der Befehl
skyvern init browserkann dies automatisch erledigen – er öffnetchrome://inspect/#remote-debugging, wartet darauf, dass Sie es aktivieren, und speichert die Konfiguration.
Schritt 2: Skyvern verbinden
Option 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", )
**Option B — Skyvern Service:**
Füge zwei Variablen zu deiner .env-Datei hinzu:```bash
BROWSER_TYPE=cdp-connect
BROWSER_REMOTE_DEBUGGING_URL=http://127.0.0.1:9222
Starten Sie den Skyvern service mit skyvern run all neu und führen Sie die Aufgabe über die Benutzeroberfläche oder den Code aus
Verbinden Sie Skyvern Cloud mit Ihrem lokalen Browser
Lassen Sie Skyvern Cloud einen Chrome-Browser steuern, der auf Ihrem Rechner läuft — mit allen Ihren vorhandenen Cookies, Anmeldungen und Erweiterungen. Nützlich für die Automatisierung von Websites, bei denen Sie bereits angemeldet sind oder die sich hinter einem VPN befinden.```bash
One command to start Chrome + create a tunnel to Skyvern Cloud
skyvern browser serve --tunnel
Verwenden Sie dann die Tunnel-URL in Ihrer Aufgabe:```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] Verwenden Sie immer
--api-key, wenn Sie Ihren Browser über einen Tunnel bereitstellen. Ohne diesen Schlüssel hat jeder mit der URL volle Kontrolle über Ihren Browser. Siehe die Sicherheitsdokumentation.
Weitere Informationen zu allen Optionen, manueller Tunnel-Einrichtung und Fehlerbehebung finden Sie in der vollständigen Dokumentation.
Konsistentes Ausgabeschema für Ihren Durchlauf erhalten
Sie können dies tun, indem Sie den Parameter data_extraction_schema hinzufügen:```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" } } } )
### Hilfreiche Befehle zum Debuggen von Problemen```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
Leistung & Bewertung
Skyvern erzielt mit einer Genauigkeit von 64,4 % eine Spitzenleistung (SOTA) im WebBench-Benchmark. Den technischen Bericht und die Bewertung finden Sie hier.
Leistung bei SCHREIB-Aufgaben (z. B. Ausfüllen von Formularen, Anmelden, Herunterladen von Dateien usw.)
Skyvern ist der leistungsstärkste Agent bei SCHREIB-Aufgaben (z. B. Ausfüllen von Formularen, Anmelden, Herunterladen von Dateien usw.), die primär für RPA-nahe Aufgaben (Robotic Process Automation) verwendet werden.
Skyvern-Funktionen
Skyvern-Aufgaben
Aufgaben sind grundlegende Bausteine in Skyvern. Jede Aufgabe ist eine einzelne Anfrage an Skyvern, die es anweist, eine Website zu durchsuchen und ein bestimmtes Ziel zu erreichen.
Aufgaben erfordern die Angabe einer url, einer prompt und optional eines data schema (falls die Ausgabe einem bestimmten Schema entsprechen soll) sowie error codes (falls Skyvern in bestimmten Situationen anhalten soll).
Skyvern-Workflows
Workflows sind eine Möglichkeit, mehrere Aufgaben zu einer kohärenten Arbeitseinheit zu verketten.
Wenn Sie beispielsweise alle Rechnungen herunterladen möchten, die neuer als der 1. Januar sind, könnten Sie einen Workflow erstellen, der zuerst auf die Rechnungsseite navigiert, dann nach Rechnungen neuer als dem 1. Januar filtert, eine Liste aller in Frage kommenden Rechnungen extrahiert und jede Rechnung zum Herunterladen durchläuft.
Ein weiteres Beispiel: Wenn Sie den Kauf von Produkten in einem E-Commerce-Shop automatisieren möchten, könnten Sie einen Workflow erstellen, der zuerst zum gewünschten Produkt navigiert und es dann in den Warenkorb legt. Zweitens würde er zum Warenkorb navigieren und den Warenkorbzustand überprüfen. Schließlich würde er den Checkout-Prozess durchlaufen, um die Artikel zu kaufen.
Unterstützte Workflow-Funktionen umfassen:
- Browser-Aufgabe
- Browser-Aktion
- Datenextraktion
- Validierung
- For-Schleifen
- Dateiparsing
- Senden von E-Mails
- Textaufforderungen
- HTTP-Anforderungsblock
- Benutzerdefinierter Codeblock
- Hochladen von Dateien in den Blockspeicher
- (In Kürze) Bedingungen
Live-Streaming
Skyvern ermöglicht es Ihnen, das Ansichtsfenster des Browsers auf Ihren lokalen Rechner zu streamen, sodass Sie genau sehen können, was Skyvern im Web tut. Dies ist nützlich zum Debuggen und zum Verständnis, wie Skyvern mit einer Website interagiert, und ermöglicht bei Bedarf ein Eingreifen.
Ausfüllen von Formularen
Skyvern kann nativ Formulareingaben auf Websites ausfüllen. Durch die Übergabe von Informationen über das navigation_goal versteht Skyvern die Informationen und füllt das Formular entsprechend aus.
Datenextraktion
Skyvern kann auch Daten von einer Website extrahieren.
Sie können auch direkt in der Hauptaufforderung ein data_extraction_schema angeben, um Skyvern genau mitzuteilen, welche Daten Sie von der Website extrahieren möchten – im jsonc-Format. Die Ausgabe von Skyvern wird entsprechend dem angegebenen Schema strukturiert.
Dateidownload
Skyvern kann auch Dateien von einer Website herunterladen. Alle heruntergeladenen Dateien werden automatisch in den Blockspeicher hochgeladen (falls konfiguriert) und Sie können über die Benutzeroberfläche darauf zugreifen.
Authentifizierung
Skyvern unterstützt eine Reihe verschiedener Authentifizierungsmethoden, um die Automatisierung von Aufgaben hinter einem Login zu erleichtern. Wenn Sie es ausprobieren möchten, kontaktieren Sie uns bitte per E-Mail oder auf Discord.
🔐 2FA-Unterstützung (TOTP)
Skyvern unterstützt eine Reihe verschiedener 2FA-Methoden, um Workflows zu automatisieren, die 2FA erfordern.
Beispiele umfassen:
- QR-basierte 2FA (z. B. Google Authenticator, Authy)
- E-Mail-basierte 2FA
- SMS-basierte 2FA
🔐 Erfahren Sie mehr über die 2FA-Unterstützung hier.
Integration von Passwortmanagern
Skyvern unterstützt derzeit die folgenden Passwortmanager-Integrationen:
- Bitwarden
- Benutzerdefinierter Anmeldedienst (HTTP-API)
- 1Password
- LastPass
Model Context Protocol (MCP)
Skyvern unterstützt das Model Context Protocol (MCP), sodass Sie jedes LLM verwenden können, das MCP unterstützt.
Die MCP-Dokumentation finden Sie hier
Integration mit Zapier / Make.com / N8N
Skyvern unterstützt Zapier, Make.com und N8N, sodass Sie Ihre Skyvern-Workflows mit anderen Apps verbinden können.
🔐 Erfahren Sie mehr über die 2FA-Unterstützung hier.
Praxisbeispiele für Skyvern
Wir lieben es zu sehen, wie Skyvern in der Praxis eingesetzt wird. Hier sind einige Beispiele, wie Skyvern zur Automatisierung von Workflows in der realen Welt verwendet wird. Bitte eröffnen Sie PRs, um eigene Beispiele hinzuzufügen!
Rechnungsdownload auf vielen verschiedenen Websites
Buchen Sie eine Demo, um es live zu sehen
Automatisierung des Bewerbungsprozesses
Automatisierung der Materialbeschaffung für ein Fertigungsunternehmen
Navigation zu Regierungswebsites, um Konten zu registrieren oder Formulare auszufüllen
Ausfüllen zufälliger Kontaktformulare
Abrufen von Versicherungsangeboten von Versicherungsanbietern in jeder Sprache
Einrichtung für Mitwirkende
Stellen Sie sicher, dass uv installiert ist.
- Führen Sie dies aus, um Ihre virtuelle Umgebung (
.venv) zu erstellen:uv sync --group dev - Führen Sie die anfängliche Serverkonfiguration durch:
uv run skyvern quickstart - Navigieren Sie in Ihrem Browser zu
http://localhost:8080, um die Benutzeroberfläche zu nutzen. Die Skyvern-CLI unterstützt Windows, WSL, macOS und Linux.
Dokumentation
Eine umfangreichere Dokumentation finden Sie auf unserer 📕 Dokumentationsseite. Bitte lassen Sie uns wissen, wenn etwas unklar ist oder fehlt, indem Sie ein Issue eröffnen oder uns per E-Mail oder auf Discord kontaktieren.
Unterstützte LLMs
| Anbieter | Unterstützte Modelle |
|---|---|
| OpenAI | GPT-5.5, GPT-5.4, GPT-5, GPT-4.1, o3, o4-mini |
| Anthropic | Claude 4.7 Opus, Claude 4.6 (Sonnet, Opus), Claude 4.5 (Haiku, Sonnet, Opus) |
| Azure OpenAI | Alle GPT-Modelle, die in Ihrem Azure-Abonnement bereitgestellt sind |
| AWS Bedrock | Claude 4.7, Claude 4.6 (Sonnet, Opus), Claude 4.5 (Sonnet, Opus) |
| Gemini | Gemini 3.1 Pro, Gemini 3 Flash, Gemini 2.5 Pro/Flash |
| Ollama | Führen Sie jedes lokal gehostete Modell über Ollama aus |
| OpenRouter | Greifen Sie über OpenRouter auf Modelle zu |
| OpenAI-kompatibel | Jeder benutzerdefinierte API-Endpunkt, der dem OpenAI-API-Format folgt (über liteLLM) |
Eine detaillierte LLM-Konfiguration mit allen verfügbaren Modellschlüsseln, Umgebungsvariablen und Multi-Modell-Setups finden Sie in der LLM-Konfigurationsdokumentation.
Mitwirken
Wir freuen uns über PRs und Vorschläge! Zögern Sie nicht, ein PR/Issue zu eröffnen oder uns per E-Mail oder auf Discord zu kontaktieren. Bitte werfen Sie einen Blick in unseren Beitragsleitfaden und auf die "Help Wanted"-Issues, um loszulegen!
Wenn Sie mit dem Skyvern-Repository chatten möchten, um einen allgemeinen Überblick über seine Struktur, die Weiterentwicklungsmöglichkeiten und die Lösung von Nutzungsfragen zu erhalten, schauen Sie sich Code Sage an.
Telemetrie
Standardmäßig sammelt Skyvern grundlegende Nutzungsstatistiken, um zu verstehen, wie Skyvern verwendet wird. Wenn Sie die Telemetrie deaktivieren möchten, setzen Sie die Umgebungsvariable SKYVERN_TELEMETRY auf false.
Lizenz
Das Open-Source-Repository von Skyvern wird über eine verwaltete Cloud unterstützt. Die gesamte Kernlogik, die Skyvern antreibt, ist in diesem Open-Source-Repository unter der AGPL-3.0-Lizenz verfügbar, mit Ausnahme von Anti-Bot-Maßnahmen, die in unserem verwalteten Cloud-Angebot verfügbar sind.
Wenn Sie Fragen oder Bedenken bezüglich der Lizenzierung haben, kontaktieren Sie uns bitte – wir helfen gerne weiter.