
Automatisieren Sie browserbasierte Arbeitsabläufe mit KI
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.
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 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.
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.
Notwendige Abhängigkeiten:
Zusätzlich für Windows:
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.
Nutzen Sie diese Option, wenn Sie alles containerisiert haben möchten (Postgres, API, UI) und Python/Node nicht lokal installieren möchten.
.env (der Befehl quickstart --docker-compose unten erstellt ihn aus .env.example, falls er fehlt): ```bash
cp .env.example .env # if not already created
(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.
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:
pip install skyvernpip install "skyvern[all]" und dann skyvern quickstart ausführenpip install "skyvern[all]" und dann skyvern quickstart --postgres ausführenpip install "skyvern[ui]" und dann
skyvern run ui --api-url <api-url> --api-key <api-key> ausführennpm install @skyvern/clientSkyvern 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 |
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
await page.click("#submit-button")
await page.click(prompt="Click the green Submit button")
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")
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)
Lassen Sie Skyvern Ihren vorhandenen Chrome-Browser steuern – mit all Ihren Cookies, Anmeldungen und Erweiterungen.
chrome://inspect/#remote-debugging[!TIP] Der Befehl
skyvern init browserkann dies automatisch erledigen – er öffnetchrome://inspect/#remote-debugging, wartet darauf, dass Sie es aktivieren, und speichert die Konfiguration.
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
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
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.
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
Skyvern erzielt mit einer Genauigkeit von 64,4 % eine Spitzenleistung (SOTA) im WebBench-Benchmark. Den technischen Bericht und die Bewertung finden Sie hier.
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.
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).
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:
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.
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.
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.
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.
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.
Skyvern unterstützt eine Reihe verschiedener 2FA-Methoden, um Workflows zu automatisieren, die 2FA erfordern.
Beispiele umfassen:
🔐 Erfahren Sie mehr über die 2FA-Unterstützung hier.
Skyvern unterstützt derzeit die folgenden Passwortmanager-Integrationen:
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
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.
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!
Stellen Sie sicher, dass uv installiert ist.
.venv) zu erstellen:
uv sync --group dev
uv run skyvern quickstart
http://localhost:8080, um die Benutzeroberfläche zu nutzen.
Die Skyvern-CLI unterstützt Windows, WSL, macOS und Linux.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.
| 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.
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.
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.
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.