mcpField
A
ai-search-hub

ai-search-hub

github.com/minsight-ai-info生産性1.3k70 回インストール26 週間前に更新
リポジトリ

ai-search-hub について

AI Search Hubリポジトリのブラウザー自動化スクリプトを、7つのチャットサイトで扱うためのスキルです。呼び出しやブラウザー起動、ログイン復帰を統一し、質問に応じてサイトを選びます。

主な機能

  1. 017つのチャットサイトを共通呼び出し
  2. 02質問に応じたサイト振り分け
  3. 03デバッグ用Chromiumの再利用・起動
  4. 04ログイン検出と復帰
  5. 05分離したブラウザープロファイルの設定

活用シーン

  1. 01指定したチャットサイトでプロンプトを実行
  2. 02SNSやウェブの質問を適切なサイトへ振り分け
  3. 03ログイン後に自動処理を再開
  4. 04既存のDevToolsセッションを再利用

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/minsight-ai-info/ai-search-hub --skill ai-search-hub

インストール後、Claude Code で/ai-search-hubを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

.gitignore
README.md
README.en.md
ROUTING.md
agents/
openai.yaml
scripts/
gemini_playwright.py
grok_playwright.py
kimi_playwright.py
doubao_playwright.py
longcat_playwright.py
minimaxi_playwright.py
yuanbao_playwright.py
run_web_chat.py
site_chat_core.py
qwen_playwright.py

詳細

AI Search Hub

このスキルは、このリポジトリの AI Search Hub ブラウザー自動化スクリプト専用です。

  • scripts/yuanbao_playwright.py
  • scripts/longcat_playwright.py
  • scripts/doubao_playwright.py
  • scripts/qwen_playwright.py
  • scripts/gemini_playwright.py
  • scripts/grok_playwright.py
  • scripts/minimaxi_playwright.py

使用する場面

次のことをユーザーから依頼された場合に、このスキルを使用してください。

  • このリポジトリでサポートされているチャットサイトのいずれかを実行する
  • 3 つのスクリプト間で呼び出し方法を統一する
  • デバッグ用の Chromium 系ブラウザーセッションを自動起動する
  • 127.0.0.1:9222 が利用可能かどうかを検出する
  • 対象サイトにログインしていない場合にログインを促し、その後自動的に続行する
  • ユーザーのローカルブラウザーデータから、分離されたデバッグプロファイルをシードする

インストール

初回使用前に、依存関係がインストールされていることを確認してください。完全なセットアップ手順については、INSTALL.md を参照してください。

  1. pip を備えた Python 3.10 以降
  2. pip install playwright
  3. playwright install chromium

ラッパーは、macOS、Linux、Windows 上の Chrome/Edge/Brave/Chromium を自動検出します。

ルーティング戦略

すべての質問をすべてのプラットフォームに送信しないでください。まず質問を分析し、回答に最適な情報を持っている可能性が最も高い基盤データの領域に対応するプラットフォームへルーティングしてください。

完全な判断基準については、ROUTING.md を参照してください。クイックリファレンス:

質問の種類推奨サイト親会社
Twitter/X/リアルタイムのソーシャル情報grokxAI
Google/グローバルなウェブgeminiGoogle
微信公众号/WeChat コンテンツyuanbao腾讯
抖音/头条/ByteDance のトレンドdoubao字节跳动
美团/大众点评/地域の生活情報longcat美团
淘宝/阿里/一般的な中国語qwen阿里巴巴
ユーザーが MiniMax/MiniMax Agent を明示的に希望minimaxiMiniMax

実行方法

サイトのスクリプトを直接呼び出すのではなく、同梱のラッパースクリプトを実行してください。

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> 出力ファイルを指定

ワークフロー

ラッパースクリプトは、手順を手動で組み立てるよりも自由度が低く、優先して使用してください。

次の処理を行います。

  1. リポジトリのルートと対象サイトのスクリプトを特定します。
  2. 9222 がすでにリッスンしている場合は、--cdp-http を再利用します。
  3. それ以外の場合は、ユーザーのソースブラウザーデータから分離された Chromium 系のデバッグプロファイルをシードし、リモートデバッグポートを指定してブラウザーを起動します。別の about:blank 起動タブを残さず、リクエストされたサイトを直接開きます。
  4. 従来型サイト(yuanbao、longcat、doubao)では、対象サイトを開いてからログイン UI の有無を確認し、サイト固有のスクリプトを実行します。
  5. 汎用サイト(qwen、gemini、grok、minimaxi)では、対象サイトを開き、プロンプトを入力して返信を待ちます。
  6. サイトでログインが必要な場合、またはログインが必要なため使用可能な返信が得られない場合は、ログインを促すメッセージを表示して、ログインが完了するまで待機し、その後自動的に続行します。
  7. 統一されたフラグと解決済みの --cdp-url を使って、対応するサイトスクリプトを呼び出します。
  8. 可能な場合は起動時のページを再利用して、ブラウザーに余分な空白タブが残らないようにします。また、別の作業をしているユーザーの操作に誤って干渉するのを減らすため、キーボード入力より DOM 側でのテキスト入力を優先します。

サイトに関する注意事項

  • doubao:ログイン済みのセッションが必要です。訪問者向けページでは通常、プロンプトに応答しません。
  • yuanbao:ページのシェルが表示されていても、QQ、WeChat、または前回のログイン方法を示すボタン付きのモーダルが表示されることがあります。
  • longcat:下流で --no-new-chat が指定されていない限り、送信前に新しいチャットを開始するようラッパーが動作します。
  • qwen、gemini、grok、minimaxi:それぞれ、共有のサイトチャットコアを利用する専用の Playwright エントリースクリプトがあります。gemini は、ログイン後にチャットを利用できる状態でなくても、ランディングページに実際のテキストボックスが表示されるため、まず表示中の入力欄を対象にして一度送信を試みてから、ログイン待機ループにフォールバックします。

制約事項

  • ログイン復旧のフローでは、ヘッドありの Chromium ブラウザーを優先してください。ヘッドレスモードが適しているのは、コピーしたデバッグプロファイルですでにログイン済みの場合に限られます。
  • ユーザーから明示的に依頼されない限り、通常使用中のブラウザーセッションを終了しないでください。
  • ラッパーはブラウザーのデータを分離されたデバッグプロファイルにコピーし、ロックファイルをスキップするため、ユーザーは通常使用中のブラウザーを開いたままにできます。
  • ラッパーは、ローカルの DevTools リクエストに対する Python のプロキシ設定を回避します。設定によっては、http://127.0.0.1:9222/json/version が誤って 502 を返す場合があるためです。

コメント