2captcha:Openclaw Skills 的自动化验证码识别 CLI

作者:互联网

2026-03-20

AI教程

什么是 2captcha?

2captcha 技能在自动化脚本和 2Captcha 识别服务之间提供了一个高性能桥梁。通过将此工具整合到您的 Openclaw Skills 生态系统中,您可以编程化地绕过各种网页挑战,包括 reCAPTCHA、hCaptcha 和 Cloudflare Turnstile。它旨在促进无缝的网页自动化,允许代理在无需人工干预的情况下浏览受保护的表单和登录界面。

对于构建面临复杂反爬虫措施的强大爬虫或自动化代理的开发人员来说,这项技能特别有价值。它处理任务提交、轮询和令牌检索的繁重工作,确保您的 Openclaw Skills 在各种网页环境中保持高成功率。

下载入口:https://github.com/openclaw/skills/tree/main/skills/adinvadim/2captcha

安装与下载

1. ClawHub CLI

从源直接安装技能的最快方式。

npx clawhub@latest install 2captcha

2. 手动安装

将技能文件夹复制到以下位置之一

全局模式 ~/.openclaw/skills/ 工作区 /skills/

优先级:工作区 > 本地 > 内置

3. 提示词安装

将此提示词复制到 OpenClaw 即可自动安装。

请帮我使用 Clawhub 安装 2captcha。如果尚未安装 Clawhub,请先安装(npm i -g clawhub)。

2captcha 应用场景

  • 在自动化网页数据提取过程中绕过视觉图像挑战。
  • 在受 reCAPTCHA v2 或 v3 保护的平台上自动注册账号。
  • 导航通过 Cloudflare Turnstile 或 hCaptcha 保护的网关。
  • 为自动化表单提交解决基于文本的逻辑问题。
  • 将验证码识别集成到 CI/CD 流水线中进行端到端测试。
2captcha 工作原理
  1. 自动化脚本在目标网页上检测到验证码元素。
  2. 脚本提取必要的参数,如 sitekey、页面 URL 或图像数据。
  3. 使用提取的参数触发 solve-captcha CLI 工具。
  4. 任务被上传到 2Captcha 服务并分配给识别员。
  5. CLI 工具等待并在识别完成后检索解决方案令牌或文本。
  6. 解决方案被注入回网页或通过 API 请求提交以完成挑战。

2captcha 配置指南

安装

使用以下命令直接安装 CLI 工具:

curl -fsSL https://raw.githubusercontent.com/adinvadim/2captcha-cli/main/solve-captcha -o /usr/local/bin/solve-captcha && chmod +x /usr/local/bin/solve-captcha

配置

您必须通过配置文件或环境变量提供您的 2Captcha API 密钥,以便与 Openclaw Skills 配合使用:

# 通过配置文件
mkdir -p ~/.config/2captcha
echo "YOUR_API_KEY" > ~/.config/2captcha/api-key

# 或通过环境变量
export TWOCAPTCHA_API_KEY="your-key"

2captcha 数据架构与分类体系

该技能使用以下结构管理配置和服务响应:

组件 描述 格式
API 密钥 服务的身份验证凭据 位于 ~/.config/2captcha/api-key 的纯文本文件
验证码参数 用于识别的 Sitekeys、URL 或图像路径 命令行参数
解决方案令牌 用于绕过挑战的结果字符串 字符串输出 (Stdout)
错误代码 诊断代码,如 ERROR_ZERO_BALANCE 字符串输出 (Stderr)
name: 2captcha
description: Solve CAPTCHAs using 2Captcha service via CLI. Use for bypassing captchas during web automation, account creation, or form submission.
homepage: https://github.com/adinvadim/2captcha-cli

2Captcha Skill

Solve CAPTCHAs programmatically using the 2Captcha human-powered service.

Installation

# One-line install
curl -fsSL https://raw.githubusercontent.com/adinvadim/2captcha-cli/main/solve-captcha r
  -o /usr/local/bin/solve-captcha && chmod +x /usr/local/bin/solve-captcha

# Verify
solve-captcha --version

Configuration

# Save your 2Captcha API key
mkdir -p ~/.config/2captcha
echo "YOUR_API_KEY" > ~/.config/2captcha/api-key

# Or use environment variable
export TWOCAPTCHA_API_KEY="your-key"

Get your API key at https://2captcha.com/enterpage

Quick Reference

Check Balance First

./solve-captcha balance

Image CAPTCHA

# From file
./solve-captcha image /path/to/captcha.png

# From URL  
./solve-captcha image "https://site.com/captcha.jpg"

# With options
./solve-captcha image captcha.png --numeric 1 --math
./solve-captcha image captcha.png --comment "Enter red letters only"

reCAPTCHA v2

./solve-captcha recaptcha2 --sitekey "6Le-wvk..." --url "https://example.com"

reCAPTCHA v3

./solve-captcha recaptcha3 --sitekey "KEY" --url "URL" --action "submit" --min-score 0.7

hCaptcha

./solve-captcha hcaptcha --sitekey "KEY" --url "URL"

Cloudflare Turnstile

./solve-captcha turnstile --sitekey "0x4AAA..." --url "URL"

FunCaptcha (Arkose)

./solve-captcha funcaptcha --public-key "KEY" --url "URL"

GeeTest

# v3
./solve-captcha geetest --gt "GT" --challenge "CHALLENGE" --url "URL"

# v4
./solve-captcha geetest4 --captcha-id "ID" --url "URL"

Text Question

./solve-captcha text "What color is the sky?" --lang en

Finding CAPTCHA Parameters

reCAPTCHA sitekey

Look for:

  • data-sitekey attribute in HTML
  • k= parameter in reCAPTCHA iframe URL
  • Network request to google.com/recaptcha/api2/anchor

hCaptcha sitekey

Look for:

  • data-sitekey in hCaptcha div
  • Network requests to hcaptcha.com

Turnstile sitekey

Look for:

  • data-sitekey in Turnstile widget
  • cf-turnstile class elements

Workflow for Browser Automation

  1. Detect CAPTCHA - Check if page has captcha element
  2. Extract params - Get sitekey/challenge from page source
  3. Solve via CLI - Call solve-captcha with params
  4. Inject token - Set g-recaptcha-response or callback

Example: Inject reCAPTCHA Token

// After getting token from solve-captcha
document.getElementById('g-recaptcha-response').value = token;
// Or call callback if defined
___grecaptcha_cfg.clients[0].callback(token);

Cost Awareness

  • Check balance before heavy automation
  • Image: ~$0.001 per solve
  • reCAPTCHA/hCaptcha/Turnstile: ~$0.003 per solve

Error Handling

Common errors:

  • ERROR_ZERO_BALANCE - Top up account
  • ERROR_NO_SLOT_AVAILABLE - Retry in few seconds
  • ERROR_CAPTCHA_UNSOLVABLE - Bad image or impossible captcha
  • ERROR_WRONG_CAPTCHA_ID - Invalid task ID

Notes

  • Solving takes 10-60 seconds depending on type
  • reCAPTCHA v3 may need multiple attempts for high scores
  • Some sites detect automation - use carefully
  • Tokens expire! Use within 2-5 minutes