Skyvern

officiel

Serveur MCP d'automatisation de navigateur alimenté par IA — naviguer sur des sites, remplir des formulaires, extraire des données et gérer les connexions via Claude Code CLI

Que pouvez-vous faire avec Skyvern MCP ?

  • Run browser tasks from natural language prompts — Use skyvern.run_task to navigate websites and complete goals like "Find the top post on HackerNews today."

  • Extract structured data with a schema — Pass a data_extraction_schema to skyvern.run_task to get consistent JSON output matching your defined properties.

  • Control your own Chrome browser — Connect Skyvern to a local Chrome instance via remote debugging to automate sites using your existing cookies and logins.

  • Execute AI-powered page interactions — Use page.act, page.extract, page.validate, or page.agent.run_task to interact with pages using natural language instead of selectors.

  • Chain multi-step workflows — Build workflows in the UI that combine browser tasks, data extraction, validation, file downloads, and HTTP requests into a single automated sequence.

Documentation


🐉 Automatisez les workflows basés sur navigateur à l'aide de LLMs et de la vision par ordinateur 🐉

Skyvern automatise les workflows basés sur navigateur en utilisant des LLMs et la vision par ordinateur. Il fournit un SDK compatible Playwright qui ajoute des fonctionnalités d'IA par-dessus Playwright, ainsi qu'un constructeur de workflow sans code pour aider les utilisateurs techniques et non techniques à automatiser des workflows manuels sur n'importe quel site web, remplaçant ainsi les solutions d'automatisation fragiles ou peu fiables.

Les approches traditionnelles d'automatisation de navigateur nécessitaient l'écriture de scripts personnalisés pour les sites web, reposant souvent sur l'analyse du DOM et des interactions basées sur XPath qui se brisaient à chaque changement de mise en page du site.

Au lieu de se fier uniquement aux interactions XPath définies par code, Skyvern s'appuie sur des LLMs de vision pour apprendre et interagir avec les sites web.

Comment ça fonctionne

Skyvern a été inspiré par la conception d'agent autonome axé sur les tâches popularisée par BabyAGI et AutoGPT -- avec un avantage majeur : nous donnons à Skyvern la capacité d'interagir avec les sites web en utilisant des bibliothèques d'automatisation de navigateur comme Playwright.

Skyvern utilise un essaim d'agents pour comprendre un site web, planifier et exécuter ses actions :

Cette approche présente plusieurs avantages :

  1. Skyvern peut opérer sur des sites web qu'il n'a jamais vus auparavant, car il est capable de mapper les éléments visuels aux actions nécessaires pour accomplir un workflow, sans aucun code personnalisé
  2. Skyvern résiste aux changements de mise en page des sites web, car il n'y a pas de XPaths prédéterminés ou d'autres sélecteurs que notre système recherche lors de la navigation
  3. Skyvern est capable de prendre un seul workflow et de l'appliquer à un grand nombre de sites web, car il peut raisonner sur les interactions nécessaires pour accomplir le workflow Un rapport technique détaillé peut être trouvé ici.

Démo

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

Démarrage rapide

Skyvern Cloud

Skyvern Cloud est une version cloud gérée de Skyvern qui vous permet d'exécuter Skyvern sans vous soucier de l'infrastructure. Il vous permet d'exécuter plusieurs instances Skyvern en parallèle et est livré avec des mécanismes de détection anti-bot, un réseau proxy et des solveurs de CAPTCHA.

Si vous souhaitez l'essayer, rendez-vous sur app.skyvern.com et créez un compte.

Exécution locale (UI + Serveur)

Choisissez votre méthode de configuration préférée :

Base de données par défaut : skyvern quickstart et skyvern run server utilisent par défaut une base de données SQLite à ~/.skyvern/data.db, donc le chemin pip fonctionne sans Postgres ni Docker. Pour utiliser Postgres à la place, passez --postgres pour un conteneur local ou --database-string pour une base de données existante. Docker Compose utilise toujours le service Postgres inclus.

Option A : installation pip (Recommandée pour une configuration locale gérée par Python)

Dépendances nécessaires :

De plus, pour Windows :

  • Rust
  • VS Code avec les outils de développement C++ et le SDK Windows

1. Installer Skyvern

pip install "skyvern[all]"

2. Exécuter Skyvern

skyvern quickstart

Le démarrage rapide pip utilise SQLite par défaut. Pour un conteneur Postgres local, exécutez skyvern quickstart --postgres.

Option B : Docker Compose

Utilisez cette option si vous voulez tout conteneuriser (Postgres, API, UI) et ne souhaitez pas installer Python/Node localement.

  1. Installez Docker Desktop
  2. Clonez le dépôt :
    git clone https://github.com/skyvern-ai/skyvern.git && cd skyvern
    
  3. Configurez votre fournisseur LLM dans .env (la commande quickstart --docker-compose ci-dessous le créera à partir de .env.example s'il est manquant) :
    cp .env.example .env  # if not already created
    # edit .env to add your LLM API key
    
  4. Démarrez tout :
    docker compose up -d
    
  5. Ouvrez http://localhost:8080

Dépannage

(sqlite3.OperationalError) table organizations already exists — Vous avez rencontré un bug connu dans pip install skyvern==1.0.31. Correction :

rm ~/.skyvern/data.db   # remove the leftover SQLite file
pip install --upgrade skyvern   # 1.0.32+ contains the fix
skyvern quickstart

Si vous êtes toujours sur la version 1.0.31 et ne pouvez pas mettre à niveau, installez via uv à la place :

uv pip install skyvern

pip install skyvern échoue avec ResolutionImpossible (litellm / fastmcp) — Vous avez rencontré un conflit de résolution de dépendances dans la version 1.0.31. Soit mettez à niveau vers la version 1.0.32+, soit utilisez uv : uv pip install skyvern.

SDK

Skyvern est une extension Playwright qui ajoute l'automatisation de navigateur alimentée par l'IA. Il vous donne toute la puissance de Playwright avec des capacités d'IA supplémentaires — utilisez des invites en langage naturel pour interagir avec les éléments, extraire des données et automatiser des workflows complexes en plusieurs étapes.

Installation :

  • SDK Python / API cloud : pip install skyvern
  • Serveur local + UI packagée : pip install "skyvern[all]" puis exécutez skyvern quickstart
  • Serveur local + UI packagée avec Postgres : pip install "skyvern[all]" puis exécutez skyvern quickstart --postgres
  • UI packagée pour une API existante : pip install "skyvern[ui]" puis exécutez skyvern run ui --api-url <api-url> --api-key <api-key>
  • TypeScript : npm install @skyvern/client

Commandes de page alimentées par l'IA

Skyvern ajoute quatre commandes IA principales directement sur l'objet page :

CommandeDescription
page.act(prompt)Effectuer des actions en utilisant le langage naturel (par exemple, « Cliquer sur le bouton de connexion »)
page.extract(prompt, schema)Extraire des données structurées de la page avec un schéma JSON optionnel
page.validate(prompt)Valider l'état de la page, retourne bool (par exemple, « Vérifier si l'utilisateur est connecté »)
page.prompt(prompt, schema)Envoyer des invites arbitraires au LLM avec un schéma de réponse optionnel

De plus, page.agent fournit des commandes de workflow de plus haut niveau :

CommandeDescription
page.agent.run_task(prompt)Exécuter des tâches complexes en plusieurs étapes
page.agent.login(credential_type, credential_id)S'authentifier avec des identifiants stockés (Skyvern, Bitwarden, 1Password)
page.agent.download_files(prompt)Naviguer et télécharger des fichiers
page.agent.run_workflow(workflow_id)Exécuter des workflows prédéfinis

Actions Playwright augmentées par l'IA

Toutes les actions Playwright standard prennent en charge un paramètre optionnel prompt pour la localisation d'éléments alimentée par l'IA :

ActionPlaywrightAugmentée par l'IA
Clicpage.click("#btn")page.click(prompt="Click login button")
Remplirpage.fill("#email", "[email protected]")page.fill(prompt="Email field", value="[email protected]")
Sélectionnerpage.select_option("#country", "US")page.select_option(prompt="Country dropdown", value="US")
Téléverserpage.upload_file("#file", "doc.pdf")page.upload_file(prompt="Upload area", files="doc.pdf")

Trois modes d'interaction :

# 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")

Commandes IA principales - Exemples

# 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")

Exemples de démarrage rapide

Exécuter via l'UI :

skyvern run all

Naviguez vers http://localhost:8080 pour exécuter des tâches via l'interface web. Si l'UI packagée est manquante, skyvern run ui proposera d'installer le package UI correspondant. Pour une configuration non interactive, utilisez skyvern run ui --install-ui ou skyvern run all --install-ui.

Pour exécuter uniquement l'UI packagée contre une API Skyvern existante, installez skyvern[ui] et passez --api-url ; le CLI déduit --wss-url de l'URL de l'API sauf si vous le remplacez. Vous pouvez également définir VITE_API_BASE_URL, VITE_WSS_BASE_URL, VITE_ARTIFACT_API_BASE_URL, VITE_SKYVERN_API_KEY, et VITE_BROWSER_STREAMING_MODE avant d'exécuter skyvern run ui.

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

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();

Exécution de tâche simple :

from skyvern import Skyvern

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

Utilisation avancée

Contrôlez votre propre navigateur (Chrome)

Laissez Skyvern contrôler votre navigateur Chrome existant — avec tous vos cookies, connexions et extensions.

Étape 1 : Activer le débogage à distance dans Chrome

  1. Ouvrez Chrome et naviguez vers chrome://inspect/#remote-debugging
  2. Cliquez sur Activer pour démarrer le serveur de débogage
  3. Vous devriez voir : Serveur en cours d'exécution sur : 127.0.0.1:9222

[!ASTUCE] La commande skyvern init browser peut le faire automatiquement — elle ouvre chrome://inspect/#remote-debugging, attend que vous l'activiez et enregistre la configuration.

Étape 2 : Connecter Skyvern

Option A — 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 — Service Skyvern :

Ajoutez deux variables à votre fichier .env :

BROWSER_TYPE=cdp-connect
BROWSER_REMOTE_DEBUGGING_URL=http://127.0.0.1:9222

Redémarrez le service Skyvern skyvern run all et exécutez la tâche via l'UI ou le code

Connecter Skyvern Cloud à votre navigateur local

Laissez Skyvern Cloud contrôler un navigateur Chrome s'exécutant sur votre machine — avec tous vos cookies, connexions et extensions existants. Utile pour automatiser des sites où vous êtes déjà connecté ou derrière un VPN.

# One command to start Chrome + create a tunnel to Skyvern Cloud
skyvern browser serve --tunnel

Utilisez ensuite l'URL du tunnel dans votre tâche :

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",
)

[!AVERTISSEMENT] Utilisez toujours --api-key lorsque vous exposez votre navigateur via un tunnel. Sans cela, toute personne ayant l'URL a un contrôle total sur votre navigateur. Consultez la documentation de sécurité.

Consultez la documentation complète pour toutes les options, la configuration manuelle du tunnel et le dépannage.

Obtenir un schéma de sortie cohérent de votre exécution

Vous pouvez le faire en ajoutant le paramètre data_extraction_schema :

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"
            }
        }
    }
)

Commandes utiles pour déboguer les problèmes

# 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

Performance et évaluation

Skyvern a des performances de pointe sur le benchmark WebBench avec une précision de 64,4 %. Le rapport technique + l'évaluation peuvent être trouvés ici

Performance sur les tâches WRITE (par exemple, remplir des formulaires, se connecter, télécharger des fichiers, etc.)

Skyvern est l'agent le plus performant sur les tâches WRITE (par exemple, remplir des formulaires, se connecter, télécharger des fichiers, etc.), qui sont principalement utilisées pour les tâches adjacentes à la RPA (automatisation robotisée des processus).

Fonctionnalités de Skyvern

Tâches Skyvern

Les tâches sont le bloc de construction fondamental à l'intérieur de Skyvern. Chaque tâche est une requête unique à Skyvern, lui demandant de naviguer sur un site web et d'accomplir un objectif spécifique.

Les tâches nécessitent que vous spécifiiez un url, prompt, et peuvent optionnellement inclure un data schema (si vous voulez que la sortie soit conforme à un schéma spécifique) et error codes (si vous voulez que Skyvern cesse de s'exécuter dans des situations spécifiques).

Workflows Skyvern

Les workflows sont un moyen d'enchaîner plusieurs tâches pour former une unité de travail cohérente.

Par exemple, si vous vouliez télécharger toutes les factures postérieures au 1er janvier, vous pourriez créer un workflow qui navigue d'abord vers la page des factures, puis filtre pour n'afficher que les factures postérieures au 1er janvier, extrait une liste de toutes les factures éligibles, et itère sur chaque facture pour la télécharger.

Un autre exemple est si vous vouliez automatiser l'achat de produits sur un site de commerce électronique, vous pourriez créer un workflow qui navigue d'abord vers le produit désiré, puis l'ajoute au panier. Ensuite, il naviguerait vers le panier et validerait l'état du panier. Enfin, il passerait par le processus de paiement pour acheter les articles.

Les fonctionnalités de workflow prises en charge incluent :

  1. Tâche de navigateur
  2. Action de navigateur
  3. Extraction de données
  4. Validation
  5. Boucles For
  6. Analyse de fichiers
  7. Envoi d'e-mails
  8. Invites textuelles
  9. Bloc de requête HTTP
  10. Bloc de code personnalisé
  11. Téléversement de fichiers vers le stockage de blocs
  12. (Prochainement) Conditions

Diffusion en direct

Skyvern vous permet de diffuser en direct la fenêtre d'affichage du navigateur sur votre machine locale afin que vous puissiez voir exactement ce que Skyvern fait sur le web. Ceci est utile pour le débogage et la compréhension de la façon dont Skyvern interagit avec un site web, et pour intervenir si nécessaire.

Remplissage de formulaires

Skyvern est nativement capable de remplir les champs de formulaire sur les sites web. Passer des informations via le navigation_goal permettra à Skyvern de comprendre les informations et de remplir le formulaire en conséquence.

Extraction de données

Skyvern est également capable d'extraire des données d'un site web.

Vous pouvez également spécifier un data_extraction_schema directement dans l'invite principale pour indiquer à Skyvern exactement quelles données vous souhaitez extraire du site web, au format jsonc. La sortie de Skyvern sera structurée conformément au schéma fourni.

Téléchargement de fichiers

Skyvern est également capable de télécharger des fichiers depuis un site web. Tous les fichiers téléchargés sont automatiquement téléversés vers le stockage de blocs (si configuré), et vous pouvez y accéder via l'UI.

Authentification

Skyvern prend en charge un certain nombre de méthodes d'authentification différentes pour faciliter l'automatisation des tâches derrière une connexion. Si vous souhaitez l'essayer, veuillez nous contacter par e-mail ou discord.

🔐 Support 2FA (TOTP)

Skyvern prend en charge un certain nombre de méthodes 2FA différentes pour vous permettre d'automatiser les workflows qui nécessitent une 2FA.

Les exemples incluent :

  1. 2FA basée sur QR (par exemple, Google Authenticator, Authy)
  2. 2FA basée sur e-mail
  3. 2FA basée sur SMS

🔐 En savoir plus sur le support 2FA ici.

Intégrations de gestionnaire de mots de passe

Skyvern prend actuellement en charge les intégrations de gestionnaire de mots de passe suivantes :

  • Bitwarden
  • Service d'identifiants personnalisé (API HTTP)
  • 1Password
  • LastPass

Protocole de contexte de modèle (MCP)

Skyvern prend en charge le protocole de contexte de modèle (MCP) pour vous permettre d'utiliser n'importe quel LLM qui prend en charge MCP.

Consultez la documentation MCP ici

Intégration Zapier / Make.com / N8N

Skyvern prend en charge Zapier, Make.com et N8N pour vous permettre de connecter vos workflows Skyvern à d'autres applications.

🔐 En savoir plus sur le support 2FA ici.

Exemples concrets d'utilisation de Skyvern

Nous aimons voir comment Skyvern est utilisé dans la nature. Voici quelques exemples de la façon dont Skyvern est utilisé pour automatiser des workflows dans le monde réel. Veuillez ouvrir des PRs pour ajouter vos propres exemples !

Téléchargement de factures sur de nombreux sites web différents

Réservez une démo pour le voir en direct

Automatiser le processus de candidature à un emploi

💡 Voir en action

Automatiser l'approvisionnement en matériaux pour une entreprise manufacturière

💡 Voir en action

Naviguer vers des sites web gouvernementaux pour enregistrer des comptes ou remplir des formulaires

💡 Voir en action

Remplir des formulaires de contact aléatoires

💡 Voir en action

Récupérer des devis d'assurance auprès de fournisseurs d'assurance dans n'importe quelle langue

💡 Voir en action

💡 Voir en action

Configuration du contributeur

Assurez-vous d'avoir uv installé.

  1. Exécutez ceci pour créer votre environnement virtuel (.venv)
    uv sync --group dev
    
  2. Effectuez la configuration initiale du serveur
    uv run skyvern quickstart
    
  3. Naviguez vers http://localhost:8080 dans votre navigateur pour commencer à utiliser l'UI Le CLI Skyvern prend en charge les environnements Windows, WSL, macOS et Linux.

Documentation

Une documentation plus complète peut être trouvée sur notre 📕 page docs. Veuillez nous faire savoir si quelque chose n'est pas clair ou manquant en ouvrant une issue ou en nous contactant par e-mail ou discord.

LLMs pris en charge

FournisseurModèles pris en charge
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 OpenAITous les modèles GPT déployés sur votre abonnement Azure
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
OllamaExécutez n'importe quel modèle hébergé localement via Ollama
OpenRouterAccédez aux modèles via OpenRouter
Compatible OpenAITout point de terminaison API personnalisé qui suit le format API d'OpenAI (via liteLLM)

Pour une configuration LLM détaillée incluant toutes les clés de modèle disponibles, les variables d'environnement et les configurations multi-modèles, consultez la documentation de configuration LLM.

Contribuer

Nous accueillons les PRs et les suggestions ! N'hésitez pas à ouvrir une PR/issue ou à nous contacter par e-mail ou discord. Veuillez consulter notre guide de contribution et les issues « Help Wanted » pour commencer !

Si vous souhaitez discuter avec le dépôt Skyvern pour obtenir un aperçu de haut niveau de sa structure, comment construire dessus et comment résoudre les questions d'utilisation, consultez Code Sage.

Télémétrie

Par défaut, Skyvern collecte des statistiques d'utilisation de base pour nous aider à comprendre comment Skyvern est utilisé. Si vous souhaitez désactiver la télémétrie, veuillez définir la variable d'environnement SKYVERN_TELEMETRY sur false.

Licence

Le dépôt open source de Skyvern est soutenu via un cloud géré. Toute la logique de base alimentant Skyvern est disponible dans ce dépôt open source sous licence AGPL-3.0, à l'exception des mesures anti-bot disponibles dans notre offre cloud gérée.

Si vous avez des questions ou des préoccupations concernant les licences, veuillez nous contacter et nous serons heureux de vous aider.

Historique des étoiles

Star History Chart