
Rajinder Singh
Deep Learning Researcher

ready, failed और timeout परिणामों को स्पष्ट किनारों द्वारा राउट करें ताकि एजेंट कभी-कभी पुन: प्रयास न कर सके।एक लैंगग्राफ CAPTCHA समाधानकर्ता एक एआई वर्कफ़्लो को एक अधिकृत ब्राउज़र कार्य में समर्थित सत्यापन चेकपॉइंट के सामने आने पर नियंत्रित बरामदी पथ प्रदान करता है। लैंगग्राफ अनुक्रमणिका के लिए जिम्मेदार रहता है, जबकि CapSolver एक API या एजेंट टूल के माध्यम से विशिष्ट CAPTCHA कार्य को संभालता है।
उपयोगी डिज़ाइन एक छोटा राज्य मशीन है: ब्राउज़, पता लगाएं, समाधान के लिए अनुरोध करें, टोकन लागू करें, पृष्ठ परिणाम की पुष्टि करें, और या तो जारी रखें या रुक जाएं। इससे CAPTCHA नियंत्रण दृश्यमान रहता है और मॉडल को सीमा के बिना अनुमान लगाने या कॉल करने से रोकता है।
इस पैटर्न का उपयोग केवल उन साइटों और परीक्षण वातावरणों पर करें जिनके लिए आप स्वचालन के लिए अधिकृत हैं। आपके पास एक लैंगग्राफ एप्लिकेशन, एक ब्राउज़र-नियंत्रण परत, एक CapSolver खाता और CAPSOLVER_API_KEY के लिए एक सर्वर-साइड गोपनीय स्टोर की आवश्यकता होती है। ब्राउज़र चरण को चुनौती प्रकार और CapSolver द्वारा दस्तावेज़ीकृत पैरामीटर संग्रहित करने में सक्षम होना चाहिए।
CapSolver के AI एजेंट गाइड में समर्थित एजेंट वर्कफ़्लो का वर्णन किया गया है। Core SDK दस्तावेज़ीकरण कार्यक्रमात्मक इंटरफ़ेस को कवर करता है, जबकि Agent Tools संदर्भ टूल-ओरिएंटेड उपयोग के बारे में दस्तावेज़ करता है।
ग्राफ राज्य केवल राउटिंग और पुष्टि के लिए आवश्यक मान ले लेना चाहिए:
from typing import Literal, TypedDict
class AgentState(TypedDict, total=False):
page_url: str
captcha_type: Literal["recaptcha_v2", "recaptcha_v3", "turnstile"]
website_key: str
action: str
task_id: str
token: str
captcha_status: Literal["not_found", "pending", "ready", "failed", "timeout"]
attempts: int
API कुंजी को इस ऑब्जेक्ट से बाहर रखें। ग्राफ राज्य को लॉग किया जा सकता है या चेकपॉइंट किया जा सकता है, इसलिए प्रमाणीकरण वातावरण चर या अनुमोदित गोपनीय प्रबंधक में होने चाहिए।
समाधानकर्ता नोड को ज्ञात राज्य को एक समर्थित CapSolver कार्य में अनुवाद करना चाहिए। निम्न कोड एक संकेतक सीमा है; इसे आपकी सेवा द्वारा उपयोग किए गए वर्तमान आधिकारिक SDK या REST स्कीमा से जोड़ें।
MAX_ATTEMPTS = 2
def solve_captcha(state: AgentState) -> AgentState:
attempts = state.get("attempts", 0)
if attempts >= MAX_ATTEMPTS:
return {**state, "captcha_status": "timeout"}
required = ("page_url", "website_key", "captcha_type")
if any(not state.get(key) for key in required):
return {**state, "captcha_status": "failed"}
result = capsolver_client.solve({
"type": state["captcha_type"],
"websiteURL": state["page_url"],
"websiteKey": state["website_key"],
"action": state.get("action"),
})
return {
**state,
"attempts": attempts + 1,
"token": result.get("token", ""),
"captcha_status": "ready" if result.get("token") else "failed",
}
भाषा मॉडल को websiteKey, चुनौती प्रकार या क्रिया निर्मित न करें। उन मानों को सक्रिय पृष्ठ या एप्लिकेशन कॉन्फ़िगरेशन से निकालें, फिर टूल कॉल से पहले उनकी पुष्टि करें।
अपना CapSolver बोनस कोड जमा करें
अपने स्वचालन बजट को तत्काल बढ़ाएं!
CapSolver खाता में भुगतान करते समय बोनस कोड CAP26 का उपयोग करें ताकि प्रत्येक भुगतान पर 5% बोनस मिले — कोई सीमा नहीं।
अपने CapSolver डैशबोर्ड में अब इसे जमा करें
लैंगग्राफ को अवलोकित राज्य द्वारा राउट करना चाहिए, मॉडल पाठ के मुक्त रूप से नहीं:
def route_after_detection(state: AgentState) -> str:
if state.get("captcha_status") == "pending":
return "solve_captcha"
return "continue_browser"
def route_after_solve(state: AgentState) -> str:
if state.get("captcha_status") == "ready":
return "apply_token"
return "stop_with_diagnostic"
apply_token नोड को उसी ब्राउज़र सत्र पर कार्य करना चाहिए जिसने चुनौती का पता लगाया। अनुप्रयोग के बाद, एक अलग पुष्टि नोड अनुप्रयोग प्रतिक्रिया, अपेक्षित नेविगेशन या सर्वर-साइड पुष्टि की जांच करना चाहिए। एक टोकन अकेले कार्यवाही सफल रही है इसका सबूत नहीं है।
असफलताओं के वर्गीकरण से पहले निर्णय लें। अनुपलब्ध पैरामीटर सेटिंग समस्याएं हैं। अस्वीकृत टोकन एक अमान्य टोकन, असंगत पृष्ठ URL, साइट कुंजी, क्रिया या ब्राउज़र सत्र के संकेत हो सकते हैं। सेवा समय सीमा ऑपरेशनल है और एक सीमित पुन: प्रयास के लिए उचित हो सकती है।
task_id, चुनौती प्रकार, लगा समय और साफ किया गया त्रुटि कोड दर्ज करें। सामान्य एजेंट ट्रेस में टोकन, कुकीज, प्रमाणीकरण या संवेदनशील पृष्ठ सामग्री को संग्रहीत न करें। जब भी पृष्ठ एक क्रिया मांगता है जो स्वचालित नहीं होनी चाहिए, मानव के पास एग्जेलेट करें।
एक विश्वसनीय लैंगग्राफ CAPTCHA एकीकरण एक संकीर्ण, दृश्यमान शाखा है जिसमें स्पष्ट इनपुट और रुकने की शर्तें होती हैं। ब्राउज़र अनुक्रमणिका को लैंगग्राफ में रखें, CAPTCHA पैरामीटर को संरचित रखें और टोकन लागू करने के बाद व्यावसायिक परिणाम की पुष्टि करें। CapSolver विशेषज्ञ CAPTCHA क्षमता प्रदान कर सकता है बिना पूरे एजेंट को एक अपारदर्शी बरामदी लूप में बदले।
प्रश्न: क्या लैंगग्राफ स्वयं CAPTCHA हल कर सकता है?
नहीं। लैंगग्राफ नोड्स और राज्य के अनुक्रमणिका करता है; एक अलग अधिकृत ब्राउज़र और CAPTCHA सेवा विशिष्ट कार्य करती है।
प्रश्न: ग्राफ किन CAPTCHA प्रकारों का समर्थन करना चाहिए?
केवल विशिष्ट CapSolver एजेंट सतह द्वारा दस्तावेज़ीकृत प्रकारों के साथ शुरू करें, जैसे reCAPTCHA v2, reCAPTCHA v3 और Cloudflare Turnstile।
प्रश्न: API कुंजी को लैंगग्राफ राज्य में संग्रहीत करना चाहिए?
नहीं। एपीआई कुंजी को सर्वर-साइड वातावरण चर या गोपनीय प्रबंधक में संग्रहीत करें क्योंकि ग्राफ राज्य को संग्रहीत किया जा सकता है या लॉग किया जा सकता है।
प्रश्न: नोड कितनी बार पुन: प्रयास करना चाहिए?
एक या दो सीमित प्रयास का उपयोग करें और दोहराए अस्वीकृति, अनुपलब्ध पैरामीटर या प्राधिकरण अनिश्चितता पर रुक जाएं।
TL;DR - एक एआई एजेंट कैप्चा समय सीमा समाप्त हो गई त्रुटि के लिए पृष्ठ तैयारी, उपकरण परिवहन, कैप्चा कार्य और एप्लिकेशन पुष्टि के लिए अलग-अलग बजट की आवश्यकता होती है। - यदि पृष्ठ URL, ब्राउजर संदर्भ, चुनौती या अधिकृत कार्रवाई बदल गई है तो देरी से परिणामों को अस्वीकृत कर देना चाहिए। - एक सीमित पुनः प्रयास अस्थायी परिवहन विफलता के लिए तार्किक हो सकता है, लेकिन बार-बार चेकपॉइंट एक समीक्षा मार्ग खोलना चाहिए। - अंतिम पास स्थिति मूल एप्लिकेशन स्थिति है, कभी-कभी फेंके गए अपवाद की अनुपस्थिति नहीं। परिचय

एक mcp reCAPTCHA समाधानकर्ता तब सबसे उपयोगी होता है जब एक अनुमत AI-एजेंट कार्य के पास पहले से ही reCAPTCHA के बारे में पता होता है जिसे उसे सामना करना पड़ा था और एक संरचित बरीकी कॉल की आवश्यकता होती है। CapSolver `capsolver-mcp` के माध्यम से आधिकारिक `solve_captcha` उपकरण को प्रस्तुत करता है, जबकि `detect_captchas` और `solve_on_page` ब्राउज़र-चालित बरीकी के समर्थन करते हैं। एकीकरण को पेज URL, reCAPTCHA संस्करण, साइट कुंजी, ब्राउज़र सत्र और अधिकृत क्रिया के रूप में एक चेकपॉइंट के रूप में संरक्षित करना चाहिए। इसे अनुमान लगाने के बजाय रुक जाना चाहिए।
