
AI के साथ ब्राउज़र-आधारित वर्कफ़्लो को स्वचालित करें
🐉 LLMs और कंप्यूटर विज़न का उपयोग करके ब्राउज़र-आधारित वर्कफ़्लो को स्वचालित करें 🐉
Skyvern LLMs और कंप्यूटर विज़न का उपयोग करके ब्राउज़र-आधारित वर्कफ़्लो को स्वचालित करता है। यह एक Playwright-संगत SDK प्रदान करता है जो playwright के ऊपर AI कार्यक्षमता जोड़ता है, साथ ही एक नो-कोड वर्कफ़्लो बिल्डर भी है जो तकनीकी और गैर-तकनीकी दोनों उपयोगकर्ताओं को किसी भी वेबसाइट पर मैन्युअल वर्कफ़्लो को स्वचालित करने में मदद करता है, जो भंगुर या अविश्वसनीय ऑटोमेशन समाधानों को बदलता है।
ब्राउज़र ऑटोमेशन के पारंपरिक तरीकों में वेबसाइटों के लिए कस्टम स्क्रिप्ट लिखने की आवश्यकता होती थी, जो अक्सर DOM पार्सिंग और XPath-आधारित इंटरैक्शन पर निर्भर करते थे जो वेबसाइट लेआउट बदलने पर टूट जाते थे।
कोड-परिभाषित XPath इंटरैक्शन पर पूरी तरह निर्भर रहने के बजाय, Skyvern वेबसाइटों को सीखने और उनके साथ इंटरैक्ट करने के लिए विज़न LLMs पर निर्भर करता है।
Skyvern BabyAGI और AutoGPT द्वारा लोकप्रिय किए गए Task-Driven स्वायत्त एजेंट डिज़ाइन से प्रेरित था — एक बड़ा बोनस: हम Skyvern को Playwright जैसी ब्राउज़र ऑटोमेशन लाइब्रेरी का उपयोग करके वेबसाइटों के साथ इंटरैक्ट करने की क्षमता देते हैं।
Skyvern वेबसाइट को समझने और अपनी क्रियाओं की योजना बनाने और निष्पादित करने के लिए एजेंटों के एक झुंड का उपयोग करता है:
इस दृष्टिकोण के कुछ लाभ हैं:
https://github.com/user-attachments/assets/5cab4668-e8e2-4982-8551-aab05ff73a7f
Skyvern Cloud Skyvern का एक प्रबंधित क्लाउड संस्करण है जो आपको बुनियादी ढांचे की चिंता किए बिना Skyvern चलाने की अनुमति देता है। यह आपको समानांतर में कई Skyvern इंस्टेंस चलाने की अनुमति देता है और एंटी-बॉट डिटेक्शन तंत्र, प्रॉक्सी नेटवर्क और CAPTCHA सॉल्वर्स के साथ आता है।
यदि आप इसे आज़माना चाहते हैं, तो app.skyvern.com पर जाएं और एक खाता बनाएं।
अपना पसंदीदा सेटअप तरीका चुनें:
डेटाबेस डिफ़ॉल्ट:
skyvern quickstartऔरskyvern run serverडिफ़ॉल्ट रूप से~/.skyvern/data.dbपर एक SQLite डेटाबेस का उपयोग करते हैं ताकि pip पथ Postgres या Docker के बिना काम करे। इसके बजाय Postgres का उपयोग करने के लिए, स्थानीय कंटेनर के लिए--postgresया मौजूदा डेटाबेस के लिए--database-stringपास करें। Docker Compose हमेशा बंडल Postgres सेवा का उपयोग करता है।
आवश्यक निर्भरताएँ:
इसके अतिरिक्त, Windows के लिए:
pip install "skyvern[all]"
#### 2. Skyvern चलाएं```bash
skyvern quickstart
pip क्विकस्टार्ट डिफ़ॉल्ट रूप से SQLite का उपयोग करता है। स्थानीय Postgres कंटेनर के लिए, skyvern quickstart --postgres चलाएँ।
इस विकल्प का उपयोग करें यदि आप सब कुछ कंटेनरीकृत (Postgres, API, UI) चाहते हैं और Python/Node को स्थानीय रूप से इंस्टॉल नहीं करना चाहते।
.env में कॉन्फ़िगर करें (नीचे दिया गया quickstart --docker-compose कमांड इसे बनाएगा यदि .env.example गायब है): ```bash
cp .env.example .env # if not already created
(sqlite3.OperationalError) table organizations already exists — आपको pip install skyvern==1.0.31 में एक ज्ञात बग मिला है। सुधार:```bash
rm ~/.skyvern/data.db # remove the leftover SQLite file
pip install --upgrade skyvern # 1.0.32+ contains the fix
skyvern quickstart
यदि आप अभी भी 1.0.31 पर हैं और अपग्रेड नहीं कर सकते, तो इसके बजाय uv के माध्यम से इंस्टॉल करें:```bash
uv pip install skyvern
pip install skyvern fails with ResolutionImpossible (litellm / fastmcp) — आपने 1.0.31 में एक निर्भरता-समाधान विरोध का सामना किया है। या तो 1.0.32+ में अपग्रेड करें या uv का उपयोग करें: uv pip install skyvern।
Skyvern एक Playwright एक्सटेंशन है जो AI-संचालित ब्राउज़र ऑटोमेशन जोड़ता है। यह आपको Playwright की पूरी क्षमता के साथ अतिरिक्त AI क्षमताएँ देता है—तत्वों के साथ बातचीत करने, डेटा निकालने और जटिल बहु-चरणीय वर्कफ़्लो को स्वचालित करने के लिए प्राकृतिक भाषा प्रॉम्प्ट का उपयोग करें।
स्थापना:
pip install skyvernpip install "skyvern[all]" फिर चलाएँ skyvern quickstartpip install "skyvern[all]" फिर चलाएँ skyvern quickstart --postgrespip install "skyvern[ui]" फिर चलाएँ
skyvern run ui --api-url <api-url> --api-key <api-key>npm install @skyvern/clientSkyvern पेज ऑब्जेक्ट पर चार मुख्य AI कमांड जोड़ता है:
इसके अतिरिक्त, page.agent उच्च-स्तरीय वर्कफ़्लो कमांड प्रदान करता है:
| कमांड | विवरण |
|---|---|
page.agent.run_task(prompt) | जटिल बहु-चरणीय कार्य निष्पादित करें |
सभी मानक Playwright क्रियाएँ AI-संचालित तत्व स्थान के लिए एक वैकल्पिक prompt पैरामीटर का समर्थन करती हैं:
तीन इंटरैक्शन मोड:```python
await page.click("#submit-button")
await page.click(prompt="Click the green Submit button")
await page.click("#submit-btn", prompt="Click the Submit button")
### कोर एआई कमांड्स - उदाहरण```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")
UI के माध्यम से चलाएँ:```bash skyvern run all
http://localhost:8080 पर जाएं और वेब इंटरफ़ेस के माध्यम से कार्य चलाएं। यदि पैकेज्ड UI गायब है, तो `skyvern run ui` मिलते-जुलते UI पैकेज को स्थापित करने की पेशकश करेगा। गैर-इंटरैक्टिव सेटअप के लिए, `skyvern run ui --install-ui` या `skyvern run all --install-ui` का उपयोग करें।
केवल पैकेज्ड UI को किसी मौजूदा Skyvern API के विरुद्ध चलाने के लिए, `skyvern[ui]` स्थापित करें और `--api-url` पास करें; CLI API URL से `--wss-url` का अनुमान लगाता है जब तक कि आप इसे ओवरराइड न करें। आप `skyvern run ui` चलाने से पहले `VITE_API_BASE_URL`, `VITE_WSS_BASE_URL`, `VITE_ARTIFACT_API_BASE_URL`, `VITE_SKYVERN_API_KEY`, और `VITE_BROWSER_STREAMING_MODE` भी सेट कर सकते हैं।
**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();
**सरल कार्य निष्पादन:**```python
from skyvern import Skyvern
skyvern = Skyvern()
task = await skyvern.run_task(prompt="Find the top post on hackernews today")
print(task)
Skyvern को अपने मौजूदा Chrome ब्राउज़र — आपके सभी कुकीज़, लॉगिन और एक्सटेंशन के साथ — नियंत्रित करने दें।
chrome://inspect/#remote-debugging पर जाएं[!TIP]
skyvern init browserकमांड यह स्वचालित रूप से कर सकता है — यहchrome://inspect/#remote-debuggingखोलता है, आपके द्वारा इसे सक्षम करने की प्रतीक्षा करता है, और कॉन्फ़िगरेशन सहेजता है।
विकल्प A — पायथन कोड:```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", )
**विकल्प B — Skyvern Service:**
अपनी .env फ़ाइल में दो वेरिएबल जोड़ें:```bash
BROWSER_TYPE=cdp-connect
BROWSER_REMOTE_DEBUGGING_URL=http://127.0.0.1:9222
Restart Skyvern सेवा skyvern run all और कार्य को UI या कोड के माध्यम से चलाएँ
Skyvern Cloud को अपने मशीन पर चल रहे Chrome ब्राउज़र को नियंत्रित करने दें — आपके सभी मौजूदा कुकीज़, लॉगिन और एक्सटेंशन के साथ। उन साइटों को स्वचालित करने के लिए उपयोगी जहाँ आप पहले से लॉग इन हैं या VPN के पीछे हैं।```bash
skyvern browser serve --tunnel
फिर अपने कार्य में टनल URL का उपयोग करें:```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] अपने ब्राउज़र को टनल के माध्यम से एक्सपोज़ करते समय हमेशा
--api-keyका उपयोग करें। इसके बिना, URL वाला कोई भी व्यक्ति आपके ब्राउज़र पर पूर्ण नियंत्रण रख सकता है। सुरक्षा दस्तावेज़ देखें।
सभी विकल्पों, मैन्युअल टनल सेटअप और समस्या निवारण के लिए पूर्ण दस्तावेज़ीकरण देखें।
आप 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" } } } )
### समस्याओं को डीबग करने के लिए सहायक कमांड```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
Skyvern का WebBench बेंचमार्क पर 64.4% सटीकता के साथ SOTA प्रदर्शन है। तकनीकी रिपोर्ट + मूल्यांकन यहाँ पाया जा सकता है।
Skyvern WRITE कार्यों (जैसे फॉर्म भरना, लॉगिन करना, फ़ाइलें डाउनलोड करना आदि) पर सर्वश्रेष्ठ प्रदर्शन करने वाला एजेंट है, जिसका उपयोग मुख्य रूप से RPA (रोबोटिक प्रक्रिया स्वचालन) से संबंधित कार्यों के लिए किया जाता है।
कार्य Skyvern के अंदर मूलभूत बिल्डिंग ब्लॉक हैं। प्रत्येक कार्य Skyvern को एकल अनुरोध है, जो इसे वेबसाइट पर नेविगेट करने और एक विशिष्ट लक्ष्य प्राप्त करने का निर्देश देता है।
कार्यों के लिए आपको url, prompt निर्दिष्ट करना आवश्यक है, और वैकल्पिक रूप से data schema (यदि आप चाहते हैं कि आउटपुट किसी विशिष्ट स्कीमा के अनुरूप हो) और error codes (यदि आप चाहते हैं कि Skyvern विशिष्ट परिस्थितियों में चलना बंद कर दे) शामिल कर सकते हैं।
वर्कफ़्लो कई कार्यों को एक साथ जोड़कर काम की एक सुसंगत इकाई बनाने का एक तरीका है।
उदाहरण के लिए, यदि आप 1 जनवरी से नए सभी चालान डाउनलोड करना चाहते हैं, तो आप एक वर्कफ़्लो बना सकते हैं जो पहले चालान पृष्ठ पर नेविगेट करे, फिर केवल 1 जनवरी से नए चालान दिखाने के लिए फ़िल्टर करे, सभी पात्र चालानों की सूची निकाले, और प्रत्येक चालान को डाउनलोड करने के लिए उस पर पुनरावृत्ति करे।
एक अन्य उदाहरण यह है कि यदि आप किसी ई-कॉमर्स स्टोर से उत्पाद खरीदने को स्वचालित करना चाहते हैं, तो आप एक वर्कफ़्लो बना सकते हैं जो पहले वांछित उत्पाद पर नेविगेट करे, फिर उसे कार्ट में जोड़े। दूसरा, यह कार्ट पर नेविगेट करे और कार्ट की स्थिति को मान्य करे। अंत में, यह आइटम खरीदने के लिए चेकआउट प्रक्रिया से गुज़रेगा।
समर्थित वर्कफ़्लो सुविधाओं में शामिल हैं:
Skyvern आपको ब्राउज़र के व्यूपोर्ट को अपनी स्थानीय मशीन पर लाइवस्ट्रीम करने की अनुमति देता है ताकि आप देख सकें कि Skyvern वेब पर वास्तव में क्या कर रहा है। यह डिबगिंग और यह समझने के लिए उपयोगी है कि Skyvern किसी वेबसाइट के साथ कैसे इंटरैक्ट कर रहा है, और आवश्यकता पड़ने पर हस्तक्षेप करने के लिए।
Skyvern मूल रूप से वेबसाइटों पर फॉर्म इनपुट भरने में सक्षम है। navigation_goal के माध्यम से जानकारी पास करने से Skyvern जानकारी को समझ सकेगा और तदनुसार फॉर्म भर सकेगा।
Skyvern किसी वेबसाइट से डेटा निकालने में भी सक्षम है।
आप मुख्य प्रॉम्प्ट के अंदर सीधे data_extraction_schema भी निर्दिष्ट कर सकते हैं ताकि Skyvern को बता सकें कि आप वेबसाइट से वास्तव में कौन सा डेटा निकालना चाहते हैं, jsonc प्रारूप में। Skyvern का आउटपुट प्रदान की गई स्कीमा के अनुसार संरचित होगा।
Skyvern किसी वेबसाइट से फ़ाइलें डाउनलोड करने में भी सक्षम है। सभी डाउनलोड की गई फ़ाइलें स्वचालित रूप से ब्लॉक स्टोरेज में अपलोड हो जाती हैं (यदि कॉन्फ़िगर किया गया हो), और आप UI के माध्यम से उन तक पहुँच सकते हैं।
Skyvern लॉगिन के पीछे कार्यों को स्वचालित करना आसान बनाने के लिए कई अलग-अलग प्रमाणीकरण विधियों का समर्थन करता है। यदि आप इसे आज़माना चाहते हैं, तो कृपया ईमेल के माध्यम से या discord पर हमसे संपर्क करें।
Skyvern कई अलग-अलग 2FA विधियों का समर्थन करता है ताकि आप उन वर्कफ़्लो को स्वचालित कर सकें जिनमें 2FA की आवश्यकता होती है।
उदाहरणों में शामिल हैं:
🔐 2FA समर्थन के बारे में अधिक जानें यहाँ।
Skyvern वर्तमान में निम्नलिखित पासवर्ड मैनेजर एकीकरण का समर्थन करता है:
Skyvern मॉडल कॉन्टेक्स्ट प्रोटोकॉल (MCP) का समर्थन करता है ताकि आप किसी भी LLM का उपयोग कर सकें जो MCP का समर्थन करता है।
MCP दस्तावेज़ यहाँ देखें
Skyvern Zapier, Make.com और N8N का समर्थन करता है ताकि आप अपने Skyvern वर्कफ़्लो को अन्य ऐप्स से कनेक्ट कर सकें।
🔐 2FA समर्थन के बारे में अधिक जानें यहाँ।
हमें यह देखना अच्छा लगता है कि Skyvern का वास्तविक दुनिया में कैसे उपयोग किया जा रहा है। यहाँ कुछ उदाहरण दिए गए हैं कि कैसे Skyvern का उपयोग वास्तविक दुनिया में वर्कफ़्लो को स्वचालित करने के लिए किया जा रहा है। कृपया अपने स्वयं के उदाहरण जोड़ने के लिए PR खोलें!
इसे लाइव देखने के लिए डेमो बुक करें
सुनिश्चित करें कि uv स्थापित है।
.venv) बनाने के लिए इसे चलाएँ
uv sync --group dev
uv run skyvern quickstart
http://localhost:8080 पर जाएँ
Skyvern CLI Windows, WSL, macOS और Linux वातावरण का समर्थन करता है।अधिक व्यापक दस्तावेज़ीकरण हमारे 📕 दस्तावेज़ पृष्ठ पर पाया जा सकता है। कृपया हमें बताएं कि क्या कुछ अस्पष्ट या गायब है, कोई मुद्दा खोलकर या ईमेल के माध्यम से या discord पर हमसे संपर्क करके।
सभी उपलब्ध मॉडल कुंजियों, पर्यावरण चर और बहु-मॉडल सेटअप सहित विस्तृत LLM कॉन्फ़िगरेशन के लिए, LLM कॉन्फ़िगरेशन दस्तावेज़ देखें।
हम PR और सुझावों का स्वागत करते हैं! PR/मुद्दा खोलने या ईमेल के माध्यम से या discord पर हमसे संपर्क करने में संकोच न करें। कृपया हमारे योगदान गाइड और "Help Wanted" मुद्दों पर एक नज़र डालें, शुरू करने के लिए!
यदि आप Skyvern रिपॉजिटरी से बात करके इसकी संरचना, इस पर कैसे विकास करें, और उपयोग प्रश्नों को हल करने के तरीके के बारे में उच्च-स्तरीय अवलोकन प्राप्त करना चाहते हैं, तो Code Sage देखें।
डिफ़ॉल्ट रूप से, Skyvern बुनियादी उपयोग आँकड़े एकत्र करता है ताकि हमें यह समझने में मदद मिल सके कि Skyvern का उपयोग कैसे किया जा रहा है। यदि आप टेलीमेट्री से बाहर निकलना चाहते हैं, तो कृपया SKYVERN_TELEMETRY पर्यावरण चर को false पर सेट करें।
Skyvern का ओपन-सोर्स रिपॉजिटरी एक प्रबंधित क्लाउड के माध्यम से समर्थित है। Skyvern को संचालित करने वाला सभी मुख्य तर्क इस ओपन-सोर्स रिपॉजिटरी में AGPL-3.0 लाइसेंस के तहत उपलब्ध है, हमारे प्रबंधित क्लाउड प्रस्ताव में उपलब्ध एंटी-बॉट उपायों के अपवाद के साथ।
यदि आपके पास लाइसेंसिंग के बारे में कोई प्रश्न या चिंता है, तो कृपया हमसे संपर्क करें और हमें मदद करने में खुशी होगी।
| कमांड | विवरण |
|---|
page.act(prompt) | प्राकृतिक भाषा का उपयोग करके कार्रवाइयाँ करें (जैसे, "लॉगिन बटन पर क्लिक करें") |
page.extract(prompt, schema) | वैकल्पिक JSON स्कीमा के साथ पेज से संरचित डेटा निकालें |
page.validate(prompt) | पेज स्थिति की पुष्टि करें, bool लौटाता है (जैसे, "जाँचें कि उपयोगकर्ता लॉग इन है या नहीं") |
page.prompt(prompt, schema) | वैकल्पिक प्रतिक्रिया स्कीमा के साथ LLM को मनमाने प्रॉम्प्ट भेजें |
page.agent.login(credential_type, credential_id) | संग्रहीत क्रेडेंशियल्स के साथ प्रमाणीकरण करें (Skyvern, Bitwarden, 1Password) |
page.agent.download_files(prompt) | फ़ाइलों को नेविगेट और डाउनलोड करें |
page.agent.run_workflow(workflow_id) | पूर्व-निर्मित वर्कफ़्लो निष्पादित करें |
| कार्रवाई | Playwright | AI-संवर्धित |
|---|
| क्लिक करें | page.click("#btn") | page.click(prompt="Click login button") |
| भरें | page.fill("#email", "[email protected]") | page.fill(prompt="Email field", value="[email protected]") |
| चुनें | page.select_option("#country", "US") | page.select_option(prompt="Country dropdown", value="US") |
| अपलोड करें | page.upload_file("#file", "doc.pdf") | page.upload_file(prompt="Upload area", files="doc.pdf") |
| प्रदाता | समर्थित मॉडल |
|---|
| 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 | Any GPT models deployed to your Azure subscription |
| 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 | किसी भी स्थानीय रूप से होस्ट किए गए मॉडल को Ollama के माध्यम से चलाएँ |
| OpenRouter | मॉडल तक OpenRouter के माध्यम से पहुँचें |
| OpenAI-संगत | कोई भी कस्टम API एंडपॉइंट जो OpenAI के API प्रारूप का अनुसरण करता है (liteLLM के माध्यम से) |