
Sora Fujimoto
AI Solutions Architect

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

hermes modelで切り替え可能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は、現代の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の存在を知る必要はありません。
統合を設定する前に、以下のものを確認してください:
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のインストール方法:
# オプション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)
# オプション2:Chrome for Testingの直接ダウンロード
# 訪問:https://googlechromelabs.github.io/chrome-for-testing/
# OSに合ったバージョンをダウンロード
インストール後、バイナリの完全なパスを記録してください — 次のステップで必要になります。
統合には2つの部分が連携しています:
9222)でCDPを公開します。config.yamlの小さな変更 — それ自体のブラウザを起動する代わりに、このCDPポートに接続するように指示します。それだけです — コードは必要ありません、Hermesのパッチも必要ありません。
拡張機能を安定した場所にダウンロードし、展開してください:
CapSolver.Browser.Extension-chrome-vX.X.X.zipをダウンロードmkdir -p ~/.hermes/capsolver-extension
unzip CapSolver.Browser.Extension-chrome-v*.zip -d ~/.hermes/capsolver-extension/
ls ~/.hermes/capsolver-extension/manifest.json
manifest.jsonが表示されるはずです — これにより拡張機能が正しい場所にあることが確認されます。
パスのヒント:後でChromeに
--load-extension=...を渡す際は、絶対パスを使用してください(~ではなく)。一部のChrome MV3ビルドでは、カスタムユーザーデータディレクトリのシンボリックリンクを介して拡張機能のサービスワーカーが登録されない場合があります。他の場所からシンボリックリンクを使用する場合は、readlink -fで実際のパスを解決し、それを使います。
拡張機能の設定ファイル~/.hermes/capsolver-extension/assets/config.jsを開き、apiKeyの値を自分のAPIキーに置き換えてください:
export const defaultConfig = {
apiKey: 'CAP-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', // ← ここにあなたのキーを
useCapsolver: true,
enabledForRecaptcha: true,
enabledForRecaptchaV3: true,
// ... その他の設定
};
APIキーはCapSolverダッシュボードから取得できます。
これは重要なステップです。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コマンドも追加のフラグなしで動作します。
/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拡張機能サブシステムはディスプレイコンテキストを必要とします。
単一のテスト実行よりも長く動作する設定の場合、起動を小さなシェルスクリプトでラップし、バックグラウンドでChromeを実行し、クリーンに再起動し、すでに使用しているプロセスマネージャー(systemd、supervisor、runit、OpenRC、Dockerなど)で監視できます。
これを~/.hermes/chrome-debug.shとして保存し、chmod +xを実行してください:
#!/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
最も単純な永続的な起動は以下の通りです:
nohup ~/.hermes/chrome-debug.sh > /tmp/chrome-debug.log 2>&1 &
プロダクション環境では、お好みのプロセスマネージャーでスクリプトを監視してください。最小限のsystemdユニットを~/.config/systemd/user/chrome-debug.serviceに保存:
[Unit]
Description=CapSolverを搭載したChrome(Hermesエージェント用)
After=network.target
[Service]
ExecStart=%h/.hermes/chrome-debug.sh
Restart=always
RestartSec=5
[Install]
WantedBy=default.target
その後:
systemctl --user daemon-reload
systemctl --user enable --now chrome-debug
同等の設定(supervisordプログラム、runitサービス、Dockerコンテナなど)は同様に動作します — 統合は何かがchrome-debug.shを実行し続けることを気にしています。
Hermesの設定ファイル~/.hermes/config.yamlを編集してください。browser:セクション(通常はinactivity_timeoutのみ)を見つけて、cdp_urlを追加してください:
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など)に戻りますが、他の影響はありません。
Hermesがすでに実行されている場合、新しいcdp_urlを読み込むために再起動してください:
# 直接実行(フォアグラウンドまたはあなたのマネージャーの下で):
hermes gateway run
# または、Hermesを監視しているプロセスマネージャー経由で再起動 —
# 新しい環境/設定が効くことだけが要件です。
Hermesには統合のすべての部分を一度にチェックする組み込みの診断コマンドが付属しています:
hermes doctor
これらのシグナルを確認してください:
◆ ツールの利用可能性
✓ browser-cdp ← CDPアタッチが動作中
✓ browser
...
◆ API接続性
OpenRouter APIをチェック中... ✓ OpenRouter API
browser-cdpがツールの利用可能性の下に表示されている場合、HermesはCDPエンドポイントを検出しており、統合は正しく設定されています。表示されていない場合、Hermesは静かにツールを無効にします(エラーは発生しません) — その診断を監視してください。
Chromeが直接アクセス可能か確認することもできます:
curl -s http://127.0.0.1:9222/json/version
以下の応答が得られれば、CDPが動作しています:
{
"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について知る必要はありません。拡張機能が背景ですべてを処理します。必要なのは、拡張機能がチャレンジを解決する時間を確保するために、指示に待機時間を含めることだけです。
Hermesのワンショットモード(hermes -z "...")は、統合テストに最適です。hermes CLIが利用可能な任意のターミナルで実行してください:
hermes -z 'https://www.google.com/recaptcha/api2/demoを開き、ページが完全にレンダリングされるまで60秒待ってください。次に、"Send!"とラベル付けされたボタンまたはID"recaptcha-demo-submit"をクリックしてください。クリック後、5秒待って、ページに表示されているテキストを私に教えてください。' --yolo
裏で起こっていること:
g-recaptcha-responseフォームフィールドに挿入されますこの"Verification Success... Hooray!"という文字列はGoogleの確認メッセージであり、フォームに有効なreCAPTCHAトークンが送信された場合にのみ表示されます。
Hermesゲートウェイに接続されている任意のチャネル(Telegram、Discord、Slackなど)から送信してください:
https://example.com/loginに移動し、メールフィールドに"me@example.com"、パスワードフィールドに"mypassword123"を入力してください。その後30秒待って、サインインボタンをクリックしてください。サインイン後のページはどのページですか?
Hermesはリクエストをエージェントにルーティングし、同じChromeに接続し、フォームを入力し、ログインページのCAPTCHAを解決する時間を拡張機能に与え、サインインをクリックし、サインイン後のページの内容を返します。CAPTCHAについて言及することなくすべてを処理します。
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のどのチャネルでも使用できる検証済みの表現:
これらの表現を避けてください — エージェントを混乱させ、一部の安全設定がされたモデル(特にGLMシリーズ)で拒否を引き起こす可能性があります:
技術的に興味のある方のために、アーキテクチャを以下に示します:
あなたのメッセージ 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: 送信ボタンをクリック
│
▼
有効なトークンを含むフォームが送信されます
│
▼
送信後の確認ページ
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拡張機能は以降を処理します:
assets/config.jsのキーを使用してCapSolver APIに認証し、チャレンジの詳細を送信し、トークンをポーリングします。Hermesエージェントは完全に無関与です — 通常のページを見ています。指定された時間だけ待って送信します。ページに有効なトークンが含まれているだけです。
環境の注意: Chromeのフラグで
--disable-background-networkingを避けてください。これにより、CapSolverサービスワーカーの出力XHR/fetchがブロックされ、拡張機能がCapSolver APIにアクセスできなくなります。ステップ3のレシピでは意図的にこれを省略しています。
~/.hermes/config.yaml必要な変更はbrowser:ブロックにcdp_urlを追加することのみです:
browser:
inactivity_timeout: 120
cdp_url: http://127.0.0.1:9222
--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の問題を回避 |
assets/config.js~/.hermes/capsolver-extension/assets/config.jsの最小構成:
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がそのエンドポイントで動作していないことです。
修正:
# 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がスムーズに起動するが、CAPTCHAは解決されず、すべての送信が失敗します。
原因: ブランドGoogle Chrome 137+を使用しており、--load-extensionが無視されています。
修正: Chrome for TestingまたはChromiumに切り替えてください。バイナリを確認してください:
/path/to/your/chrome --version
# Chrome for Testing: "Chromium 143.0.7499.4"
# ブランドChrome: "Google Chrome 143.0.7499.109" ← 動作しません
可能性のある原因:
--disable-background-networkingが含まれていないか確認してください(拡張機能の出力API呼び出しをブロックします)症状: ハーメスを再起動した後の最初のブラウザアクションがタイムアウトしますが、以降のアクションは正常に動作します。
原因: コールドスタート時のCDPハンドシェイクがHermesのデフォルトツールタイムアウトを超えることがあります。以降のアクションはウォームなWebSocketを再利用し、高速です。
修正: コマンドを一度再実行してください。解決しない場合は、config.yamlのbrowser.inactivity_timeoutを増やしてください。
症状: 他のChromeバージョンから切り替えた後、Chromeがディスクキャッシュエラーでクラッシュします。
原因: ユーザーのデータディレクトリが別のChromeバージョンで作成され、互換性がありません。
修正:
# 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 &
/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)にエージェントを移動させ、フォーム送信が成功するかを観察してください。送信が成功したことは、拡張機能がロードされ、チャレンジが解決されている証拠です; ターゲットリストエントリが表示されないことは失敗のシグナルではありません。
より長い待機時間は常に安全です。CAPTCHAは通常5〜20秒で解決されますが、ネットワーク遅延、複雑なチャレンジ、またはリトライにより時間がかかることがあります。30〜60秒が最適な範囲です。
以下のようにしないでください:
"URLに移動し、CAPTCHAソルバーを待ってから送信"
以下のようにしてください:
"URLに移動し、約1分間待ってからフォームを送信"
自然な表現はエージェントと相性が良く、セーフティチューニングされたモデルとも上手に動作します。CAPTCHAの周囲で敵対的な表現を使用すると、一部のGLMクラスモデルで拒否が発生することが観測されています。
各CAPTCHAの解決にはクレジットが使われます。中断を防ぐために、capsolver.com/dashboardで定期的に残高を確認してください。
--user-data-dirを実際のChromeプロファイルに指定しないでください。代わりに~/.hermes/chrome-debugを使用してください(Hermesの組み込み/browser connectもデフォルトでこの場所をターゲットにしています)。これにより、エージェントのブラウザが個人のブラウジングから完全に隔離されます。
--remote-debugging-address=127.0.0.1は本番環境では必須です。Chrome DevTools Protocolは、ポートにアクセスできる誰でもブラウザを完全に制御できるため、9222をパブリックネットワークに公開しないでください。
Xvfbを使用するChrome拡張機能は、ブラウザを表示したくても表示コンテキストが必要です。物理的なディスプレイのないLinuxサーバーでは、仮想ディスプレイを起動してください:
# 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が実行されていることを確認してください。
chrome &のように緩いコマンドは、親シェルが終了したとき、Chromeがクラッシュしたとき、またはボックスが再起動したときに終了します。chrome-debug.sh(ステップ3)で起動をラップし、他のスタックで既に使用しているプロセスマネージャー(systemd、supervisord、runit、Dockerなど)で監視してください。統合はプロセスマネージャーに依存せず、既にホストで動作しているものを選んでください。
モデルはCAPTCHAを一度も見ることなく、拡張機能が目に見えない形で解決するため、CAPTCHAが多い作業には最先端のモデルは必要ありません。安価でツール対応のモデルで十分です(例: config.yamlでprovider: openrouterとdefault: z-ai/glm-4.6を設定)。すべてのスマートさは拡張機能にあり、モデルはブラウジング、入力、クリックのみが必要です。
Hermes + CapSolverの統合は、エージェントワークフローにおけるCAPTCHA解決の根本的な新しいアプローチを表しています。CAPTCHAを検出するコードを書いたり、APIを呼び出したり、トークンをインジェクトしたりする代わりに、単に:
--load-extension=/abs/path/to/capsolver-extensionと--remote-debugging-port=9222でChromeを一度起動~/.hermes/config.yamlのbrowser:ブロックにcdp_urlを追加:
browser:
cdp_url: http://127.0.0.1:9222
cdp_urlは無視されます)CapSolver Chrome拡張機能が残りの処理を担当します - CAPTCHAの検出、CapSolver APIを通じた解決、ページへのトークンのインジェクト。エージェントはCAPTCHAについて一切知らなくてもよいのです。
これは、自律的なAIエージェントがある場合のCAPTCHA解決の姿です: 目に見えず、自動的で、コードなし。
始める準備はできましたか? CapSolverに登録し、初回チャージでボーナスコード
hermeを使ってボーナスを取得してください!

いいえ。 実際には、メッセージでCAPTCHAやCapSolverについて言及しないでください。拡張機能はバックグラウンドで目に見えない形で動作します。CAPTCHAがあるページで解決する時間を確保するために、指示に待機時間を含めてください(例: 「60秒待ってから送信」など)。
Google Chrome 137+(2025年半ばリリース)では、ブランド版で--load-extensionコマンドラインフラグが削除されました。これにより、自動化されたセッションでChrome拡張機能をロードできなくなりました。--load-extensionをサポートしているChrome for TestingまたはスタンドアロンのChromiumを使用する必要があります。
いいえ。クラウドプロバイダーはブラウザを他人のインフラで実行するため、セッションに任意の拡張機能をロードすることはできません。このガイドのCDPアタッチパターンがHermesとChrome拡張機能を組み合わせる唯一の方法です。(config.yamlでbrowser.cdp_urlが設定されると、HermesはローカルChromeを通じてブラウザトラフィックをルーティングし、クラウドプロバイダーはその行を削除するまで無視されます。)
はい。--load-extensionをサポートしている任意のChromiumベースのブラウザが動作します。以下が利用可能です:
npx playwright installを実行したことがある場合、すでにホストにあります)統合の手順は同じです: お好みのバイナリに--remote-debugging-port=9222 --load-extension=/path/to/capsolver-extensionを指定してください。
動作しないもの:
--load-extensionを無視しますはい。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に切り替えることができます。通常の設定では両方を実行しています:
# 有効な行: 設定をコメント/アンコメントしてプロファイルを切り替え
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、同じチャネル、同じスキル - 作業ごとに異なるブラウザを使用できます。
/browser connectコマンドはこの設定で動作しますか?はい。Hermesの組み込み/browser connectスラッシュコマンド(インタラクティブなhermes TUI内)は、使用したデフォルトのユーザーデータディレクトリ(~/.hermes/chrome-debug)と同じポート(9222)をターゲットにしています。chrome-debugサイドカーを設定した後、Hermes内で/browser connectを使用できます。または、config.yamlのbrowser.cdp_urlを永続的にアタッチする場合、どちらも同じChromeに対して動作します。
統合は完全にチャネルに依存しません。config.yamlでbrowser.cdp_urlが設定されると、CLIのhermes -z、インタラクティブなhermes TUI、またはTelegram、Discord、Slack、WhatsApp、Signal、メールからのメッセージから来るすべてのブラウザアクションが、CapSolver対応のChromeを通じてルーティングされます。拡張機能はすべてのケースで同じようにCAPTCHAを解決します。
デモページは素早くテストするためのものであり、プロダクションパイプラインでは公開デモページに依存せず、専用のテストサイトキーを作成することをGoogleの公式reCAPTCHA FAQが推奨しています。
CapSolver Chrome拡張機能はreCAPTCHA v2(チェックボックスおよび非表示)、reCAPTCHA v3、hCaptcha、FunCaptcha、AWS WAF CAPTCHA、および他の広く展開されているウィジェットを自動的に解決します。コンテンツスクリプトはページ上のCAPTCHAタイプを検出し、それに応じて解決します - あなたの側でタイプごとの設定は必要ありません。(注: Cloudflare TurnstileとCloudflare 5秒チャレンジはブラウザ拡張機能では解決されず、CapSolverのAPIでのみ利用可能で、このガイドの範囲外です。)
CapSolverはCAPTCHAの種類とボリュームに基づいて競争力のある料金を提供しています。最新の料金はcapsolver.comをご覧ください。
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を含めてください。
技術的には可能ですが、タブ/セッションの競合は自分で管理する必要があります。ほとんどのワークロードでは、1つのHermes ↔ 1つのchrome-debugが最もクリーンな設定です。真の並列処理が必要な場合、別のポート(9222、9223、…)で複数のchrome-debugサイドカーを実行し、それぞれのHermesを自分のものに設定してください。
はい。Hermes Skillsはプロシージャルメモリ(エージェントが学んだステップのシーケンス)です。CAPTCHA保護されたサイトをブラウジングするスキルは、アドホックなメッセージと同じように、CapSolver統合の恩恵を自動的に受けます。ブラウザツール自体が拡張されているため、スキル側の変更は必要ありません。
LLMを駆動するAIオートメーションインフラがCAPTCHA認識をどのように変革するかを発見してください。ビジネスプロセスの効率を向上させ、手動の介入を削減します。高度な検証ソリューションで自動化されたオペレーションを最適化してください。

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