Cách giải Captcha trong Agno với tích hợp CapSolver

Anh Tuan
Data Science Expert
13-Jan-2026

Khi tự động hóa dựa trên AI trở nên thực tế hơn trong các quy trình thực tế, Agno đã xuất hiện như một khung phần mềm nhanh và lấy quyền riêng tư làm trọng tâm để xây dựng các hệ thống đa tác nhân tự động. Khi các tác nhân này tương tác với các trang web thông qua việc quét, thu thập dữ liệu hoặc lướt web tự động, CAPTCHA thường trở thành một vấn đề.
CapSolver giúp giải quyết vấn đề này bằng cách cho phép các tác nhân Agno xử lý trang web được bảo vệ bởi CAPTCHA một cách đáng tin cậy mà không làm gián đoạn quy trình tự động hóa. Cùng nhau, Agno và CapSolver giúp xây dựng tự động hóa quy mô lớn, không cần can thiệp thủ công, hoạt động trên các trang web thực tế.
Agno là gì?
Agno là một khung phần mềm đa tác nhân mã nguồn mở và môi trường chạy để xây dựng các hệ thống AI chạy hoàn toàn trong cơ sở hạ tầng của bạn. Nó được thiết kế với hiệu suất và quyền riêng tư làm trọng tâm—không có máy chủ điều khiển bên ngoài và không có dữ liệu rời khỏi môi trường của bạn.
Tính năng chính của Agno
- Hiệu suất cao: Nhanh hơn và hiệu quả bộ nhớ hơn nhiều so với nhiều khung phần mềm tác nhân
- Lấy quyền riêng tư làm trọng tâm: Hoàn toàn tự lưu trữ, với kiểm soát hoàn toàn về dữ liệu và thực thi
- Hệ thống tác nhân đa dạng: Các tác nhân có thể hợp tác, chuyên môn hóa và phối hợp nhiệm vụ
- Tính linh hoạt về mô hình: Hỗ trợ OpenAI, Anthropic, Google và nhiều nhà cung cấp khác
- Môi trường chạy sẵn sàng cho sản xuất: Bao gồm môi trường chạy dựa trên FastAPI để triển khai các tác nhân
- Công cụ phong phú: Các công cụ tích hợp cho tự động hóa web, API, cơ sở dữ liệu và nhiều hơn nữa
- Bộ nhớ bền vững: Các tác nhân có thể duy trì ngữ cảnh qua các phiên với RAG tác nhân và 20+ kho vector
Kiến trúc cốt lõi
| Thành phần | Mô tả |
|---|---|
| Tác nhân | Các đơn vị AI tự động với bộ nhớ, công cụ và tích hợp mô hình |
| Nhóm | Nhóm các tác nhân hợp tác trên các nhiệm vụ phức tạp |
| Quy trình làm việc | Các ống dẫn được cấu trúc cho việc thực thi có tính dự đoán |
| AgentOS | Môi trường chạy FastAPI cho triển khai sản xuất |
CapSolver là gì?
CapSolver là dịch vụ giải CAPTCHA hàng đầu cung cấp các giải pháp dựa trên AI để vượt qua các thách thức CAPTCHA khác nhau. Với hỗ trợ cho nhiều loại CAPTCHA và thời gian phản hồi nhanh như chớp, CapSolver tích hợp liền mạch vào các quy trình tự động hóa.
Các loại CAPTCHA được hỗ trợ
- reCAPTCHA v2 (Hình ảnh & Không nhìn thấy được)
- reCAPTCHA v3
- Cloudflare Turnstile
- Thách thức Cloudflare (5 giây)
- AWS WAF
- Và nhiều hơn nữa...
Tại sao tích hợp CapSolver với Agno?
Khi xây dựng các tác nhân Agno tương tác với các trang web—dù là để thu thập dữ liệu, kiểm thử tự động hoặc tổng hợp nội dung—các thách thức CAPTCHA trở thành rào cản đáng kể. Để hiểu sâu hơn về cách giải CAPTCHA trong môi trường trình duyệt tự động, hãy xem hướng dẫn của chúng tôi về cách giải CAPTCHA trong Puppeteer. Dưới đây là lý do tại sao tích hợp này quan trọng:
- Quy trình làm việc của tác nhân không gián đoạn: Các tác nhân có thể hoàn thành nhiệm vụ của họ mà không cần can thiệp thủ công. Để tìm thêm giải pháp về CAPTCHA trong quét web, tham khảo bài viết của chúng tôi: Cách tốt nhất để giải CAPTCHA khi quét web.
- Bảo vệ quyền riêng tư: Cả Agno và CapSolver cho phép bạn duy trì kiểm soát dữ liệu của mình
- Tự động hóa quy mô lớn: Xử lý nhiều thách thức CAPTCHA trên các hoạt động tác nhân song song
- Chi phí hiệu quả: Chỉ trả tiền cho các CAPTCHA được giải thành công
- Tỷ lệ thành công cao: Độ chính xác hàng đầu trong tất cả các loại CAPTCHA được hỗ trợ.
Cài đặt
Đầu tiên, cài đặt các gói cần thiết:
bash
pip install agno
pip install requests
Agno là không phụ thuộc vào mô hình với hỗ trợ tích hợp cho 23+ nhà cung cấp LLM:
python
# OpenAI
from agno.models.openai import OpenAIChat
# Anthropic Claude
from agno.models.anthropic import Claude
# Google Gemini
from agno.models.google import Gemini
# Và nhiều hơn nữa...
Tạo Công cụ CapSolver Tùy chỉnh cho Agno
Agno cho phép bạn tạo các công cụ tùy chỉnh mà các tác nhân có thể sử dụng để hoàn thành nhiệm vụ của họ. Dưới đây là cách tạo một công cụ CapSolver để xử lý các thách thức CAPTCHA:
Triển khai Cơ bản Công cụ CapSolver
python
import requests
import time
from agno.tools import tool
CAPSOLVER_API_KEY = "YOUR_CAPSOLVER_API_KEY"
@tool
def solve_captcha(
website_url: str,
website_key: str,
captcha_type: str = "ReCaptchaV2TaskProxyLess"
) -> str:
"""
Giải các thách thức CAPTCHA bằng API CapSolver.
Args:
website_url: URL của trang web có CAPTCHA
website_key: Khóa trang của CAPTCHA
captcha_type: Loại CAPTCHA (ReCaptchaV2TaskProxyLess, ReCaptchaV3TaskProxyLess, AntiTurnstileTaskProxyLess)
Returns:
Token giải CAPTCHA
"""
# Tạo nhiệm vụ
payload = {
"clientKey": CAPSOLVER_API_KEY,
"task": {
"type": captcha_type,
"websiteURL": website_url,
"websiteKey": website_key
}
}
response = requests.post("https://api.capsolver.com/createTask", json=payload)
result = response.json()
if result.get("errorId") != 0:
return f"Lỗi tạo nhiệm vụ: {result.get('errorDescription')}"
task_id = result.get("taskId")
# Kiểm tra kết quả
for _ in range(60):
time.sleep(2)
result = requests.post(
"https://api.capsolver.com/getTaskResult",
json={"clientKey": CAPSOLVER_API_KEY, "taskId": task_id}
).json()
if result.get("status") == "ready":
solution = result.get("solution", {})
return solution.get("gRecaptchaResponse") or solution.get("token")
elif result.get("status") == "failed":
return f"Nhiệm vụ thất bại: {result.get('errorDescription')}"
return "Đợi giải CAPTCHA hết thời gian"
Giải Các Loại CAPTCHA Khác Nhau
Người giải reCAPTCHA v2
python
import requests
import time
from agno.tools import tool
CAPSOLVER_API_KEY = "YOUR_CAPSOLVER_API_KEY"
@tool
def solve_recaptcha_v2(website_url: str, website_key: str) -> str:
"""
Giải các thách thức reCAPTCHA v2 bằng CapSolver.
Args:
website_url: URL của trang web có reCAPTCHA v2
website_key: Khóa trang (thuộc tính data-sitekey)
Returns:
Token g-recaptcha-response
"""
payload = {
"clientKey": CAPSOLVER_API_KEY,
"task": {
"type": "ReCaptchaV2TaskProxyLess",
"websiteURL": website_url,
"websiteKey": website_key
}
}
# Tạo nhiệm vụ
response = requests.post("https://api.capsolver.com/createTask", json=payload)
result = response.json()
if result.get("errorId") != 0:
return f"Lỗi: {result.get('errorDescription')}"
task_id = result.get("taskId")
# Kiểm tra kết quả
for attempt in range(60):
time.sleep(2)
result = requests.post(
"https://api.capsolver.com/getTaskResult",
json={"clientKey": CAPSOLVER_API_KEY, "taskId": task_id}
).json()
if result.get("status") == "ready":
return result["solution"]["gRecaptchaResponse"]
if result.get("status") == "failed":
return f"Thất bại: {result.get('errorDescription')}"
return "Đợi giải pháp hết thời gian"
Người giải reCAPTCHA v3
python
import requests
import time
from agno.tools import tool
CAPSOLVER_API_KEY = "YOUR_CAPSOLVER_API_KEY"
@tool
def solve_recaptcha_v3(
website_url: str,
website_key: str,
page_action: str = "submit",
min_score: float = 0.7
) -> str:
"""
Giải các thách thức reCAPTCHA v3 với xác minh dựa trên điểm số.
Args:
website_url: URL của trang web có reCAPTCHA v3
website_key: Khóa trang của reCAPTCHA
page_action: Tham số hành động cho reCAPTCHA v3
min_score: Điểm số tối thiểu yêu cầu (0.1 đến 0.9)
Returns:
Token g-recaptcha-response
"""
payload = {
"clientKey": CAPSOLVER_API_KEY,
"task": {
"type": "ReCaptchaV3TaskProxyLess",
"websiteURL": website_url,
"websiteKey": website_key,
"pageAction": page_action,
"minScore": min_score
}
}
# Tạo nhiệm vụ
response = requests.post("https://api.capsolver.com/createTask", json=payload)
result = response.json()
if result.get("errorId") != 0:
return f"Lỗi: {result.get('errorDescription')}"
task_id = result.get("taskId")
# Kiểm tra kết quả
for attempt in range(60):
time.sleep(2)
result = requests.post(
"https://api.capsolver.com/getTaskResult",
json={"clientKey": CAPSOLVER_API_KEY, "taskId": task_id}
).json()
if result.get("status") == "ready":
return result["solution"]["gRecaptchaResponse"]
if result.get("status") == "failed":
return f"Thất bại: {result.get('errorDescription')}"
return "Đợi giải pháp hết thời gian"
Người giải Cloudflare Turnstile
python
import requests
import time
from agno.tools import tool
CAPSOLVER_API_KEY = "YOUR_CAPSOLVER_API_KEY"
@tool
def solve_turnstile(website_url: str, website_key: str) -> str:
"""
Giải các thách thức Cloudflare Turnstile.
Args:
website_url: URL của trang web có Turnstile
website_key: Khóa trang của widget Turnstile
Returns:
Token Turnstile
"""
payload = {
"clientKey": CAPSOLVER_API_KEY,
"task": {
"type": "AntiTurnstileTaskProxyLess",
"websiteURL": website_url,
"websiteKey": website_key
}
}
# Tạo nhiệm vụ
response = requests.post("https://api.capsolver.com/createTask", json=payload)
result = response.json()
if result.get("errorId") != 0:
return f"Lỗi: {result.get('errorDescription')}"
task_id = result.get("taskId")
# Kiểm tra kết quả
for attempt in range(60):
time.sleep(2)
result = requests.post(
"https://api.capsolver.com/getTaskResult",
json={"clientKey": CAPSOLVER_API_KEY, "taskId": task_id}
).json()
if result.get("status") == "ready":
return result["solution"]["token"]
if result.get("status") == "failed":
return f"Thất bại: {result.get('errorDescription')}"
return "Đợi giải pháp hết thời gian"
Người giải Thách thức Cloudflare (5 giây)
python
import requests
import time
from agno.tools import tool
CAPSOLVER_API_KEY = "YOUR_CAPSOLVER_API_KEY"
@tool
def solve_cloudflare_challenge(website_url: str, proxy: str) -> dict:
"""
Giải các trang bảo vệ Cloudflare 5 giây.
Args:
website_url: URL của trang được bảo vệ
proxy: Proxy theo định dạng: http://user:pass@ip:port
Returns:
Từ điển chứa cookie và user_agent để truy cập trang được bảo vệ
"""
payload = {
"clientKey": CAPSOLVER_API_KEY,
"task": {
"type": "AntiCloudflareTask",
"websiteURL": website_url,
"proxy": proxy
}
}
# Tạo nhiệm vụ
response = requests.post("https://api.capsolver.com/createTask", json=payload)
result = response.json()
if result.get("errorId") != 0:
return {"error": result.get('errorDescription')}
task_id = result.get("taskId")
# Kiểm tra kết quả
for attempt in range(60):
time.sleep(3)
result = requests.post(
"https://api.capsolver.com/getTaskResult",
json={"clientKey": CAPSOLVER_API_KEY, "taskId": task_id}
).json()
if result.get("status") == "ready":
return {
"cookies": result["solution"]["cookies"],
"user_agent": result["solution"]["userAgent"]
}
if result.get("status") == "failed":
return {"error": result.get('errorDescription')}
return {"error": "Đợi giải pháp hết thời gian"}
Ví dụ Hoàn chỉnh về Tác nhân Agno
Dưới đây là một ví dụ hoàn chỉnh về tác nhân Agno sử dụng CapSolver để xử lý các thách thức CAPTCHA:
python
import os
import requests
import time
from agno.agent import Agent
from agno.models.openai import OpenAIChat
from agno.tools import tool
# Cấu hình
CAPSOLVER_API_KEY = "YOUR_CAPSOLVER_API_KEY"
os.environ["OPENAI_API_KEY"] = "YOUR_OPENAI_API_KEY"
@tool
def solve_recaptcha_v2(website_url: str, website_key: str) -> str:
"""
Giải các thách thức reCAPTCHA v2 bằng CapSolver.
Args:
website_url: URL của trang web có reCAPTCHA v2
website_key: Khóa trang (thuộc tính data-sitekey)
Returns:
Token g-recaptcha-response hoặc thông báo lỗi
"""
payload = {
"clientKey": CAPSOLVER_API_KEY,
"task": {
"type": "ReCaptchaV2TaskProxyLess",
"websiteURL": website_url,
"websiteKey": website_key
}
}
response = requests.post("https://api.capsolver.com/createTask", json=payload)
result = response.json()
if result.get("errorId") != 0:
return f"Lỗi: {result.get('errorDescription')}"
task_id = result.get("taskId")
for _ in range(60):
time.sleep(2)
result = requests.post(
"https://api.capsolver.com/getTaskResult",
json={"clientKey": CAPSOLVER_API_KEY, "taskId": task_id}
).json()
if result.get("status") == "ready":
return result["solution"]["gRecaptchaResponse"]
if result.get("status") == "failed":
return f"Thất bại: {result.get('errorDescription')}"
return "Hết thời gian chờ giải pháp"
@tool
def solve_turnstile(website_url: str, website_key: str) -> str:
"""
Giải các thách thức Cloudflare Turnstile.
Args:
website_url: URL của trang web có Turnstile
website_key: Khóa trang của widget Turnstile
Returns:
Token Turnstile hoặc thông báo lỗi
"""
payload = {
"clientKey": CAPSOLVER_API_KEY,
"task": {
"type": "AntiTurnstileTaskProxyLess",
"websiteURL": website_url,
"websiteKey": website_key
}
}
response = requests.post("https://api.capsolver.com/createTask", json=payload)
result = response.json()
if result.get("errorId") != 0:
return f"Lỗi: {result.get('errorDescription')}"
task_id = result.get("taskId")
for _ in range(60):
time.sleep(2)
result = requests.post(
"https://api.capsolver.com/getTaskResult",
json={"clientKey": CAPSOLVER_API_KEY, "taskId": task_id}
).json()
if result.get("status") == "ready":
return result["solution"]["token"]
if result.get("status") == "failed":
return f"Thất bại: {result.get('errorDescription')}"
return "Hết thời gian chờ giải pháp"
"https://api.capsolver.com/getTaskResult",
json={"clientKey": CAPSOLVER_API_KEY, "taskId": task_id}
).json()
if result.get("status") == "ready":
return result["solution"]["token"]
if result.get("status") == "failed":
return f"Thất bại: {result.get('errorDescription')}"
return "Hết thời gian"
@tool
def check_capsolver_balance() -> str:
"""
Kiểm tra số dư tài khoản CapSolver hiện tại.
Trả về:
Thông tin số dư hiện tại
"""
response = requests.post(
"https://api.capsolver.com/getBalance",
json={"clientKey": CAPSOLVER_API_KEY}
)
result = response.json()
if result.get("errorId") != 0:
return f"Lỗi: {result.get('errorDescription')}"
return f"Số dư: ${result.get('balance', 0):.4f}"
# Tạo Agent Dò tìm Trang Web
web_scraper_agent = Agent(
name="Agent Dò tìm Trang Web",
model=OpenAIChat(id="gpt-4o"),
tools=[solve_recaptcha_v2, solve_turnstile, check_capsolver_balance],
description="Chuyên gia dò tìm trang web có khả năng xử lý CAPTCHA tự động",
instructions=[
"Bạn là chuyên gia dò tìm trang web với khả năng xử lý CAPTCHA.",
"Khi gặp CAPTCHA, xác định loại và sử dụng bộ giải thích hợp.",
"Đối với reCAPTCHA v2, sử dụng solve_recaptcha_v2 với URL và site key.",
"Đối với Turnstile, sử dụng solve_turnstile với URL và site key.",
"Luôn kiểm tra số dư trước khi bắt đầu các công việc dò tìm lớn."
],
markdown=True
)
def main():
print("=" * 60)
print("Demo Tích hợp Agno + CapSolver")
print("=" * 60)
# Nhiệm vụ: Giải quyết thách thức CAPTCHA
task = """
Tôi cần bạn giải quyết thách thức CAPTCHA reCAPTCHA v2.
URL Trang web: https://www.google.com/recaptcha/api2/demo
Site Key: 6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-
Vui lòng giải CAPTCHA này và báo cáo 50 ký tự đầu tiên của token.
Đồng thời kiểm tra số dư CapSolver của tôi trước khi bắt đầu.
"""
response = web_scraper_agent.run(task)
print("\nPhản hồi của Agent:")
print(response.content)
if __name__ == "__main__":
main()
Sử dụng Teams Agno với CapSolver
Agno hỗ trợ các nhóm tác nhân đa dạng. Dưới đây là cách tạo một nhóm với các tác nhân chuyên giải CAPTCHA:
python
from agno.agent import Agent
from agno.team import Team
from agno.models.openai import OpenAIChat
from agno.tools import tool
import requests
import time
CAPSOLVER_API_KEY = "YOUR_CAPSOLVER_API_KEY"
@tool
def solve_any_captcha(
website_url: str,
website_key: str,
captcha_type: str = "ReCaptchaV2TaskProxyLess"
) -> str:
"""Bộ giải CAPTCHA toàn diện hỗ trợ nhiều loại."""
payload = {
"clientKey": CAPSOLVER_API_KEY,
"task": {
"type": captcha_type,
"websiteURL": website_url,
"websiteKey": website_key
}
}
response = requests.post("https://api.capsolver.com/createTask", json=payload)
result = response.json()
if result.get("errorId") != 0:
return f"Lỗi: {result.get('errorDescription')}"
task_id = result.get("taskId")
for _ in range(60):
time.sleep(2)
result = requests.post(
"https://api.capsolver.com/getTaskResult",
json={"clientKey": CAPSOLVER_API_KEY, "taskId": task_id}
).json()
if result.get("status") == "ready":
solution = result.get("solution", {})
return solution.get("gRecaptchaResponse") or solution.get("token")
if result.get("status") == "failed":
return f"Thất bại: {result.get('errorDescription')}"
return "Hết thời gian"
# Tác nhân Chuyên gia CAPTCHA
captcha_agent = Agent(
name="Tác nhân Chuyên gia CAPTCHA",
model=OpenAIChat(id="gpt-4o"),
tools=[solve_any_captcha],
description="Chuyên gia nhận diện và giải CAPTCHA các loại",
instructions=[
"Nhận diện loại CAPTCHA từ phân tích trang",
"Sử dụng bộ giải thích hợp với tham số đúng",
"Báo cáo thành công hoặc thất bại một cách rõ ràng"
]
)
# Tác nhân Trích xuất Dữ liệu
data_agent = Agent(
name="Tác nhân Trích xuất Dữ liệu",
model=OpenAIChat(id="gpt-4o"),
description="Trích xuất và xử lý dữ liệu từ trang web",
instructions=[
"Trích xuất dữ liệu có cấu trúc từ nội dung HTML",
"Yêu cầu giải CAPTCHA khi cần",
"Xác minh và làm sạch dữ liệu trích xuất"
]
)
# Tạo nhóm
scraping_team = Team(
name="Nhóm Dò tìm Trang Web",
agents=[captcha_agent, data_agent],
description="Nhóm chuyên về dò tìm trang web với xử lý CAPTCHA"
)
Cách Gửi Token CAPTCHA
Mỗi loại CAPTCHA yêu cầu phương pháp gửi khác nhau:
reCAPTCHA v2/v3 - Chèn Token
python
from selenium import webdriver
from selenium.webdriver.common.by import By
def submit_recaptcha_token(driver, token: str):
"""Chèn token reCAPTCHA và gửi"""
recaptcha_response = driver.find_element(By.ID, "g-recaptcha-response")
driver.execute_script("arguments[0].style.display = 'block';", recaptcha_response)
recaptcha_response.clear()
recaptcha_response.send_keys(token)
form = driver.find_element(By.TAG_NAME, "form")
form.submit()
Turnstile - Chèn Token
python
def submit_turnstile_token(driver, token: str):
"""Chèn token Turnstile và gửi"""
turnstile_input = driver.find_element(By.NAME, "cf-turnstile-response")
driver.execute_script("arguments[0].value = arguments[1];", turnstile_input, token)
form = driver.find_element(By.TAG_NAME, "form")
form.submit()
Thách thức Cloudflare - Sử dụng Cookie
python
import requests
def access_cloudflare_protected_page(url: str, cf_solution: dict):
"""Sử dụng giải pháp Cloudflare Challenge để truy cập trang bị bảo vệ."""
session = requests.Session()
for cookie in cf_solution["cookies"]:
session.cookies.set(cookie["name"], cookie["value"])
headers = {"User-Agent": cf_solution["user_agent"]}
response = session.get(url, headers=headers)
return response.text
Nguyên Tắc Tốt
1. Xử lý Lỗi với Thử lại Tự động
python
from agno.tools import tool
import time
@tool
def solve_with_retry(
website_url: str,
website_key: str,
max_retries: int = 3
) -> str:
"""Giải CAPTCHA với thử lại tự động khi thất bại."""
for attempt in range(max_retries):
try:
result = solve_recaptcha_v2(website_url, website_key)
if not result.startswith("Lỗi") and not result.startswith("Thất bại"):
return result
except Exception as e:
if attempt == max_retries - 1:
return f"Tất cả các lần thử đều thất bại: {str(e)}"
time.sleep(2 ** attempt) # Backoff theo cấp số nhân
return "Quá số lần thử tối đa"
2. Quản lý Số dư
python
@tool
def check_balance() -> float:
"""Kiểm tra số dư tài khoản CapSolver."""
response = requests.post(
"https://api.capsolver.com/getBalance",
json={"clientKey": CAPSOLVER_API_KEY}
)
return response.json().get("balance", 0)
3. Hỗ trợ Async
Agno hỗ trợ các hoạt động async để cải thiện hiệu suất:
python
import asyncio
import aiohttp
from agno.tools import tool
@tool
async def solve_captcha_async(website_url: str, website_key: str) -> str:
"""Bộ giải CAPTCHA async để cải thiện khả năng đồng thời."""
async with aiohttp.ClientSession() as session:
payload = {
"clientKey": CAPSOLVER_API_KEY,
"task": {
"type": "ReCaptchaV2TaskProxyLess",
"websiteURL": website_url,
"websiteKey": website_key
}
}
async with session.post(
"https://api.capsolver.com/createTask",
json=payload
) as response:
result = await response.json()
if result.get("errorId") != 0:
return f"Lỗi: {result.get('errorDescription')}"
task_id = result.get("taskId")
for _ in range(60):
await asyncio.sleep(2)
async with session.post(
"https://api.capsolver.com/getTaskResult",
json={"clientKey": CAPSOLVER_API_KEY, "taskId": task_id}
) as response:
result = await response.json()
if result.get("status") == "ready":
solution = result.get("solution", {})
return solution.get("gRecaptchaResponse") or solution.get("token")
if result.get("status") == "failed":
return f"Thất bại: {result.get('errorDescription')}"
return "Hết thời gian"
Kết luận
Việc tích hợp CapSolver với Agno mở ra tiềm năng đầy đủ của các tác nhân AI tự động cho các nhiệm vụ dựa trên web. Bằng cách kết hợp khả năng điều phối đa tác nhân nhanh chóng, bảo mật cao của Agno với khả năng giải CAPTCHA hàng đầu của CapSolver, các nhà phát triển có thể xây dựng các giải pháp tự động đáng tin cậy có thể xử lý các cơ chế bảo vệ web phức tạp nhất.
Dù bạn đang xây dựng các quy trình trích xuất dữ liệu, khung kiểm tra tự động hay các tác nhân web thông minh, sự kết hợp giữa Agno và CapSolver cung cấp tốc độ, độ tin cậy và khả năng mở rộng cần thiết cho môi trường sản xuất.
Sẵn sàng bắt đầu chưa? Đăng ký CapSolver và sử dụng mã khuyến mãi AGNO để nhận thêm 6% khuyến mãi cho lần nạp đầu tiên!
Câu hỏi Thường Gặp
Agno là gì?
Agno là khung đa tác nhân, môi trường chạy và bảng điều khiển để xây dựng sản phẩm AI. Nó nhanh hơn 529 lần so với LangGraph với mức sử dụng bộ nhớ thấp hơn 24 lần, và chạy hoàn toàn trên cơ sở hạ tầng của bạn để đảm bảo quyền riêng tư tối đa.
Cách CapSolver tích hợp với Agno?
CapSolver tích hợp với Agno thông qua các công cụ tùy chỉnh được đánh dấu bằng @tool. Bạn tạo các hàm bao quanh API của CapSolver, cho phép các tác nhân AI của bạn tự động giải CAPTCHA khi gặp phải trong quá trình hoạt động web.
Những loại CAPTCHA nào CapSolver có thể giải?
CapSolver hỗ trợ nhiều loại CAPTCHA như reCAPTCHA v2, reCAPTCHA v3, Cloudflare Turnstile, Cloudflare Challenge, AWS WAF, GeeTest và nhiều loại khác.
Giá của CapSolver là bao nhiêu?
CapSolver cung cấp giá cả cạnh tranh dựa trên loại và khối lượng CAPTCHA được giải. Truy cập capsolver.com để xem chi tiết giá cả hiện tại. Sử dụng mã AGNO để nhận 5% khuyến mãi cho lần nạp đầu tiên.
Tôi có thể sử dụng Agno với các nhà cung cấp LLM khác không?
Có! Agno không phụ thuộc vào mô hình và hỗ trợ 50+ nhà cung cấp mô hình như OpenAI, Anthropic Claude, Google Gemini, Groq và nhiều nhà cung cấp khác.
Agno có miễn phí không?
Có, Agno là mã nguồn mở và được phát hành dưới giấy phép MIT. Khung phần mềm miễn phí để sử dụng, tuy nhiên bạn có thể phát sinh chi phí cho các cuộc gọi API LLM và dịch vụ giải CAPTCHA như CapSolver.
Làm thế nào để tìm key site CAPTCHA?
Key site thường được tìm thấy trong mã nguồn HTML của trang. Tìm kiếm:
- reCAPTCHA: thuộc tính
data-sitekeyhoặc gọigrecaptcha.render() - Turnstile: thuộc tính
data-sitekeytrong widget Turnstile
Tuyên bố Tuân thủ: Thông tin được cung cấp trên blog này chỉ mang tính chất tham khảo. CapSolver cam kết tuân thủ tất cả các luật và quy định hiện hành. Việc sử dụng mạng lưới CapSolver cho các hoạt động bất hợp pháp, gian lận hoặc lạm dụng là hoàn toàn bị cấm và sẽ bị điều tra. Các giải pháp giải captcha của chúng tôi nâng cao trải nghiệm người dùng trong khi đảm bảo tuân thủ 100% trong việc giúp giải quyết các khó khăn về captcha trong quá trình thu thập dữ liệu công khai. Chúng tôi khuyến khích việc sử dụng dịch vụ của chúng tôi một cách có trách nhiệm. Để biết thêm thông tin, vui lòng truy cập Điều khoản Dịch vụ và Chính sách Quyền riêng tư.
Thêm

Cách giải reCAPTCHA v2 trong Relevance AI với tích hợp CapSolver
Xây dựng một công cụ AI của Relevance để giải quyết reCAPTCHA v2 bằng CapSolver. Tự động hóa việc gửi biểu mẫu qua API mà không cần tự động hóa trình duyệt.

Anh Tuan
03-Feb-2026

Công cụ Ghi dữ liệu Nhanh: Cách nhanh chóng trích xuất dữ liệu web mà không cần code
Khám phá các công cụ trích xuất dữ liệu tức thì tốt nhất cho năm 2026. Học các cách nhanh chóng để trích xuất dữ liệu từ web mà không cần mã nguồn bằng cách sử dụng các tiện ích mở rộng hàng đầu và API để trích xuất tự động.

Nikolai Smirnov
28-Jan-2026

Thu thập dữ liệu từ web các bài báo tin tức bằng Python (Hướng dẫn 2026)
Nắm vững trích xuất dữ liệu từ web bài báo tin tức bằng Python vào năm 2026. Học cách giải reCAPTCHA v2/v3 bằng CapSolver và xây dựng các pipeline dữ liệu có thể mở rộng.

Anh Tuan
28-Jan-2026

Cấm IP vào năm 2026: Cách chúng hoạt động và các cách thực tế để vượt qua chúng
Học cách lách chặn IP vào năm 2026 với hướng dẫn toàn diện của chúng tôi. Khám phá các kỹ thuật chặn IP hiện đại và giải pháp thực tế như proxy nhà ở và trình giải CAPTCHA.

Aloísio Vítor
26-Jan-2026

Cách giải Captcha trong Maxun với tích hợp CapSolver
Một hướng dẫn thực tế về việc tích hợp CapSolver với Maxun cho quét web thực tế. Học cách xử lý reCAPTCHA, Cloudflare Turnstile và các trang web được bảo vệ bằng CAPTCHA bằng cách sử dụng quy trình xác thực trước và luồng công việc robot.

Anh Tuan
21-Jan-2026

Cách giải Captcha trong Browser4 với tích hợp CapSolver
Tự động hóa Browser4 tỷ lệ xử lý cao kết hợp với CapSolver để xử lý các thách thức CAPTCHA trong việc trích xuất dữ liệu web quy mô lớn.

Anh Tuan
21-Jan-2026


