Skyvern

resmi

Server MCP otomatisasi browser bertenaga AI — navigasi situs, isi formulir, ekstrak data, dan tangani login melalui Claude Code CLI

Apa yang bisa Anda lakukan dengan Skyvern MCP?

  • Jalankan tugas browser dari perintah bahasa alami — Gunakan skyvern.run_task untuk menavigasi situs web dan menyelesaikan tujuan seperti "Temukan posting teratas di HackerNews hari ini."

  • Ekstrak data terstruktur dengan skema — Berikan data_extraction_schema ke skyvern.run_task untuk mendapatkan output JSON yang konsisten sesuai dengan properti yang Anda tentukan.

  • Kontrol browser Chrome Anda sendiri — Hubungkan Skyvern ke instance Chrome lokal melalui debugging jarak jauh untuk mengotomatiskan situs menggunakan cookie dan login yang sudah ada.

  • Lakukan interaksi halaman bertenaga AI — Gunakan page.act, page.extract, page.validate, atau page.agent.run_task untuk berinteraksi dengan halaman menggunakan bahasa alami, bukan pemilih (selector).

  • Rangkai alur kerja multi-langkah — Buat alur kerja di UI yang menggabungkan tugas browser, ekstraksi data, validasi, unduhan file, dan permintaan HTTP menjadi satu urutan otomatis.

Dokumentasi


🐉 Otomatiskan alur kerja berbasis Browser menggunakan LLM dan Computer Vision 🐉

Skyvern mengotomatiskan alur kerja berbasis browser menggunakan LLM dan computer vision. Ini menyediakan SDK yang kompatibel dengan Playwright yang menambahkan fungsionalitas AI di atas playwright, serta pembangun alur kerja tanpa kode untuk membantu pengguna teknis dan non-teknis mengotomatiskan alur kerja manual di situs web mana pun, menggantikan solusi otomatisasi yang rapuh atau tidak dapat diandalkan.

Pendekatan tradisional untuk otomatisasi browser memerlukan penulisan skrip khusus untuk situs web, seringkali bergantung pada parsing DOM dan interaksi berbasis XPath yang akan rusak setiap kali tata letak situs web berubah.

Alih-alih hanya mengandalkan interaksi XPath yang ditentukan kode, Skyvern mengandalkan Vision LLM untuk mempelajari dan berinteraksi dengan situs web.

Cara kerjanya

Skyvern terinspirasi oleh desain agen otonom Berbasis Tugas yang dipopulerkan oleh BabyAGI dan AutoGPT -- dengan satu bonus utama: kami memberikan Skyvern kemampuan untuk berinteraksi dengan situs web menggunakan pustaka otomatisasi browser seperti Playwright.

Skyvern menggunakan sekumpulan agen untuk memahami situs web, dan merencanakan serta menjalankan tindakannya:

Pendekatan ini memiliki beberapa keuntungan:

  1. Skyvern dapat beroperasi di situs web yang belum pernah dilihatnya sebelumnya, karena mampu memetakan elemen visual ke tindakan yang diperlukan untuk menyelesaikan alur kerja, tanpa kode khusus apa pun
  2. Skyvern tahan terhadap perubahan tata letak situs web, karena tidak ada XPath atau pemilih lain yang telah ditentukan sebelumnya yang dicari sistem kami saat mencoba bernavigasi
  3. Skyvern mampu mengambil satu alur kerja dan menerapkannya ke sejumlah besar situs web, karena mampu menalar melalui interaksi yang diperlukan untuk menyelesaikan alur kerja Laporan teknis terperinci dapat ditemukan di sini.

Demo

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

Mulai Cepat

Skyvern Cloud

Skyvern Cloud adalah versi cloud terkelola dari Skyvern yang memungkinkan Anda menjalankan Skyvern tanpa mengkhawatirkan infrastruktur. Ini memungkinkan Anda menjalankan beberapa instans Skyvern secara paralel dan dilengkapi dengan mekanisme deteksi anti-bot, jaringan proxy, dan pemecah CAPTCHA.

Jika Anda ingin mencobanya, navigasikan ke app.skyvern.com dan buat akun.

Jalankan Secara Lokal (UI + Server)

Pilih metode pengaturan pilihan Anda:

Default basis data: skyvern quickstart dan skyvern run server secara default menggunakan basis data SQLite di ~/.skyvern/data.db sehingga jalur pip berfungsi tanpa Postgres atau Docker. Untuk menggunakan Postgres sebagai gantinya, berikan --postgres untuk kontainer lokal atau --database-string untuk basis data yang sudah ada. Docker Compose selalu menggunakan layanan Postgres yang dibundel.

Opsi A: instalasi pip (Direkomendasikan untuk pengaturan lokal yang dikelola Python)

Dependensi yang dibutuhkan:

Selain itu, untuk Windows:

  • Rust
  • VS Code dengan alat pengembang C++ dan Windows SDK

1. Instal Skyvern

pip install "skyvern[all]"

2. Jalankan Skyvern

skyvern quickstart

Mulai cepat pip menggunakan SQLite secara default. Untuk kontainer Postgres lokal, jalankan skyvern quickstart --postgres.

Opsi B: Docker Compose

Gunakan opsi ini jika Anda ingin semuanya terkontainerisasi (Postgres, API, UI) dan tidak ingin menginstal Python/Node secara lokal.

  1. Instal Docker Desktop
  2. Kloning repositori:
    git clone https://github.com/skyvern-ai/skyvern.git && cd skyvern
    
  3. Konfigurasikan penyedia LLM Anda di .env (perintah quickstart --docker-compose di bawah akan membuatnya dari .env.example jika tidak ada):
    cp .env.example .env  # if not already created
    # edit .env to add your LLM API key
    
  4. Mulai semuanya:
    docker compose up -d
    
  5. Buka http://localhost:8080

Pemecahan Masalah

(sqlite3.OperationalError) table organizations already exists — Anda mengalami bug yang diketahui di pip install skyvern==1.0.31. Perbaikan:

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

Jika Anda masih menggunakan 1.0.31 dan tidak dapat meningkatkan, instal melalui uv sebagai gantinya:

uv pip install skyvern

pip install skyvern gagal dengan ResolutionImpossible (litellm / fastmcp) — Anda mengalami konflik resolusi dependensi di 1.0.31. Tingkatkan ke 1.0.32+ atau gunakan uv: uv pip install skyvern.

SDK

Skyvern adalah ekstensi Playwright yang menambahkan otomatisasi browser bertenaga AI. Ini memberi Anda kekuatan penuh Playwright dengan kemampuan AI tambahan—gunakan perintah bahasa alami untuk berinteraksi dengan elemen, mengekstrak data, dan mengotomatiskan alur kerja multi-langkah yang kompleks.

Instalasi:

  • Python SDK / API cloud: pip install skyvern
  • Server lokal + UI yang dikemas: pip install "skyvern[all]" lalu jalankan skyvern quickstart
  • Server lokal + UI yang dikemas dengan Postgres: pip install "skyvern[all]" lalu jalankan skyvern quickstart --postgres
  • UI yang dikemas untuk API yang sudah ada: pip install "skyvern[ui]" lalu jalankan skyvern run ui --api-url <api-url> --api-key <api-key>
  • TypeScript: npm install @skyvern/client

Perintah Halaman Bertenaga AI

Skyvern menambahkan empat perintah AI inti langsung pada objek halaman:

PerintahDeskripsi
page.act(prompt)Lakukan tindakan menggunakan bahasa alami (mis., "Klik tombol login")
page.extract(prompt, schema)Ekstrak data terstruktur dari halaman dengan skema JSON opsional
page.validate(prompt)Validasi status halaman, mengembalikan bool (mis., "Periksa apakah pengguna sudah login")
page.prompt(prompt, schema)Kirim perintah arbitrer ke LLM dengan skema respons opsional

Selain itu, page.agent menyediakan perintah alur kerja tingkat lebih tinggi:

PerintahDeskripsi
page.agent.run_task(prompt)Jalankan tugas multi-langkah yang kompleks
page.agent.login(credential_type, credential_id)Otentikasi dengan kredensial tersimpan (Skyvern, Bitwarden, 1Password)
page.agent.download_files(prompt)Navigasi dan unduh file
page.agent.run_workflow(workflow_id)Jalankan alur kerja yang sudah dibuat sebelumnya

Tindakan Playwright yang Ditambah AI

Semua tindakan Playwright standar mendukung parameter prompt opsional untuk lokasi elemen bertenaga AI:

TindakanPlaywrightDitambah AI
Klikpage.click("#btn")page.click(prompt="Click login button")
Isipage.fill("#email", "a@b.com")page.fill(prompt="Email field", value="a@b.com")
Pilihpage.select_option("#country", "US")page.select_option(prompt="Country dropdown", value="US")
Unggahpage.upload_file("#file", "doc.pdf")page.upload_file(prompt="Upload area", files="doc.pdf")

Tiga mode interaksi:

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

Perintah AI Inti - Contoh

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

Contoh Mulai Cepat

Jalankan melalui UI:

skyvern run all

Navigasikan ke http://localhost:8080 untuk menjalankan tugas melalui antarmuka web. Jika UI yang dikemas tidak ada, skyvern run ui akan menawarkan untuk menginstal paket UI yang cocok. Untuk pengaturan non-interaktif, gunakan skyvern run ui --install-ui atau skyvern run all --install-ui.

Untuk menjalankan hanya UI yang dikemas terhadap API Skyvern yang sudah ada, instal skyvern[ui] dan berikan --api-url; CLI menyimpulkan --wss-url dari URL API kecuali Anda menimpanya. Anda juga dapat mengatur VITE_API_BASE_URL, VITE_WSS_BASE_URL, VITE_ARTIFACT_API_BASE_URL, VITE_SKYVERN_API_KEY, dan VITE_BROWSER_STREAMING_MODE sebelum menjalankan skyvern run ui.

Python SDK:

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:

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

Eksekusi tugas sederhana:

from skyvern import Skyvern

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

Penggunaan Lanjutan

Kontrol browser Anda sendiri (Chrome)

Biarkan Skyvern mengontrol browser Chrome Anda yang sudah ada — dengan semua cookie, login, dan ekstensi Anda.

Langkah 1: Aktifkan debugging jarak jauh di Chrome

  1. Buka Chrome dan navigasikan ke chrome://inspect/#remote-debugging
  2. Klik Aktifkan untuk memulai server debugging
  3. Anda akan melihat: Server berjalan di: 127.0.0.1:9222

[!TIP] Perintah skyvern init browser dapat melakukan ini secara otomatis — ini membuka chrome://inspect/#remote-debugging, menunggu Anda mengaktifkannya, dan menyimpan konfigurasi.

Langkah 2: Hubungkan Skyvern

Opsi A — Kode 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",
)

Opsi B — Layanan Skyvern:

Tambahkan dua variabel ke file .env Anda:

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

Mulai ulang layanan Skyvern skyvern run all dan jalankan tugas melalui UI atau kode

Hubungkan Skyvern Cloud ke browser lokal Anda

Biarkan Skyvern Cloud mengontrol browser Chrome yang berjalan di mesin Anda — dengan semua cookie, login, dan ekstensi Anda yang sudah ada. Berguna untuk mengotomatiskan situs di mana Anda sudah login atau di belakang VPN.

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

Kemudian gunakan URL tunnel dalam tugas Anda:

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] Selalu gunakan --api-key saat mengekspos browser Anda melalui tunnel. Tanpanya, siapa pun dengan URL tersebut memiliki kendali penuh atas browser Anda. Lihat dokumen keamanan.

Lihat dokumentasi lengkap untuk semua opsi, pengaturan tunnel manual, dan pemecahan masalah.

Dapatkan skema output yang konsisten dari proses Anda

Anda dapat melakukannya dengan menambahkan parameter 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"
            }
        }
    }
)

Perintah bermanfaat untuk men-debug masalah

# 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

Performa & Evaluasi

Skyvern memiliki performa SOTA pada benchmark WebBench dengan akurasi 64,4%. Laporan teknis + evaluasi dapat ditemukan di sini

Performa pada tugas WRITE (misalnya mengisi formulir, login, mengunduh file, dll)

Skyvern adalah agen dengan performa terbaik pada tugas WRITE (misalnya mengisi formulir, login, mengunduh file, dll), yang terutama digunakan untuk tugas yang berdekatan dengan RPA (Robotic Process Automation).

Fitur Skyvern

Tugas Skyvern

Tugas adalah blok bangunan fundamental di dalam Skyvern. Setiap tugas adalah permintaan tunggal ke Skyvern, yang menginstruksikannya untuk bernavigasi melalui situs web dan mencapai tujuan tertentu.

Tugas mengharuskan Anda menentukan url, prompt, dan secara opsional dapat menyertakan data schema (jika Anda ingin output sesuai dengan skema tertentu) dan error codes (jika Anda ingin Skyvern berhenti berjalan dalam situasi tertentu).

Alur Kerja Skyvern

Alur kerja adalah cara untuk merangkai beberapa tugas bersama-sama untuk membentuk satu unit kerja yang kohesif.

Misalnya, jika Anda ingin mengunduh semua faktur yang lebih baru dari 1 Januari, Anda dapat membuat alur kerja yang pertama-tama menavigasi ke halaman faktur, lalu memfilter untuk hanya menampilkan faktur yang lebih baru dari 1 Januari, mengekstrak daftar semua faktur yang memenuhi syarat, dan mengiterasi setiap faktur untuk mengunduhnya.

Contoh lain adalah jika Anda ingin mengotomatiskan pembelian produk dari toko e-commerce, Anda dapat membuat alur kerja yang pertama-tama menavigasi ke produk yang diinginkan, lalu menambahkannya ke keranjang. Kedua, itu akan menavigasi ke keranjang dan memvalidasi status keranjang. Akhirnya, itu akan melalui proses checkout untuk membeli item.

Fitur alur kerja yang didukung meliputi:

  1. Tugas Browser
  2. Tindakan Browser
  3. Ekstraksi Data
  4. Validasi
  5. Perulangan For
  6. Parsing file
  7. Mengirim email
  8. Perintah Teks
  9. Blok Permintaan HTTP
  10. Blok Kode Kustom
  11. Mengunggah file ke penyimpanan blok
  12. (Segera hadir) Kondisional

Livestreaming

Skyvern memungkinkan Anda melakukan livestream viewport browser ke mesin lokal Anda sehingga Anda dapat melihat dengan tepat apa yang dilakukan Skyvern di web. Ini berguna untuk debugging dan memahami bagaimana Skyvern berinteraksi dengan situs web, dan melakukan intervensi bila perlu

Pengisian Formulir

Skyvern secara native mampu mengisi input formulir di situs web. Memberikan informasi melalui navigation_goal akan memungkinkan Skyvern memahami informasi dan mengisi formulir sesuai dengan itu.

Ekstraksi Data

Skyvern juga mampu mengekstrak data dari situs web.

Anda juga dapat menentukan data_extraction_schema langsung di dalam prompt utama untuk memberi tahu Skyvern data apa yang ingin Anda ekstrak dari situs web, dalam format jsonc. Output Skyvern akan terstruktur sesuai dengan skema yang diberikan.

Pengunduhan File

Skyvern juga mampu mengunduh file dari situs web. Semua file yang diunduh secara otomatis diunggah ke penyimpanan blok (jika dikonfigurasi), dan Anda dapat mengaksesnya melalui UI.

Autentikasi

Skyvern mendukung sejumlah metode autentikasi berbeda untuk memudahkan otomatisasi tugas di balik login. Jika Anda ingin mencobanya, silakan hubungi kami melalui email atau discord.

🔐 Dukungan 2FA (TOTP)

Skyvern mendukung sejumlah metode 2FA berbeda untuk memungkinkan Anda mengotomatiskan alur kerja yang memerlukan 2FA.

Contohnya meliputi:

  1. 2FA berbasis QR (mis. Google Authenticator, Authy)
  2. 2FA berbasis email
  3. 2FA berbasis SMS

🔐 Pelajari lebih lanjut tentang dukungan 2FA di sini.

Integrasi Pengelola Kata Sandi

Skyvern saat ini mendukung integrasi pengelola kata sandi berikut:

  • Bitwarden
  • Layanan Kredensial Kustom (HTTP API)
  • 1Password
  • LastPass

Model Context Protocol (MCP)

Skyvern mendukung Model Context Protocol (MCP) untuk memungkinkan Anda menggunakan LLM apa pun yang mendukung MCP.

Lihat dokumentasi MCP di sini

Integrasi Zapier / Make.com / N8N

Skyvern mendukung Zapier, Make.com, dan N8N untuk memungkinkan Anda menghubungkan alur kerja Skyvern ke aplikasi lain.

🔐 Pelajari lebih lanjut tentang dukungan 2FA di sini.

Contoh nyata penggunaan Skyvern

Kami senang melihat bagaimana Skyvern digunakan di dunia nyata. Berikut adalah beberapa contoh bagaimana Skyvern digunakan untuk mengotomatiskan alur kerja di dunia nyata. Silakan buka PR untuk menambahkan contoh Anda sendiri!

Pengunduhan Faktur di berbagai situs web

Pesan demo untuk melihatnya langsung

Otomatisasi proses lamaran pekerjaan

💡 Lihat aksinya

Otomatisasi pengadaan material untuk perusahaan manufaktur

💡 Lihat aksinya

Menavigasi situs web pemerintah untuk mendaftarkan akun atau mengisi formulir

💡 Lihat aksinya

Mengisi formulir hubungi kami secara acak

💡 Lihat aksinya

Mengambil kutipan asuransi dari penyedia asuransi dalam bahasa apa pun

💡 Lihat aksinya

💡 Lihat aksinya

Pengaturan Kontributor

Pastikan telah menginstal uv.

  1. Jalankan ini untuk membuat lingkungan virtual Anda (.venv)
    uv sync --group dev
    
  2. Lakukan konfigurasi server awal
    uv run skyvern quickstart
    
  3. Buka http://localhost:8080 di peramban Anda untuk mulai menggunakan UI Skyvern CLI mendukung lingkungan Windows, WSL, macOS, dan Linux.

Dokumentasi

Dokumentasi yang lebih lengkap dapat ditemukan di 📕 halaman docs kami. Beri tahu kami jika ada yang kurang jelas atau hilang dengan membuka isu atau menghubungi kami melalui email atau discord.

LLM yang Didukung

PenyediaModel yang Didukung
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 OpenAISemua model GPT yang diterapkan ke langganan Azure Anda
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
OllamaJalankan model yang dihosting secara lokal melalui Ollama
OpenRouterAkses model melalui OpenRouter
OpenAI-compatibleSetiap endpoint API kustom yang mengikuti format API OpenAI (melalui liteLLM)

Untuk konfigurasi LLM terperinci termasuk semua kunci model yang tersedia, variabel lingkungan, dan pengaturan multi-model, lihat dokumen Konfigurasi LLM.

Berkontribusi

Kami menyambut PR dan saran! Jangan ragu untuk membuka PR/isu atau menghubungi kami melalui email atau discord. Silakan lihat panduan kontribusi kami dan isu "Help Wanted" untuk memulai!

Jika Anda ingin mengobrol dengan repositori skyvern untuk mendapatkan gambaran tingkat tinggi tentang strukturnya, cara membangun di atasnya, dan cara menyelesaikan pertanyaan penggunaan, lihat Code Sage.

Telemetri

Secara Default, Skyvern mengumpulkan statistik penggunaan dasar untuk membantu kami memahami bagaimana Skyvern digunakan. Jika Anda ingin menonaktifkan telemetri, atur variabel lingkungan SKYVERN_TELEMETRY menjadi false.

Lisensi

Repositori sumber terbuka Skyvern didukung melalui cloud terkelola. Semua logika inti yang mendukung Skyvern tersedia di repositori sumber terbuka ini yang dilisensikan di bawah Lisensi AGPL-3.0, dengan pengecualian langkah-langkah anti-bot yang tersedia dalam penawaran cloud terkelola kami.

Jika Anda memiliki pertanyaan atau kekhawatiran seputar lisensi, silakan hubungi kami dan kami akan dengan senang hati membantu.

Riwayat Bintang

Star History Chart