製品統合リソースドキュメント料金
今すぐ開始

© 2026 CapSolver. All rights reserved.

お問い合わせ

Slack: lola@capsolver.com

製品

  • reCAPTCHA v2
  • reCAPTCHA v3
  • Cloudflare Turnstile
  • Cloudflare Challenge
  • AWS WAF
  • ブラウザ拡張機能
  • その他多数のCAPTCHAタイプ

統合

  • Selenium
  • Playwright
  • Puppeteer
  • n8n
  • パートナー
  • すべての統合を表示

リソース

  • 紹介プログラム
  • ドキュメント
  • APIリファレンス
  • ブログ
  • よくある質問
  • 用語集
  • ステータス

法務

  • 利用規約
  • プライバシーポリシー
  • 返金ポリシー
  • 個人情報を販売しない
ブログ/AI/ブラウザの自動化でCAPTCHAを解決する方法: Hermes AgentとCapSolverを使って
May06, 2026

ブラウザの自動化でCAPTCHAを解決する方法: Hermes AgentとCapSolverを使って

Sora Fujimoto

Sora Fujimoto

AI Solutions Architect

Hermes Agentのブラウザ自動化ワークフローにCapSolverを統合して自動CAPTCHA解決を実現

AIエージェントがWebをあなたの代わりにブラウズするとき、CAPTCHAは最大の障害になります。保護されたページがエージェントをブロックし、フォームが提出を拒否し、タスクが人間の介入を待って停止します。

Hermes AgentはNous Researchによって開発された自己改善型のAIエージェントで、$5のVPSからGPUクラスタまでどこでも動作し、Telegram、Discord、Slack、WhatsApp、Signal、メールなどすでに使っているすべてのチャネルを通じてあなたに届きます。また、ブラウザを操作してページをナビゲートし、ボタンをクリックし、フォームを埋め、データを抽出することもできます。しかし、他のブラウザ操作エージェントと同様、CAPTCHAに詰まります。

CapSolverはこれを完全に変えることができます。Hermesが接続するブラウザにCapSolver Chrome拡張機能をロードすることで、CAPTCHAは自動的かつ不可視にバックグラウンドで解決されます。コードは必要ありません。あなたの側でAPIコールを行う必要もありません。プロンプトエンジニアリングのトリックも必要ありません。

最も良い点は、エージェントにCAPTCHAについて言及する必要すらありません。ただ「送信する前に少し待って」と指示するだけで、エージェントが「送信」をクリックする頃には、CAPTCHAはすでに解決されています。


Hermes Agentとは何か?

Hermes Agentは、Nous Researchによって開発されたオープンソースの自律型AIエージェントです。3つの原則に基づいて設計されています:永続的なメモリ(セッション間であなたやプロジェクトを覚えています)、自律的なスキル作成(経験からプロセスを学び、次回に再実行します)、インフラストラクチャの柔軟性(小さなVPS、Dockerコンテナ、サーバーレスサンドボックス、または独自のGPUボックスで実行できます)。

主な特徴

  • マルチチャネルゲートウェイ:Telegram、Discord、Slack、WhatsApp、Signal、メール、または独自のターミナルUIからエージェントと話せます
  • 独自のモデルを導入:OpenRouter(200以上のモデル)、Nous Portal、NVIDIA NIM、Z.AI、または独自のエンドポイント — hermes modelで切り替え可能
  • セッション間メモリ:FTS5セッション検索 + LLM要約により、先週の会話内容を覚えています
  • スキルシステム:エージェントが自ら構築する手続き型メモリ、agentskills.io標準と互換性あり
  • 7つのターミナルバックエンド:ローカル、Docker、SSH、Singularity、Modal、Daytona、Vercelサンドボックス
  • 組み込みブラウザツール:Playwright + Chrome DevTools Protocolを介して実際のChromiumを操作します

ブラウザツール

Hermesは実際のChromiumブラウザを操作して本格的な作業を行います — ページのナビゲーション、DOMの読み取り、クリック、タイプ、スクリーンショット、スクレイピング。そのブラウザツールレイヤーは特定の点で異なります:単一のバックエンドに強制する代わりに、Hermesは5つの交換可能なブラウザプロバイダーをサポートしています:

プロバイダー タイプ 拡張機能?
Browserbase クラウド ✗
Browser Use クラウド ✗
Firecrawl クラウド ✗
Camoufox ローカル(Firefoxステルス) ✗
CDPアタッチ ローカル(任意のChromium) ✓

クラウドプロバイダーは拡張機能をロードできません — あなたはリモートブラウザを制御できません。CamoufoxはFirefoxベースでChrome MV3拡張機能を実行できません。クリーンな統合ポイントは5番目のCDPアタッチです。Hermesはあなたが別途起動したChromiumに接続します。それがCapSolverが統合される場所です。

これは、OpenClaw(独自のChromiumを起動し、browser.extensions配列を受け入れる)や Crawlee(Playwrightの起動フラグを制御する)などのツールとは異なるモデルです。Hermesでは、拡張機能を事前にロードした独自のChromeを起動し、DevToolsプロトコルで接続します。


CapSolverとは何か?

CapSolverは、現代のCAPTCHAチャレンジを回避するAI駆動のソリューションを提供するリーディングなCAPTCHA解決サービスです。すべての主要なCAPTCHAタイプをサポートし、高速な応答時間を実現しています。Playwright経由でブラウザを操作する場合、APIを直接呼び出す場合、またはこのガイドで説明するように、エージェントのブラウザセッション内でChrome拡張機能を実行する場合でも、自動ワークフローにシームレスに統合されます。

この統合が異なる理由

ほとんどのCAPTCHA解決の統合ではコードを書く必要があります — APIコールを作成し、結果をポーリングし、トークンを隠しフォームフィールドにインジェクトします。これは Crawlee、 Puppeteer、または Playwrightなどのツールで行われます。

Hermes + CapSolverは根本的に異なります:

伝統的な(コードベース) Hermes(自然言語)
CapSolverServiceクラスを書く --load-extension=...で一度だけChromeを起動
createTask() / getTaskResult()を呼び出す エージェントに話しかけるだけで良い
page.$eval()を通じてトークンをインジェクトする 拡張機能がすべてを処理します
エラー、リトライ、タイムアウトをコードで処理する 「60秒待ってから送信してください」と指示する
各CAPTCHAタイプごとに異なるコード 自動的にすべてのタイプに対応します

重要な洞察:CapSolver Chrome拡張機能はアタッチされたブラウザ内で動作します。HermesはCDP経由でそのブラウザに接続し、通常通り操作します。エージェントがCAPTCHAのあるページに移動すると、拡張機能 — 同じChromeで動作し、エージェントには完全に不可視 — がウィジェットを検出し、CapSolver APIを呼び出し、解決トークンをページにインジェクトします。エージェントが「送信」をクリックする頃には、フォームにはすでに有効なトークンが含まれています。

ただ時間を与える必要があります。 エージェントに「CAPTCHAを解決してください」と言う代わりに、単に次のように言います:

「そのページに移動し、60秒待ってから「送信」をクリックしてください。」

それだけです。エージェントはCapSolverの存在を知る必要はありません。


前提条件

統合を設定する前に、以下のものを確認してください:

  1. Hermes Agentをインストールし、ゲートウェイを実行中 (インストール手順)
  2. CapSolverアカウントとAPIキー (サインアップはこちら)
  3. ChromiumまたはChrome for Testing(以下の重要な注意事項を参照)

重要な注意:Google ChromeではなくChromiumを使用してください

Google Chrome 137+(2025年半ばリリース)は、ブランド版で--load-extensionのサポートを静かに削除しました。 このため、標準的なGoogle Chromeで自動化セッション中にChrome拡張機能をロードすることはできません。エラーは発生しません — フラグは単に無視されます。

これはGoogle ChromeとMicrosoft Edgeに影響します。必須なのは以下の代替手段です:

ブラウザ 拡張機能ロード 推奨?
Google Chrome 137+ サポートされていません いいえ
Microsoft Edge サポートされていません いいえ
Chrome for Testing サポートされています はい
Chromium(スタンドアロン) サポートされています はい
PlaywrightのバンドルChromium サポートされています はい

Chrome for Testingのインストール方法:

bash Copy
# オプション1:Playwright経由(推奨 — Hermesは内部的にPlaywrightを使用しています)
npx playwright install chromium

# バイナリのパスは以下のようになります:
# ~/.cache/ms-playwright/chromium-XXXX/chrome-linux64/chrome           (Linux)
# ~/Library/Caches/ms-playwright/chromium-XXXX/chrome-mac/Chromium.app/Contents/MacOS/Chromium  (macOS)
bash Copy
# オプション2:Chrome for Testingの直接ダウンロード
# 訪問:https://googlechromelabs.github.io/chrome-for-testing/
# OSに合ったバージョンをダウンロード

インストール後、バイナリの完全なパスを記録してください — 次のステップで必要になります。


ステップバイステップの設定

統合には2つの部分が連携しています:

  1. 別途起動するChromeプロセス — 事前にCapSolver拡張機能をロードし、既知のポート(9222)でCDPを公開します。
  2. Hermesのconfig.yamlの小さな変更 — それ自体のブラウザを起動する代わりに、このCDPポートに接続するように指示します。

それだけです — コードは必要ありません、Hermesのパッチも必要ありません。

ステップ1:CapSolver Chrome拡張機能をダウンロード

拡張機能を安定した場所にダウンロードし、展開してください:

  1. CapSolver拡張機能のリリースにアクセス
  2. 最新のCapSolver.Browser.Extension-chrome-vX.X.X.zipをダウンロード
  3. ZIPを展開:
bash Copy
mkdir -p ~/.hermes/capsolver-extension
unzip CapSolver.Browser.Extension-chrome-v*.zip -d ~/.hermes/capsolver-extension/
  1. 展開が成功したか確認:
bash Copy
ls ~/.hermes/capsolver-extension/manifest.json

manifest.jsonが表示されるはずです — これにより拡張機能が正しい場所にあることが確認されます。

パスのヒント:後でChromeに--load-extension=...を渡す際は、絶対パスを使用してください(~ではなく)。一部のChrome MV3ビルドでは、カスタムユーザーデータディレクトリのシンボリックリンクを介して拡張機能のサービスワーカーが登録されない場合があります。他の場所からシンボリックリンクを使用する場合は、readlink -fで実際のパスを解決し、それを使います。

ステップ2:CapSolver APIキーを設定

拡張機能の設定ファイル~/.hermes/capsolver-extension/assets/config.jsを開き、apiKeyの値を自分のAPIキーに置き換えてください:

js Copy
export const defaultConfig = {
  apiKey: 'CAP-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',  // ← ここにあなたのキーを
  useCapsolver: true,
  enabledForRecaptcha: true,
  enabledForRecaptchaV3: true,
  // ... その他の設定
};

APIキーはCapSolverダッシュボードから取得できます。

ステップ3:拡張機能とCDPを有効にしてChromeを起動

これは重要なステップです。ChromeをHermesとは別に一度だけ起動し、3つの重要なフラグを指定します:

  • --remote-debugging-port=9222 — DevToolsプロトコルを公開してHermesが接続できるようにします
  • --load-extension=... — CapSolver拡張機能を事前にロードします
  • --user-data-dir=... — ユーザーの個人用Chromeと衝突しない専用プロファイルを使用します

Hermesはuser-data-dirのための組み込みの規約を備えています:~/.hermes/chrome-debug。このパスを使用すると、Hermesのアプリ内/browser connectコマンドも追加のフラグなしで動作します。

オプションA:ワンショットの手動起動(クイックテスト用)

bash Copy
/path/to/chrome-for-testing/chrome \
  --remote-debugging-port=9222 \
  --remote-debugging-address=127.0.0.1 \
  --user-data-dir="$HOME/.hermes/chrome-debug" \
  --load-extension="$HOME/.hermes/capsolver-extension" \
  --disable-extensions-except="$HOME/.hermes/capsolver-extension" \
  --no-first-run \
  --no-default-browser-check \
  --no-sandbox

/path/to/chrome-for-testing/chromeを実際のバイナリに置き換えてください。例として、~/.cache/ms-playwright/chromium-1200/chrome-linux64/chromeを使用します。

ヘッドレスサーバー:Linuxサーバーで物理的なディスプレイがなく(VPS、EC2など)、この手順を実行している場合、下記の「ベストプラクティス」セクションでXvfbの設定を参照してください。Chrome拡張機能サブシステムはディスプレイコンテキストを必要とします。

オプションB:永続的なバックグラウンドプロセス(プロダクション用に推奨)

単一のテスト実行よりも長く動作する設定の場合、起動を小さなシェルスクリプトでラップし、バックグラウンドでChromeを実行し、クリーンに再起動し、すでに使用しているプロセスマネージャー(systemd、supervisor、runit、OpenRC、Dockerなど)で監視できます。

これを~/.hermes/chrome-debug.shとして保存し、chmod +xを実行してください:

bash Copy
#!/usr/bin/env bash
# ~/.hermes/chrome-debug.sh
# CapSolver拡張機能を事前にロードし、127.0.0.1:9222でCDPを公開するChrome-for-Testingを起動します。

CHROME_BIN="$HOME/.cache/ms-playwright/chromium-1200/chrome-linux64/chrome"
EXT_DIR="$HOME/.hermes/capsolver-extension"
USER_DATA_DIR="$HOME/.hermes/chrome-debug"

export DISPLAY=:99   # ヘッドレスLinux用 — ベストプラクティスを参照

exec "$CHROME_BIN" \
  --remote-debugging-port=9222 \
  --remote-debugging-address=127.0.0.1 \
  --user-data-dir="$USER_DATA_DIR" \
  --load-extension="$EXT_DIR" \
  --disable-extensions-except="$EXT_DIR" \
  --no-first-run \
  --no-default-browser-check \
  --no-sandbox \
  --disable-dev-shm-usage \
  --disable-features=Translate

最も単純な永続的な起動は以下の通りです:

bash Copy
nohup ~/.hermes/chrome-debug.sh > /tmp/chrome-debug.log 2>&1 &

プロダクション環境では、お好みのプロセスマネージャーでスクリプトを監視してください。最小限のsystemdユニットを~/.config/systemd/user/chrome-debug.serviceに保存:

ini Copy
[Unit]
Description=CapSolverを搭載したChrome(Hermesエージェント用)
After=network.target

[Service]
ExecStart=%h/.hermes/chrome-debug.sh
Restart=always
RestartSec=5

[Install]
WantedBy=default.target

その後:

bash Copy
systemctl --user daemon-reload
systemctl --user enable --now chrome-debug

同等の設定(supervisordプログラム、runitサービス、Dockerコンテナなど)は同様に動作します — 統合は何かがchrome-debug.shを実行し続けることを気にしています。

ステップ4:HermesにCDPで接続するよう指示

Hermesの設定ファイル~/.hermes/config.yamlを編集してください。browser:セクション(通常はinactivity_timeoutのみ)を見つけて、cdp_urlを追加してください:

yaml Copy
browser:
  inactivity_timeout: 120
  cdp_url: http://127.0.0.1:9222

この1行は、Hermesのbrowser_cdpツールに、ステップ3で起動したChromeインスタンスを通じてすべてのブラウザ操作をルーティングするよう指示します。それ自体でブラウザを起動する代わりに。

元に戻す方法:これはHermes自体への唯一の変更です。元に戻すにはcdp_urlの行を削除してください。Hermesは以前のデフォルトブラウザプロバイダー(Browserbase、Browser Useなど)に戻りますが、他の影響はありません。

ステップ5:Hermesを再起動

Hermesがすでに実行されている場合、新しいcdp_urlを読み込むために再起動してください:

bash Copy
# 直接実行(フォアグラウンドまたはあなたのマネージャーの下で):
hermes gateway run

# または、Hermesを監視しているプロセスマネージャー経由で再起動 —
# 新しい環境/設定が効くことだけが要件です。

ステップ6:設定を確認

Hermesには統合のすべての部分を一度にチェックする組み込みの診断コマンドが付属しています:

bash Copy
hermes doctor

これらのシグナルを確認してください:

Copy
◆ ツールの利用可能性
  ✓ browser-cdp        ← CDPアタッチが動作中
  ✓ browser
  ...

◆ API接続性
  OpenRouter APIをチェック中...  ✓ OpenRouter API

browser-cdpがツールの利用可能性の下に表示されている場合、HermesはCDPエンドポイントを検出しており、統合は正しく設定されています。表示されていない場合、Hermesは静かにツールを無効にします(エラーは発生しません) — その診断を監視してください。

Chromeが直接アクセス可能か確認することもできます:

bash Copy
curl -s http://127.0.0.1:9222/json/version

以下の応答が得られれば、CDPが動作しています:

json Copy
{
"Browser": "Chrome/<your version>",
   "Protocol-Version": "1.3",
   "webSocketDebuggerUrl": "ws://127.0.0.1:9222/devtools/browser/..."
}

CapSolverサービスワーカーの可視性について: Chrome MV3サービスワーカーは積極的にアイドル状態になります。また、最近のChromeビルドでは/json/listが完全に省略されることがあります。これは、サービスワーカーが実行中でもです。/json/listに表示されないことは診断的ではありません。エージェントを通じて実際にreCAPTCHAページを読み込み、ページ内のウィジェットの結果を観察することで、CapSolverが動作していることを確認してください。ターゲットリストをポーリングするのではなく、それを行ってください。


使用方法

これは最も重要なセクションです。設定が完了すれば、HermesでCapSolverを使用するのは非常に簡単です。

黄金の法則

エージェントにCAPTCHAやCapSolverについて言及しないでください。 フォームの送信前に時間を確保してください。

エージェントはCAPTCHAについて知る必要はありません。拡張機能が背景ですべてを処理します。必要なのは、拡張機能がチャレンジを解決する時間を確保するために、指示に待機時間を含めることだけです。

例1: 1回限りのスモークテスト

Hermesのワンショットモード(hermes -z "...")は、統合テストに最適です。hermes CLIが利用可能な任意のターミナルで実行してください:

bash Copy
hermes -z 'https://www.google.com/recaptcha/api2/demoを開き、ページが完全にレンダリングされるまで60秒待ってください。次に、"Send!"とラベル付けされたボタンまたはID"recaptcha-demo-submit"をクリックしてください。クリック後、5秒待って、ページに表示されているテキストを私に教えてください。' --yolo

裏で起こっていること:

  1. HermesがChromeのCDP経由で接続します
  2. エージェントがGoogleのreCAPTCHAデモページに移動します
  3. CapSolverのコンテンツスクリプト(Chrome内で実行中)がreCAPTCHAウィジェットを検出します
  4. 拡張機能のサービスワーカーがCapSolver APIを呼び出してチャレンジを解決します(通常5〜15秒かかります)
  5. トークンが隠しg-recaptcha-responseフォームフィールドに挿入されます
  6. 60秒後にエージェントが送信ボタンをクリックします
  7. Googleのサーバーがトークンを検証し、結果ページを返します
  8. エージェントが送信後のテキストを読み取ります: "Verification Success... Hooray!"

この"Verification Success... Hooray!"という文字列はGoogleの確認メッセージであり、フォームに有効なreCAPTCHAトークンが送信された場合にのみ表示されます。

例2: メッセージチャネルから

Hermesゲートウェイに接続されている任意のチャネル(Telegram、Discord、Slackなど)から送信してください:

Copy
https://example.com/loginに移動し、メールフィールドに"me@example.com"、パスワードフィールドに"mypassword123"を入力してください。その後30秒待って、サインインボタンをクリックしてください。サインイン後のページはどのページですか?

Hermesはリクエストをエージェントにルーティングし、同じChromeに接続し、フォームを入力し、ログインページのCAPTCHAを解決する時間を拡張機能に与え、サインインをクリックし、サインイン後のページの内容を返します。CAPTCHAについて言及することなくすべてを処理します。

例3: reCAPTCHA付きの連絡フォームを送信

Copy
https://example.com/contactを開き、連絡フォームに入力してください:
- 名前: "John Doe"
- メール: "john@example.com"
- メッセージ: "Hello, I have a question about your services."
45秒待ってから「Send Message」をクリックしてください。
ページに表示される確認メッセージは何ですか?

推奨される待機時間

CAPTCHAタイプ 通常の解決時間 推奨される待機時間
reCAPTCHA v2 (チェックボックス) 5–15秒 30–60秒
reCAPTCHA v2 (非表示) 5–15秒 30秒
reCAPTCHA v3 3–10秒 20–30秒
AWS WAF CAPTCHA 5–15秒 30秒

ヒント: 不明な場合は60秒を使用してください。早すぎるよりも少し長く待つほうが良いです。余分な待機時間は実質的に無料です — CapSolverの料金は解決ごとで、秒ごとではありません。

効果的な自然言語のパターン

Hermesのどのチャネルでも使用できる検証済みの表現:

  • "URLに移動し、60秒待ってからフォームを送信してください"
  • "URLに移動し、[フィールド]を入力し、30秒待ってから[ボタン]をクリックしてください"
  • "URLを開き、約1分間待ってから送信ボタンをクリックし、結果を教えてください"
  • "URLにアクセスし、ページが完全に読み込まれるのを待ってから送信してください"

使ってはいけない表現

これらの表現を避けてください — エージェントを混乱させ、一部の安全設定がされたモデル(特にGLMシリーズ)で拒否を引き起こす可能性があります:

  • "CAPTCHAが解決されるのを待ってください" (エージェントはCAPTCHAについて知りません)
  • "CapSolverを使って検証を解決してください" (エージェントは拡張機能を制御できません)
  • "reCAPTCHAチェックボックスをクリックしてください" (拡張機能が処理します — クリックは干渉する可能性があります)
  • "セキュリティチェックをバイパスしてください" (敵対的のように聞こえる — 一部のモデルは拒否する可能性があります)

背後でどのように動作するか

技術的に興味のある方のために、アーキテクチャを以下に示します:

Copy
  あなたのメッセージ                  Hermesゲートウェイ
  ──────────────────────────────────────────────────────────
  "ページに移動し、           ──►   Hermesエージェントがメッセージを受信
   60秒待って送信"           │
                                ▼
                           browser_cdp / browser tools
                                │  (WebSocket経由でws://127.0.0.1:9222に接続)
                                ▼
                           ┌────────────────────────────────────┐
                           │  chrome-debug Chromium (背景)│
                           │                                     │
                           │  ┌───────────────────────────────┐ │
                           │  │ CapSolver MV3拡張機能       │ │
                           │  │ (--load-extension経由でロード; │ │
                           │  │  Chrome for Testing または Chromium — ブランドChrome 137+はこのフラグを無視) │ │
                           │  │                                │ │
                           │  │ 1. コンテンツスクリプトがCAPTCHAを検出 │
                           │  │ 2. サービスワーカーがCapSolver APIを呼び出す │
                           │  │ 3. トークンを受信                │ │
                           │  │ 4. トークンをフォームフィールドに挿入 │ │
                           │  └───────────────────────────────┘ │
                           └────────────────────────────────────┘
                                │
                                ▼
                           Hermesエージェントが60秒待機...
                                │
                                ▼
                           browser_cdp: 送信ボタンをクリック
                                │
                                ▼
                           有効なトークンを含むフォームが送信されます
                                │
                                ▼
                           送信後の確認ページ

なぜ"単に拡張機能配列を渡す"ではなくCDPに接続するのか?

Hermesのブラウザツールレイヤーは、5つの交換可能なプロバイダー(Browserbase、Browser Use、Firecrawl、Camoufox、headless Chromium)で構築されています。そのうち3つはクラウドで、ブラウザバイナリを制御できません。1つ(Camoufox)はFirefoxベースです。5つ目のCDP接続は、ユーザーが制御するChromiumを接続できる唯一の方法です。

トレードオフは非常に良いです: Hermesはデフォルトでクラウドに移行可能ですが、ブラウザ側のスーパーパワー(CapSolver、独自の広告ブロッカー、カスタムMV3ツール、永続的なクッキーなど)が必要な場合、Chromeを自分で起動してHermesに接続するだけです。1行の設定。完全な制御。

--load-extensionが実際に何を行うか

Chromeが--load-extension=/path/to/extensionで起動すると、そのディレクトリを展開済み拡張機能として扱います。これはChromeの開発者モードで使用されるメカニズムと同じです。拡張機能のマニフェスト、コンテンツスクリプト、サービスワーカーは、Chromeウェブストアからインストールした場合と同じように登録されます。サンドボックスの違いやAPIアクセスの制限はありません — これは完全に特権を持つ拡張機能です。

CapSolver拡張機能は以降を処理します:

  1. コンテンツスクリプト(すべてのページに挿入)は、既知のCAPTCHAウィジェット(reCAPTCHA、hCaptcha、FunCaptcha、AWS WAFなど)を監視します。
  2. ウィジェットが検出された場合、コンテンツスクリプトがサービスワーカーにメッセージを送信します。
  3. サービスワーカーはassets/config.jsのキーを使用してCapSolver APIに認証し、チャレンジの詳細を送信し、トークンをポーリングします。
  4. トークンが受信された場合、コンテンツスクリプトを介してページの隠し応答フィールドに挿入されます。
  5. エージェントが送信ボタンをクリックするときには、フォームはすでに有効な解決済みトークンを含んでいます。

Hermesエージェントは完全に無関与です — 通常のページを見ています。指定された時間だけ待って送信します。ページに有効なトークンが含まれているだけです。

環境の注意: Chromeのフラグで--disable-background-networkingを避けてください。これにより、CapSolverサービスワーカーの出力XHR/fetchがブロックされ、拡張機能がCapSolver APIにアクセスできなくなります。ステップ3のレシピでは意図的にこれを省略しています。


完全な構成リファレンス

Hermes側: ~/.hermes/config.yaml

必要な変更はbrowser:ブロックにcdp_urlを追加することのみです:

yaml Copy
browser:
  inactivity_timeout: 120
  cdp_url: http://127.0.0.1:9222

Chrome側: --load-extension引数

Chromeに渡すべき完全なフラグ一覧:

フラグ 目的
--remote-debugging-port=9222 CDPをTCPポート9222で公開(Hermesが接続するために必須)
--remote-debugging-address=127.0.0.1 CDPをループバックのみにバインド(セキュリティ — CDPを公開しないでください)
--user-data-dir=$HOME/.hermes/chrome-debug お使いの個人用Chromeと衝突しない専用プロファイル
--load-extension=/abs/path/to/capsolver-extension 実際の拡張機能をロード
--disable-extensions-except=/abs/path/to/capsolver-extension 余計な対策 — この拡張機能のみをロード
--no-first-run --no-default-browser-check Chromeのセットアップウィザードをスキップ
--no-sandbox Chromeのサンドボックスを無効化。Chromiumドキュメントでは「テスト用のみ」とされていますが、ユーザー名空間/SYS_ADMINの能力が利用できないヘッドレスLinux/Docker環境での標準的な対処法です。
--disable-dev-shm-usage コンテナでの/dev/shmの問題を回避

CapSolver側: assets/config.js

~/.hermes/capsolver-extension/assets/config.jsの最小構成:

js Copy
export const defaultConfig = {
  apiKey: 'CAP-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
  useCapsolver: true,
  enabledForRecaptcha: true,
  enabledForRecaptchaV3: true,
  // ... CapSolverドキュメントで完全なトグル一覧を参照
};

問題解決

hermes doctorがTool Availabilityにbrowser-cdpを表示しない

症状: Hermesを再起動した後、hermes doctorの出力にbrowser-cdpツールが表示されません。

原因: Hermesはbrowser.cdp_urlがconfig.yamlに設定されている、BROWSER_CDP_URL環境変数が設定されている、またはアクティブな/browser connectセッションがある場合にのみbrowser-cdpを登録します。チェックは構成の存在であり、到達可能性ではありません(tools/browser_cdp_tool.py:_browser_cdp_checkを参照)。browser-cdpツールが表示されない最も一般的な原因は、config.yamlにキーが誤ってネストされていること、またはChromeがそのエンドポイントで動作していないことです。

修正:

bash Copy
# 1. キーが"browser:"の下に正しくネストされていることを確認してください(トップレベルではない)
grep -A2 '^browser:' ~/.hermes/config.yaml
# 期待される出力:
#   browser:
#     ...
#     cdp_url: http://127.0.0.1:9222

# 2. その後、Chromeがそのエンドポイントで動作していることを確認してください
curl -s http://127.0.0.1:9222/json/version

# 3. Chromeが動作していない場合、chrome-debugログを確認してください:
tail -n 30 /tmp/chrome-debug.log     # または: journalctl --user -u chrome-debug -n 30

拡張機能がロードされない(ブランドChromeの問題)

症状: Chromeがスムーズに起動するが、CAPTCHAは解決されず、すべての送信が失敗します。

原因: ブランドGoogle Chrome 137+を使用しており、--load-extensionが無視されています。

修正: Chrome for TestingまたはChromiumに切り替えてください。バイナリを確認してください:

bash Copy
/path/to/your/chrome --version
# Chrome for Testing: "Chromium 143.0.7499.4"
# ブランドChrome:    "Google Chrome 143.0.7499.109"  ← 動作しません

CAPTCHAが解決されない(フォームが失敗)

可能性のある原因:

  1. 待機時間が十分でない — 60秒に増やしてください
  2. 無効なCapSolver APIキー — CapSolverダッシュボードを確認してください
  3. 残高が不足している — CapSolverアカウントに残高を追加してください
  4. バックグラウンドネットワークが無効 — Chromeの引数に--disable-background-networkingが含まれていないか確認してください(拡張機能の出力API呼び出しをブロックします)
  5. ブランドChrome — 上記を参照してください

ハーメス再起動後の最初のブラウザアクションでタイムアウト

症状: ハーメスを再起動した後の最初のブラウザアクションがタイムアウトしますが、以降のアクションは正常に動作します。

原因: コールドスタート時のCDPハンドシェイクがHermesのデフォルトツールタイムアウトを超えることがあります。以降のアクションはウォームなWebSocketを再利用し、高速です。

修正: コマンドを一度再実行してください。解決しない場合は、config.yamlのbrowser.inactivity_timeoutを増やしてください。

バイナリを切り替えた後にChromeがクラッシュ

症状: 他のChromeバージョンから切り替えた後、Chromeがディスクキャッシュエラーでクラッシュします。

原因: ユーザーのデータディレクトリが別のChromeバージョンで作成され、互換性がありません。

修正:

bash Copy
# 1. 現在のchrome-debugプロセスを停止(お使いの監視方法で)
pkill -f "remote-debugging-port=9222"

# 2. 古いプロファイルを削除
rm -rf ~/.hermes/chrome-debug

# 3. chrome-debugを再起動(プロセスマネージャーで、またはスクリプトを再実行)
nohup ~/.hermes/chrome-debug.sh > /tmp/chrome-debug.log 2>&1 &

CapSolverサービスワーカーが/json/listに表示されない

症状: curl http://127.0.0.1:9222/json/listはpageエントリのみを返し、service_workerは表示されません。

原因: Chrome MV3サービスワーカーは積極的にアイドル状態になり、最近のChromeビルドでは/json/listエンドポイントが完全に表示されないことがあります — これはサービスワーカーがアクティブにイベントを処理している場合でもです。

修正: これは診断的ではありません。CapSolverがロードされていることを確認するには、実際のreCAPTCHA保護ページ(例: https://www.google.com/recaptcha/api2/demo)にエージェントを移動させ、フォーム送信が成功するかを観察してください。送信が成功したことは、拡張機能がロードされ、チャレンジが解決されている証拠です; ターゲットリストエントリが表示されないことは失敗のシグナルではありません。


最良の実践方法

1. 常に余裕のある待機時間を設定する

より長い待機時間は常に安全です。CAPTCHAは通常5〜20秒で解決されますが、ネットワーク遅延、複雑なチャレンジ、またはリトライにより時間がかかることがあります。30〜60秒が最適な範囲です。

2. メッセージを自然に保つ

以下のようにしないでください:

"URLに移動し、CAPTCHAソルバーを待ってから送信"

以下のようにしてください:

"URLに移動し、約1分間待ってからフォームを送信"
自然な表現はエージェントと相性が良く、セーフティチューニングされたモデルとも上手に動作します。CAPTCHAの周囲で敵対的な表現を使用すると、一部のGLMクラスモデルで拒否が発生することが観測されています。

3. CapSolverの残高を監視する

各CAPTCHAの解決にはクレジットが使われます。中断を防ぐために、capsolver.com/dashboardで定期的に残高を確認してください。

4. 専用のユーザーデータディレクトリを使用する

--user-data-dirを実際のChromeプロファイルに指定しないでください。代わりに~/.hermes/chrome-debugを使用してください(Hermesの組み込み/browser connectもデフォルトでこの場所をターゲットにしています)。これにより、エージェントのブラウザが個人のブラウジングから完全に隔離されます。

5. CDPをローカルのみにバインドする

--remote-debugging-address=127.0.0.1は本番環境では必須です。Chrome DevTools Protocolは、ポートにアクセスできる誰でもブラウザを完全に制御できるため、9222をパブリックネットワークに公開しないでください。

6. ヘッドレスサーバーでXvfbを使用する

Chrome拡張機能は、ブラウザを表示したくても表示コンテキストが必要です。物理的なディスプレイのないLinuxサーバーでは、仮想ディスプレイを起動してください:

bash Copy
# Xvfbのインストール(Ubuntu/Debian)
sudo apt-get install xvfb

# 仮想ディスプレイの起動
Xvfb :99 -screen 0 1920x1080x24 &

# Chromeに使用させる(上記のchrome-debug.shランチャーは既にDISPLAY=:99をエクスポートしています)
export DISPLAY=:99

chrome-debug.shランチャーを使用している場合、export DISPLAY=:99の行は既に処理されています。ホストでXvfb :99が実行されていることを確認してください。

7. 本番環境でプロセスマネージャーでChromeを監視する

chrome &のように緩いコマンドは、親シェルが終了したとき、Chromeがクラッシュしたとき、またはボックスが再起動したときに終了します。chrome-debug.sh(ステップ3)で起動をラップし、他のスタックで既に使用しているプロセスマネージャー(systemd、supervisord、runit、Dockerなど)で監視してください。統合はプロセスマネージャーに依存せず、既にホストで動作しているものを選んでください。

8. 安価なモデルとペアに

モデルはCAPTCHAを一度も見ることなく、拡張機能が目に見えない形で解決するため、CAPTCHAが多い作業には最先端のモデルは必要ありません。安価でツール対応のモデルで十分です(例: config.yamlでprovider: openrouterとdefault: z-ai/glm-4.6を設定)。すべてのスマートさは拡張機能にあり、モデルはブラウジング、入力、クリックのみが必要です。


結論

Hermes + CapSolverの統合は、エージェントワークフローにおけるCAPTCHA解決の根本的な新しいアプローチを表しています。CAPTCHAを検出するコードを書いたり、APIを呼び出したり、トークンをインジェクトしたりする代わりに、単に:

  1. --load-extension=/abs/path/to/capsolver-extensionと--remote-debugging-port=9222でChromeを一度起動
  2. ~/.hermes/config.yamlのbrowser:ブロックにcdp_urlを追加:
    yaml Copy
    browser:
      cdp_url: http://127.0.0.1:9222
    (注: トップレベルのcdp_urlは無視されます)
  3. エージェントに自然に話しかける - フォーム送信前に待機時間を含める
  4. フォーム送信後の通常のページ結果を読み取る

CapSolver Chrome拡張機能が残りの処理を担当します - CAPTCHAの検出、CapSolver APIを通じた解決、ページへのトークンのインジェクト。エージェントはCAPTCHAについて一切知らなくてもよいのです。

これは、自律的なAIエージェントがある場合のCAPTCHA解決の姿です: 目に見えず、自動的で、コードなし。


始める準備はできましたか? CapSolverに登録し、初回チャージでボーナスコード herme を使ってボーナスを取得してください!


FAQ

エージェントにCapSolverについて伝える必要がありますか?

いいえ。 実際には、メッセージでCAPTCHAやCapSolverについて言及しないでください。拡張機能はバックグラウンドで目に見えない形で動作します。CAPTCHAがあるページで解決する時間を確保するために、指示に待機時間を含めてください(例: 「60秒待ってから送信」など)。

なぜ通常のGoogle Chromeを使用できないのですか?

Google Chrome 137+(2025年半ばリリース)では、ブランド版で--load-extensionコマンドラインフラグが削除されました。これにより、自動化されたセッションでChrome拡張機能をロードできなくなりました。--load-extensionをサポートしているChrome for TestingまたはスタンドアロンのChromiumを使用する必要があります。

Hermesのクラウドブラウザプロバイダー(Browserbase、Browser Use)を使用できますか?

いいえ。クラウドプロバイダーはブラウザを他人のインフラで実行するため、セッションに任意の拡張機能をロードすることはできません。このガイドのCDPアタッチパターンがHermesとChrome拡張機能を組み合わせる唯一の方法です。(config.yamlでbrowser.cdp_urlが設定されると、HermesはローカルChromeを通じてブラウザトラフィックをルーティングし、クラウドプロバイダーはその行を削除するまで無視されます。)

Chrome以外のブラウザを使用できますか?

はい。--load-extensionをサポートしている任意のChromiumベースのブラウザが動作します。以下が利用可能です:

  • Chrome for Testing(推奨 - このガイドで使用)
  • Chromium(スタンドアロンビルド)
  • PlaywrightのバンドルChromium(npx playwright installを実行したことがある場合、すでにホストにあります)
  • Brave、Vivaldi、Opera - すべてChromiumベースで、このフラグを受け入れます
  • 古いGoogle Chrome ≤ 136 - 137+ではフラグが削除されているため、古いバージョンにピン留めしないでください

統合の手順は同じです: お好みのバイナリに--remote-debugging-port=9222 --load-extension=/path/to/capsolver-extensionを指定してください。

動作しないもの:

  • ブランド版Google Chrome 137+ - --load-extensionを無視します
  • Microsoft Edge - 同様に削除されています
  • Firefoxベースのブラウザ(Firefox、LibreWolf、Camoufox) - CapSolver拡張機能はChrome MV3形式で、Firefox WebExtensionsではありません
  • Hermesのクラウドブラウザプロバイダー(Browserbase、Browser Use、Firecrawl) - リモートバイナリを制御できないため、カスタム拡張機能をロードする方法はありません

Camoufoxはどうですか?Hermesはサポートしています。

はい。CamoufoxはHermesの5つの組み込みブラウザプロバイダーの1つで、Chrome拡張機能を含まないタスクに最適なステルスFirefoxオプションです。ただし、CamoufoxはFirefoxベースで、CapSolverブラウザ拡張機能はChrome MV3形式で構築されているため、1つのセッションで同時に動作することはできません。

良いニュース: Hermesでは、永久に選択する必要はありません。~/.hermes/config.yamlのbrowser.cdp_url設定は1つのスイッチで、CAPTCHA解決が必要なときにCapSolver対応のChromeに、Firefoxステルスが必要なときにCamoufoxに切り替えることができます。通常の設定では両方を実行しています:

yaml Copy
# 有効な行: 設定をコメント/アンコメントしてプロファイルを切り替え
browser:
  cdp_url: http://127.0.0.1:9222          # CapSolver Chrome(このガイド)
  # cdp_url: http://127.0.0.1:9333        # Camoufoxエンドポイント

Hermesを再起動(hermes gateway run、またはホストでゲートウェイを監視しているものから再起動をトリガー)すると、数秒で切り替わります。同じHermes、同じチャネル、同じスキル - 作業ごとに異なるブラウザを使用できます。

Hermesの/browser connectコマンドはこの設定で動作しますか?

はい。Hermesの組み込み/browser connectスラッシュコマンド(インタラクティブなhermes TUI内)は、使用したデフォルトのユーザーデータディレクトリ(~/.hermes/chrome-debug)と同じポート(9222)をターゲットにしています。chrome-debugサイドカーを設定した後、Hermes内で/browser connectを使用できます。または、config.yamlのbrowser.cdp_urlを永続的にアタッチする場合、どちらも同じChromeに対して動作します。

メッセージチャネルを通じてHermesを使用する場合どうなりますか?

統合は完全にチャネルに依存しません。config.yamlでbrowser.cdp_urlが設定されると、CLIのhermes -z、インタラクティブなhermes TUI、またはTelegram、Discord、Slack、WhatsApp、Signal、メールからのメッセージから来るすべてのブラウザアクションが、CapSolver対応のChromeを通じてルーティングされます。拡張機能はすべてのケースで同じようにCAPTCHAを解決します。

自動テストでGoogleのデモページを使用すべきですか?

デモページは素早くテストするためのものであり、プロダクションパイプラインでは公開デモページに依存せず、専用のテストサイトキーを作成することをGoogleの公式reCAPTCHA FAQが推奨しています。

CapSolver拡張機能がサポートするCAPTCHAの種類は何ですか?

CapSolver Chrome拡張機能はreCAPTCHA v2(チェックボックスおよび非表示)、reCAPTCHA v3、hCaptcha、FunCaptcha、AWS WAF CAPTCHA、および他の広く展開されているウィジェットを自動的に解決します。コンテンツスクリプトはページ上のCAPTCHAタイプを検出し、それに応じて解決します - あなたの側でタイプごとの設定は必要ありません。(注: Cloudflare TurnstileとCloudflare 5秒チャレンジはブラウザ拡張機能では解決されず、CapSolverのAPIでのみ利用可能で、このガイドの範囲外です。)

CapSolverの料金はどのくらいですか?

CapSolverはCAPTCHAの種類とボリュームに基づいて競争力のある料金を提供しています。最新の料金はcapsolver.comをご覧ください。

Hermes Agentは無料ですか?

Hermes Agentはオープンソース(github.com/NousResearch/hermes-agent)で、自分のハードウェアで無料で実行できます。AIモデルプロバイダーのAPIキー(OpenRouterが推奨 - Hermesは200以上のモデルをサポート)と、CAPTCHA解決用のCapSolverアカウントとクレジットが必要です。

エージェントにどのくらいの待機時間を指定すべきですか?

ほとんどのCAPTCHAでは30〜60秒が十分です。実際の解決時間は通常5〜20秒ですが、余裕を持たせることで信頼性が向上します。迷った場合は60秒を使用してください。

ヘッドレスサーバーで使用できますか?

はい。Chrome拡張機能は表示コンテキストが必要であるため、Xvfb(X仮想フレームバッファ)をホストで実行する必要があります。Xvfb :99 -screen 0 1920x1080x24 &を実行し、chrome-debug.shランチャーでDISPLAY=:99がエクスポートされていることを確認してください(ステップ3のランチャーはすでにこれを処理しています)。また、ほとんどのサーバーカーネルではChromeのサンドボックスが必要とする能力を許可しないため、Chromeの引数に--no-sandboxを含めてください。

同じchrome-debugに複数のHermesインスタンスを実行できますか?

技術的には可能ですが、タブ/セッションの競合は自分で管理する必要があります。ほとんどのワークロードでは、1つのHermes ↔ 1つのchrome-debugが最もクリーンな設定です。真の並列処理が必要な場合、別のポート(9222、9223、…)で複数のchrome-debugサイドカーを実行し、それぞれのHermesを自分のものに設定してください。

Hermes Skillsで動作しますか?

はい。Hermes Skillsはプロシージャルメモリ(エージェントが学んだステップのシーケンス)です。CAPTCHA保護されたサイトをブラウジングするスキルは、アドホックなメッセージと同じように、CapSolver統合の恩恵を自動的に受けます。ブラウザツール自体が拡張されているため、スキル側の変更は必要ありません。

もっと見る

AIMar 27, 2026

企業自動化の向上:LLMを駆動とするインフラによるシームレスなCAPTCHA認識と運用効率

LLMを駆動するAIオートメーションインフラがCAPTCHA認識をどのように変革するかを発見してください。ビジネスプロセスの効率を向上させ、手動の介入を削減します。高度な検証ソリューションで自動化されたオペレーションを最適化してください。

Sora Fujimoto
Sora Fujimoto
AIMar 27, 2026

LLMトレーニングのためのデータ収集のスケーリング: CAPTCHAをスケールで解く

大規模言語モデルのトレーニングのためのデータ収集をスケールする方法を学びましょう。大規模にCAPTCHAを解くことで、AIモデル用の高品質なデータセットを構築するための自動化された戦略を発見しましょう。

目次

Anh Tuan
Anh Tuan
AIMar 24, 2026

CAPTCHAを解決する方法 OpenBrowserで CapSolverを使用して (AIエージェントオートメーションガイド)

OpenBrowserでCAPTCHAを解くためにCapSolverを使用してください。AIエージェント用にreCAPTCHA、Turnstileなど簡単に自動化します。

Sora Fujimoto
Sora Fujimoto
AIMar 24, 2026

HyperBrowserで任意のCAPTCHAを解く方法: CapSolverを使用したフルセットアップガイド

HyperBrowserで任意のCAPTCHAをCapSolverで解決。reCAPTCHA、Turnstile、AWS WAFなども簡単に自動化できます。

Sora Fujimoto
Sora Fujimoto