AI Search Hub
このスキルは、このリポジトリのAI Search Hubブラウザ自動化スクリプトにのみ使用してください。
scripts/yuanbao_playwright.pyscripts/longcat_playwright.pyscripts/doubao_playwright.pyscripts/qwen_playwright.pyscripts/gemini_playwright.pyscripts/grok_playwright.pyscripts/minimaxi_playwright.py
使用タイミング
ユーザーが以下を依頼した場合にこのスキルを使用します。
- このリポジトリがサポートするチャットサイトのいずれかを実行する
- 3つのスクリプト間で呼び出しを正規化する
- Chromium系ブラウザのデバッグセッションを自動起動する
127.0.0.1:9222が利用可能かどうかを検出する- 対象サイトにログインしていない場合、ログインを促し、その後自動的に続行する
- ユーザーのローカルブラウザデータから隔離されたデバッグプロファイルを作成する
インストール
初回使用前に、依存関係がインストールされていることを確認してください。完全なセットアップ手順は INSTALL.md を参照してください。
- pip 付きの Python 3.10+
pip install playwrightplaywright install chromium
ラッパーはmacOS、Linux、Windows上のChrome/Edge/Brave/Chromiumを自動検出します。
ルーティング戦略
すべての質問をすべてのプラットフォームに送信しないでください。まず質問を分析し、その質問に対する最良の回答が得られる可能性が最も高いデータ世界を持つプラットフォームにルーティングします。
完全な判断フレームワークについては ROUTING.md を参照してください。クイックリファレンス:
| 質問タイプ | 推奨サイト | 親会社 |
|---|---|---|
| Twitter / X / リアルタイムソーシャル | grok | xAI |
| Google / グローバルウェブ | gemini | |
| 微信公众号 / WeChat コンテンツ | yuanbao | 腾讯 |
| 抖音 / 头条 / ByteDance トレンド | doubao | 字节跳动 |
| 美团 / 大众点评 / ローカルライフ | longcat | 美团 |
| 淘宝 / 阿里 / 汎用中文 | qwen | 阿里巴巴 |
| ユーザーが明示的に MiniMax / MiniMax Agent を要求 | minimaxi | MiniMax |
実行方法
サイトスクリプトを直接呼び出す代わりに、バンドルされているラッパースクリプトを実行します。
python3 scripts/run_web_chat.py --site doubao --prompt "Give me a short Hangzhou food guide."
主な引数:
--site yuanbao|longcat|doubao|qwen|gemini|grok|minimaxi--prompt "..."必須--repo-root <path>現在の作業ディレクトリがリポジトリルートでない場合--cdp-http http://127.0.0.1:9222既存のDevToolsエンドポイントを再利用する場合--browser-path <path>特定のChromium系ブラウザバイナリを強制する場合--debug-profile-dir <path>隔離されたデバッグプロファイルの場所を制御する場合--user-data-source <path>特定のソースブラウザのユーザーデータディレクトリを強制する場合--output <path>出力先ファイルを制御する場合
ワークフロー
ラッパースクリプトは自由度の低いパスであり、手動でシーケンスを組み立てるよりも優先されるべきです。
ラッパースクリプトは以下の処理を行います。
- リポジトリルートとターゲットサイトスクリプトを見つけます。
9222がすでにリッスンしている場合は--cdp-httpを再利用します。- そうでない場合は、ユーザーのソースブラウザデータから隔離されたChromium系デバッグプロファイルを作成し、リモートデバッグポートでブラウザを起動し、別の
about:blankスタートアップタブを残さずに、要求されたサイトを直接開きます。 - レガシーサイト(
yuanbao、longcat、doubao)の場合、ターゲットサイトを開き、サイト固有のスクリプトをディスパッチする前にログインUIを確認します。 - 汎用サイト(
qwen、gemini、grok、minimaxi)の場合、ターゲットサイトを開き、プロンプトを入力し、返信を待ちます。 - サイトがログインを必要とする場合、またはログインが必要なために使用可能な返信が生成されない場合は、プロンプトを表示してログインが完了するまで待機し、その後自動的に続行します。
- 標準化されたフラグと解決された
--cdp-urlを使用して、対応するサイトスクリプトを呼び出します。 - 可能な場合は単一のスタートアップページを再利用して、ブラウザに余分な空白タブを残さないようにし、キーボードタイピングよりもDOM側のテキスト入力を優先して、ユーザーが他の場所で作業しているときの偶発的な干渉を減らします。
サイト別注意事項
doubao:ログイン済みセッションが必要です。ビジターページは通常プロンプトに回答しません。yuanbao:ページシェルが表示されている場合でも、QQ、WeChat、または最終ログインボタンを含むモーダルとしてログインが表示される場合があります。longcat:ラッパーは、下流で--no-new-chatが要求されない限り、送信前に新しいチャットを優先します。qwen、gemini、grok、minimaxi:それぞれに独自のPlaywrightエントリスクリプトがあり、共有のsite-chatコアによって支えられています。geminiは最初に表示されているコンポーザーをターゲットにし、ログイン待機ループにフォールバックする前に1回送信を試みます。これは、ランディングページがアカウントがまだ使用可能なチャット状態でない場合でも実際のテキストボックスを公開するためです。
制約事項
- ログイン回復フローには、ヘッド付きのChromiumブラウザを優先します。ヘッドレスモードは、コピーされたデバッグプロファイルがすでにログインしている場合にのみ意味があります。
- ユーザーが明示的に要求しない限り、ユーザーの通常のブラウザセッションを強制終了しないでください。
- ラッパーはブラウザデータを隔離されたデバッグプロファイルにコピーし、ロックファイルをスキップするため、ユーザーの通常のブラウザは開いたままにできます。
- ラッパーはローカルDevToolsリクエストのPythonプロキシ設定をバイパスします。これは、
http://127.0.0.1:9222/json/versionが誤って502を返す可能性があるためです。