Retour aux mises à jour
New releaseAug 5, 2026

skyvern v1.0.48

Automatisez les workflows basés sur navigateur avec l'IA

Partager


🐉 Automatiser les workflows basés sur le navigateur en utilisant les LLM et la vision par ordinateur 🐉

Skyvern automatise les workflows basés sur le navigateur en utilisant les LLM et la vision par ordinateur. Il fournit un SDK compatible avec Playwright qui ajoute des fonctionnalités d'IA par-dessus Playwright, ainsi qu'un constructeur de workflows 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 de l'automatisation des navigateurs nécessitaient l'écriture de scripts personnalisés pour les sites web, souvent basés sur l'analyse du DOM et des interactions XPath, qui cassaient dès que la mise en page du site changeait.

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

Comment ça marche

Skyvern a été inspiré par la conception d'agent autonome piloté par 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 fonctionner 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 code personnalisé
  2. Skyvern résiste aux changements de mise en page des sites, car il n'y a pas de XPath 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é est disponible 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. Elle vous permet d'exécuter plusieurs instances Skyvern en parallèle et est livrée avec des mécanismes de détection anti-bot, un réseau proxy et des ré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 dans ~/.skyvern/data.db afin que 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 fourni.

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

Dépendances nécessaires :

En outre, pour Windows :

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

1. Installer Skyvern```bash

pip install "skyvern[all]"

#### 2. Exécuter Skyvern```bash
skyvern quickstart

Le démarrage rapide avec 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 voulez pas installer Python/Node localement.

  1. Installez Docker Desktop
  2. Clonez le dépôt : ```bash 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 manque) : ```bash cp .env.example .env # if not already created

    edit .env to add your LLM API key

  4. Démarrer tout : ```bash 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:```bash 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 1.0.31 et que vous ne pouvez pas mettre à jour, installez via uv à la place :```bash
uv pip install skyvern

pip install skyvern échoue avec ResolutionImpossible (litellm / fastmcp) — Vous rencontrez un conflit de résolution de dépendances dans la version 1.0.31. Soit mettez à jour vers 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 IA. Elle vous offre toute la puissance de Playwright avec des capacités 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 pilotées par IA

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

CommandeDescription
page.act(prompt)Effectuez des actions en langage naturel (par exemple, « Cliquez sur le bouton de connexion »)
page.extract(prompt, schema)Extrayez des données structurées de la page avec un schéma JSON optionnel
page.validate(prompt)Validez l'état de la page, renvoie un bool (par exemple, « Vérifiez si l'utilisateur est connecté »)
page.prompt(prompt, schema)Envoyez 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écutez des tâches complexes en plusieurs étapes
page.agent.login(credential_type, credential_id)Authentifiez-vous avec des identifiants stockés (Skyvern, Bitwarden, 1Password)
page.agent.download_files(prompt)Naviguez et téléchargez des fichiers
page.agent.run_workflow(workflow_id)Exécutez des workflows pré-construits

Actions Playwright augmentées par IA

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

ActionPlaywrightAugmenté par IA
Cliquerpage.click("#btn")page.click(prompt="Cliquez sur le bouton de connexion")
Remplirpage.fill("#email", "[email protected]")page.fill(prompt="Champ email", value="[email protected]")
Sélectionnerpage.select_option("#country", "US")page.select_option(prompt="Menu déroulant pays", value="US")
Téléverserpage.upload_file("#file", "doc.pdf")page.upload_file(prompt="Zone de téléversement", files="doc.pdf")

Trois modes d'interaction :```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")

### Commandes IA principales - Exemples```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")

Exemples de démarrage rapide

Exécution via l'interface utilisateur :```bash skyvern run all

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

Pour exécuter uniquement l'interface utilisateur 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`.

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

**Exécution simple de tâche :**```python
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ôler votre propre navigateur (Chrome)

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

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

  1. Ouvrez Chrome et allez sur 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 à : 127.0.0.1:9222

[!TIP] 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 :```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 :```bash
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'interface utilisateur ou le code

Connecter Skyvern Cloud à votre navigateur local

Laissez Skyvern Cloud contrôler un navigateur Chrome exécuté sur votre machine — avec tous vos cookies, identifiants et extensions existants. Utile pour automatiser des sites sur lesquels vous êtes déjà connecté ou derrière un VPN.```bash

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

skyvern browser serve --tunnel

Ensuite, utilisez l'URL du tunnel dans votre tâche :```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] 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.

Obtenez un schéma de sortie cohérent pour votre exécution

Vous pouvez le faire en ajoutant le paramètre 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" } } } )

### Commandes utiles pour déboguer les problèmes```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

Performance & Évaluation

Skyvern a une performance de pointe sur le benchmark WebBench avec une précision de 64,4 %. Le rapport technique + l’évaluation sont disponibles ici.

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

Skyvern est l’agent le plus performant sur les tâches WRITE (ex : remplir des formulaires, se connecter, télécharger des fichiers, etc.), qui sont principalement utilisées pour des tâches connexes à la RPA (Robotic Process Automation).

Fonctionnalités de Skyvern

Tâches Skyvern

Les tâches sont les briques fondamentales de Skyvern. Chaque tâche est une requête unique envoyée à Skyvern, lui demandant de naviguer sur un site web et d’accomplir un objectif précis.

Les tâches nécessitent de spécifier une url, un prompt, et peuvent éventuellement inclure un schema de données (si vous voulez que la sortie soit conforme à un schéma spécifique) et des codes d'erreur (si vous voulez que Skyvern s’arrête dans certaines situations).

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 voulez télécharger toutes les factures postérieures au 1er janvier, vous pouvez créer un workflow qui navigue d’abord vers la page des factures, puis les filtre pour n’afficher que celles postérieures au 1er janvier, extrait la liste de toutes les factures éligibles et parcourt chaque facture pour la télécharger.

Un autre exemple : si vous voulez automatiser l’achat de produits sur une boutique en ligne, vous pouvez créer un workflow qui navigue d’abord vers le produit souhaité, puis l’ajoute au panier. Ensuite, il navigue vers le panier et valide l’état du panier. Enfin, il passe par le processus de paiement pour acheter les articles.

Les fonctionnalités de workflow prises en charge incluent :

  1. Tâche navigateur
  2. Action 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échargement de fichiers vers le stockage bloc
  12. (Bientôt disponible) Conditionnelles

Diffusion en direct

Skyvern vous permet de diffuser en direct la zone d’affichage du navigateur vers votre machine locale afin que vous puissiez voir exactement ce que Skyvern fait sur le web. Cela est utile pour le débogage et pour comprendre comment Skyvern interagit avec un site web, et pour intervenir si nécessaire.

Remplissage de formulaires

Skyvern est nativement capable de remplir les champs de formulaires sur les sites web. En passant des informations via navigation_goal, Skyvern peut comprendre les informations et 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 aussi spécifier un data_extraction_schema directement dans le prompt principal 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 envoyés vers le stockage bloc (si configuré), et vous pouvez y accéder via l’interface utilisateur.

Authentification

Skyvern prend en charge plusieurs méthodes d’authentification pour faciliter l’automatisation des tâches derrière une connexion. Si vous souhaitez l’essayer, contactez-nous par e-mail ou sur discord.

🔐 Prise en charge de la 2FA (TOTP)

Skyvern prend en charge plusieurs méthodes de 2FA pour vous permettre d’automatiser les workflows nécessitant une 2FA.

Exemples :

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

🔐 En savoir plus sur la prise en charge de la 2FA ici.

Intégrations de gestionnaires de mots de passe

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

  • Bitwarden
  • Service d’identification personnalisé (API HTTP)
  • 1Password
  • LastPass

Model Context Protocol (MCP)

Skyvern prend en charge le Model Context Protocol (MCP) pour vous permettre d’utiliser n’importe quel LLM prenant en charge MCP.

Voir 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 la prise en charge de la 2FA ici.

Exemples concrets d’utilisation de Skyvern

Nous aimons voir comment Skyvern est utilisé dans la nature. Voici quelques exemples d’utilisation de Skyvern pour automatiser des workflows concrets. N’hésitez pas à ouvrir des PR 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

Automatisez le processus de candidature

💡 Voir en action

Automatisez l’approvisionnement en matériel pour une entreprise manufacturière

💡 Voir en action

💡 Voir en action

Remplir des formulaires de contact aléatoires

💡 Voir en action

Obtenir des devis d’assurance auprès de compagnies d’assurance dans n’importe quelle langue

💡 Voir en action

💡 Voir en action

Configuration pour les contributeurs

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. Accédez à http://localhost:8080 dans votre navigateur pour commencer à utiliser l’interface utilisateur La CLI Skyvern prend en charge Windows, WSL, macOS et Linux.

Documentation

Une documentation plus complète est disponible sur notre 📕 page de documentation. N’hésitez pas à nous faire savoir si quelque chose n’est pas clair ou manque en ouvrant une issue ou en nous contactant par e-mail ou sur 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 OpenAITout modèle GPT déployé 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 tout 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 détaillée des LLM comprenant toutes les clés de modèle disponibles, les variables d’environnement et les configurations multi-modèles, consultez la documentation sur la configuration LLM.

Contribuer

Nous accueillons volontiers les PR et les suggestions ! N’hésitez pas à ouvrir une PR/issue ou à nous contacter par e-mail ou sur discord. Consultez notre guide de contribution et les issues “Help Wanted” pour commencer !

Si vous souhaitez discuter avec le dépôt skyvern pour obtenir une vue d’ensemble de sa structure, de la manière de l’étendre et de résoudre les questions d’utilisation, consultez Code Sage.

Télémétrie

Par défaut, Skyvern collecte des statistiques d’utilisation basiques pour nous aider à comprendre comment Skyvern est utilisé. Si vous souhaitez vous désinscrire de 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 par un cloud géré. Toute la logique principale qui alimente 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 la licence, contactez-nous et nous serons heureux de vous aider.

Historique des étoiles

Star History Chart

Catégories