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 dengan bahasa alami — Minta asisten Anda untuk mengeksekusi alur kerja web multi-langkah melalui
page.agent.run_task(), seperti "Temukan posting teratas di hackernews hari ini". - Ekstrak data terstruktur dari halaman — Gunakan
page.extract()dengan skema JSON opsional untuk menarik informasi spesifik, seperti detail pesanan atau daftar produk. - Lakukan tindakan Playwright yang diperkaya AI — Klik, isi, pilih, atau unggah file menggunakan perintah bahasa alami alih-alih selektor CSS/XPath, misalnya,
page.click(prompt="Click the green Submit button"). - Validasi status halaman — Gunakan
page.validate()untuk memeriksa kondisi seperti status login, mengembalikan hasil boolean. - Autentikasi dengan kredensial tersimpan — Manfaatkan
page.agent.login()untuk masuk menggunakan kredensial Skyvern, Bitwarden, atau 1Password, termasuk dukungan 2FA. - Unduh file melalui perintah — Instruksikan
page.agent.download_files()untuk menavigasi dan mengambil file, yang diunggah ke penyimpanan blok.
Dokumentasi
🐉 Otomatiskan alur kerja berbasis browser menggunakan LLM dan Computer Vision 🐉
Skyvern mengotomatiskan alur kerja berbasis browser menggunakan LLM dan computer vision. Skyvern menyediakan SDK yang kompatibel dengan Playwright yang menambahkan fungsionalitas AI di atas playwright, serta pembangun alur kerja tanpa kode untuk membantu pengguna teknis maupun non-teknis mengotomatiskan alur kerja manual di situs web mana pun, menggantikan solusi otomasi yang rapuh atau tidak dapat diandalkan.
Pendekatan tradisional untuk otomasi browser memerlukan penulisan skrip khusus untuk situs web, sering kali mengandalkan penguraian 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 (Task-Driven) yang dipopulerkan oleh BabyAGI dan AutoGPT -- dengan satu keunggulan utama: kami memberi Skyvern kemampuan untuk berinteraksi dengan situs web menggunakan pustaka otomasi browser seperti Playwright.
Skyvern menggunakan sekelompok agen untuk memahami situs web, serta merencanakan dan mengeksekusi tindakannya:
Pendekatan ini memiliki beberapa keunggulan:
- Skyvern dapat beroperasi di situs web yang belum pernah dilihatnya, 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 selektor lain yang telah ditentukan sebelumnya yang dicari sistem kami saat mencoba bernavigasi
- Skyvern mampu mengambil satu alur kerja dan menerapkannya ke banyak situs web, karena mampu menalar interaksi yang diperlukan untuk menyelesaikan alur kerja tersebut Laporan teknis terperinci dapat ditemukan di sini.
Demo
https://github.com/user-attachments/assets/5cab4668-e8e2-4982-8551-aab05ff73a7f
Memulai Cepat
Skyvern Cloud
Skyvern Cloud adalah versi cloud terkelola dari Skyvern yang memungkinkan Anda menjalankan Skyvern tanpa perlu khawatir tentang infrastruktur. Skyvern Cloud memungkinkan Anda menjalankan beberapa instance Skyvern secara paralel dan dilengkapi dengan mekanisme deteksi anti-bot, jaringan proxy, dan pemecah CAPTCHA.
Jika Anda ingin mencobanya, buka app.skyvern.com dan buat akun.
Jalankan Secara Lokal (UI + Server)
Pilih metode pengaturan yang Anda inginkan:
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--database-stringuntuk basis data yang sudah ada (atau hilangkan--no-postgressehinggaquickstartmemulai kontainer Postgres-nya sendiri). Docker Compose selalu menggunakan layanan Postgres yang disertakan.
Opsi A: pip install (Direkomendasikan untuk pengaturan lokal yang dikelola Python)
Dependensi yang diperlukan:
Selain itu, untuk Windows:
- Rust
- VS Code dengan alat pengembangan C++ dan Windows SDK
1. Instal Skyvern
pip install "skyvern[all]"
2. Jalankan Skyvern
skyvern quickstart
Panduan memulai cepat pip menggunakan SQLite secara default. Untuk menggunakan kontainer Postgres lokal sebagai gantinya, jalankan skyvern quickstart (kontainer Postgres dimulai kecuali Anda memberikan --no-postgres), atau sambungkan ke basis data yang sudah ada dengan --database-string=postgresql+psycopg://user:pass@host:5432/dbname.
Opsi B: Docker Compose
Gunakan opsi ini jika Anda ingin semuanya dikontainerisasi (Postgres, API, UI) dan tidak ingin menginstal Python/Node secara lokal.
- Instal Docker Desktop
- Klon 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 versi, 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 otomasi browser bertenaga AI. Skyvern 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 / cloud API:
pip install skyvern - Server lokal + UI terkemas:
pip install "skyvern[all]"lalu jalankanskyvern quickstart - Server lokal + UI terkemas dengan Postgres:
pip install "skyvern[all]"lalu jalankanskyvern quickstart --database-string=postgresql+psycopg://user:pass@host:5432/dbname - UI terkemas untuk API yang sudah ada:
pip install "skyvern[ui]"lalu aturVITE_API_BASE_URL(danVITE_SKYVERN_API_KEYjika API Anda memerlukan kunci) dan jalankanskyvern run ui - 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 (misalnya, "Klik tombol login") |
page.extract(prompt, schema) | Ekstrak data terstruktur dari halaman dengan skema JSON opsional |
page.validate(prompt) | Validasi status halaman, mengembalikan bool (misalnya, "Periksa apakah pengguna sudah masuk") |
page.prompt(prompt, schema) | Kirim perintah apa pun 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) | Autentikasi 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 |
Tindakan Playwright yang Diperkaya AI
Semua tindakan Playwright standar mendukung parameter opsional prompt untuk lokasi elemen bertenaga AI:
| Tindakan | Playwright | Diperkaya AI |
|---|---|---|
| Click | page.click("#btn") | page.click(prompt="Click login button") |
| Fill | page.fill("#email", "a@b.com") | page.fill(prompt="Email field", value="a@b.com") |
| Select | page.select_option("#country", "US") | page.select_option(prompt="Country dropdown", value="US") |
| Upload | 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 Memulai Cepat
Jalankan melalui UI:
skyvern run all
Buka http://localhost:8080 untuk menjalankan tugas melalui antarmuka web. Jika UI terkemas tidak ada, skyvern run ui akan menawarkan untuk menginstal paket UI yang sesuai.
Untuk menjalankan hanya UI terkemas terhadap API Skyvern yang sudah ada, instal skyvern[ui] dan atur variabel lingkungan di bawah ini sebelum menjalankan skyvern run ui:
VITE_API_BASE_URL(misalnyahttp://localhost:8000/api/v1) — mengarahkan UI ke API Skyvern AndaVITE_SKYVERN_API_KEY— kunci API jika API Anda memerlukannyaVITE_WSS_BASE_URL— titik akhir WebSocket (disimpulkan dariVITE_API_BASE_URLjika tidak diatur)VITE_ARTIFACT_API_BASE_URL— URL dasar untuk unduhan artefakVITE_BROWSER_STREAMING_MODE— mode streaming viewport browser
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 arahkan 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 — perintah 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 yang sudah ada. Berguna untuk mengotomatiskan situs yang sudah Anda masuki atau berada 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. Tanpa itu, siapa pun yang memiliki URL dapat mengontrol penuh 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 yang membantu 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, masuk, mengunduh file, dll.)
Skyvern adalah agen dengan performa terbaik pada tugas WRITE (misalnya mengisi formulir, masuk, mengunduh file, dll.), yang terutama digunakan untuk tugas-tugas yang terkait dengan RPA (Robotic Process Automation).
Fitur Skyvern
Tugas Skyvern
Tugas adalah blok bangunan fundamental di dalam Skyvern. Setiap tugas adalah satu permintaan ke Skyvern, yang menginstruksikannya untuk menavigasi situs web dan mencapai tujuan tertentu.
Tugas mengharuskan Anda untuk 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 menjadi 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 mengulangi 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, alur kerja akan menavigasi ke keranjang dan memvalidasi status keranjang. Terakhir, alur kerja akan melalui proses checkout untuk membeli item.
Fitur alur kerja yang didukung meliputi:
- Tugas Browser
- Tindakan Browser
- Ekstraksi Data
- Validasi
- Perulangan For
- Penguraian file
- Mengirim email
- Perintah Teks
- Blok Permintaan HTTP
- Blok Kode Kustom
- Mengunggah file ke penyimpanan blok
- (Segera hadir) Kondisional
Streaming Langsung
Skyvern memungkinkan Anda melakukan streaming langsung 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, serta melakukan intervensi saat diperlukan
Pengisian Formulir
Skyvern secara native mampu mengisi input formulir di situs web. Memberikan informasi melalui navigation_goal akan memungkinkan Skyvern untuk memahami informasi tersebut 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 disusun 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 yang 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 yang berbeda untuk memungkinkan Anda mengotomatiskan alur kerja yang memerlukan 2FA.
Contohnya termasuk:
- 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 dunia nyata dari 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 banyak situs web yang berbeda
Pesan demo untuk melihatnya langsung
Otomatiskan proses lamaran kerja
Otomatiskan pengadaan bahan untuk perusahaan manufaktur
Menavigasi ke situs web pemerintah untuk mendaftarkan akun atau mengisi formulir
Mengisi formulir kontak acak
Mengambil kutipan asuransi dari penyedia asuransi dalam bahasa apa pun
Pengaturan Kontributor
Pastikan Anda telah menginstal uv.
- Jalankan ini untuk membuat lingkungan virtual Anda (
.venv)uv sync --group dev - Lakukan konfigurasi server awal
uv run skyvern quickstart - Navigasikan ke
http://localhost:8080di browser Anda untuk mulai menggunakan UI CLI Skyvern 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 issue 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 | Model GPT apa pun yang disebarkan 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 | Endpoint API kustom apa pun yang mengikuti format API OpenAI (via liteLLM) |
Untuk konfigurasi LLM yang terperinci termasuk semua kunci model yang tersedia, variabel lingkungan, dan pengaturan multi-model, lihat dokumentasi Konfigurasi LLM.
Berkontribusi
Kami menyambut PR dan saran! Jangan ragu untuk membuka PR/issue atau menghubungi kami melalui email atau discord. Silakan lihat panduan kontribusi dan issue "Help Wanted" untuk memulai!
Jika Anda ingin mengobrol dengan repositori skyvern untuk mendapatkan gambaran tingkat tinggi tentang bagaimana strukturnya, cara mengembangkannya, 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, silakan 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 dengan lisensi AGPL-3.0 License, dengan pengecualian langkah-langkah anti-bot yang tersedia di penawaran cloud terkelola kami.
Jika Anda memiliki pertanyaan atau kekhawatiran tentang lisensi, silakan hubungi kami dan kami akan dengan senang hati membantu.