Skyvern
resmiServer 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_taskuntuk menavigasi situs web dan menyelesaikan tujuan seperti "Temukan posting teratas di HackerNews hari ini." -
Ekstrak data terstruktur dengan skema — Berikan
data_extraction_schemakeskyvern.run_taskuntuk 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, ataupage.agent.run_taskuntuk 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:
- 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
- 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
- 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 quickstartdanskyvern run serversecara default menggunakan basis data SQLite di~/.skyvern/data.dbsehingga jalur pip berfungsi tanpa Postgres atau Docker. Untuk menggunakan Postgres sebagai gantinya, berikan--postgresuntuk kontainer lokal atau--database-stringuntuk 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.
- Instal Docker Desktop
- Kloning repositori:
git clone https://github.com/skyvern-ai/skyvern.git && cd skyvern - Konfigurasikan penyedia LLM Anda di
.env(perintahquickstart --docker-composedi bawah akan membuatnya dari.env.examplejika tidak ada):cp .env.example .env # if not already created # edit .env to add your LLM API key - Mulai semuanya:
docker compose up -d - 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 jalankanskyvern quickstart - Server lokal + UI yang dikemas dengan Postgres:
pip install "skyvern[all]"lalu jalankanskyvern quickstart --postgres - UI yang dikemas untuk API yang sudah ada:
pip install "skyvern[ui]"lalu jalankanskyvern 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:
| Perintah | Deskripsi |
|---|---|
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:
| Perintah | Deskripsi |
|---|---|
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:
| Tindakan | Playwright | Ditambah AI |
|---|---|---|
| Klik | page.click("#btn") | page.click(prompt="Click login button") |
| Isi | page.fill("#email", "a@b.com") | page.fill(prompt="Email field", value="a@b.com") |
| Pilih | page.select_option("#country", "US") | page.select_option(prompt="Country dropdown", value="US") |
| Unggah | page.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
- Buka Chrome dan navigasikan ke
chrome://inspect/#remote-debugging - Klik Aktifkan untuk memulai server debugging
- Anda akan melihat: Server berjalan di: 127.0.0.1:9222
[!TIP] Perintah
skyvern init browserdapat melakukan ini secara otomatis — ini membukachrome://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-keysaat 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:
- Tugas Browser
- Tindakan Browser
- Ekstraksi Data
- Validasi
- Perulangan For
- Parsing file
- Mengirim email
- Perintah Teks
- Blok Permintaan HTTP
- Blok Kode Kustom
- Mengunggah file ke penyimpanan blok
- (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:
- 2FA berbasis QR (mis. Google Authenticator, Authy)
- 2FA berbasis email
- 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
Otomatisasi pengadaan material untuk perusahaan manufaktur
Menavigasi situs web pemerintah untuk mendaftarkan akun atau mengisi formulir
Mengisi formulir hubungi kami secara acak
Mengambil kutipan asuransi dari penyedia asuransi dalam bahasa apa pun
Pengaturan Kontributor
Pastikan telah menginstal uv.
- Jalankan ini untuk membuat lingkungan virtual Anda (
.venv)uv sync --group dev - Lakukan konfigurasi server awal
uv run skyvern quickstart - Buka
http://localhost:8080di 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
| Penyedia | Model yang Didukung |
|---|---|
| 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 | Semua model GPT yang diterapkan ke langganan Azure Anda |
| 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 | Jalankan model yang dihosting secara lokal melalui Ollama |
| OpenRouter | Akses model melalui OpenRouter |
| OpenAI-compatible | Setiap 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.