AI Search Hub
Nutze diese Fähigkeit ausschließlich für die Browser-Automatisierungsskripte des AI Search Hubs in diesem Repository:
scripts/yuanbao_playwright.pyscripts/longcat_playwright.pyscripts/doubao_playwright.pyscripts/qwen_playwright.pyscripts/gemini_playwright.pyscripts/grok_playwright.pyscripts/minimaxi_playwright.py
Verwendungszweck
Nutze diese Fähigkeit, wenn der Benutzer bittet:
- eine der unterstützten Chat-Seiten aus diesem Repository auszuführen
- den Aufruf über die drei Skripte zu normalisieren
- eine Chromium-Family-Debug-Browser-Sitzung automatisch zu starten
- zu erkennen, ob
127.0.0.1:9222verfügbar ist - zur Anmeldung aufzufordern, falls die Zielseite nicht angemeldet ist, und dann automatisch fortzufahren
- ein isoliertes Debug-Profil aus den lokalen Browserdaten des Benutzers zu erstellen
Installation
Stelle vor der ersten Verwendung sicher, dass alle Abhängigkeiten installiert sind. Siehe INSTALL.md für die vollständige Einrichtungssequenz:
- Python 3.10+ mit pip
pip install playwrightplaywright install chromium
Der Wrapper erkennt automatisch Chrome/Edge/Brave/Chromium auf macOS, Linux und Windows.
Routing-Strategie
Sende nicht jede Frage an jede Plattform. Analysiere zuerst die Frage und leite sie dann an die Plattform(en) weiter, deren zugrunde liegende Datenwelt am wahrscheinlichsten die beste Antwort enthält.
Siehe ROUTING.md für das vollständige Entscheidungsframework. Kurzreferenz:
| Frage-Typ | Empfohlene Website | Muttergesellschaft |
|---|---|---|
| Twitter / X / Echtzeit-Social | grok | xAI |
| Google / globales Web | gemini | |
| 微信公众号 / WeChat-Inhalte | yuanbao | 腾讯 (Tencent) |
| 抖音 / 头条 / ByteDance-Trends | doubao | 字节跳动 (ByteDance) |
| 美团 / 大众点评 / lokales Leben | longcat | 美团 (Meituan) |
| 淘宝 / 阿里 / allgemeines Chinesisch | qwen | 阿里巴巴 (Alibaba) |
| Benutzer fordert explizit MiniMax / MiniMax Agent | minimaxi | MiniMax |
Ausführung
Führe das gebündelte Wrapper-Skript aus, anstatt das Website-Skript direkt aufzurufen:
python3 scripts/run_web_chat.py --site doubao --prompt "Gib mir einen kurzen Hangzhou-Reiseführer."
Wichtige Argumente:
--site yuanbao|longcat|doubao|qwen|gemini|grok|minimaxi--prompt "..."erforderlich--repo-root <pfad>falls das aktuelle Arbeitsverzeichnis nicht das Repository-Root ist--cdp-http http://127.0.0.1:9222um einen vorhandenen DevTools-Endpunkt wiederzuverwenden--browser-path <pfad>um ein bestimmtes Chromium-Family-Browser-Binary zu erzwingen--debug-profile-dir <pfad>um den Speicherort des isolierten Debug-Profils zu steuern--user-data-source <pfad>um ein bestimmtes Quell-Browser-User-Data-Verzeichnis zu erzwingen--output <pfad>um die Zieldatei zu steuern
Arbeitsablauf
Das Wrapper-Skript ist der eingeschränkte Pfad und sollte gegenüber einer manuellen Sequenzierung bevorzugt werden.
Es führt Folgendes aus:
- Findet das Repository-Root und das Ziel-Website-Skript.
- Verwendet
--cdp-httperneut, falls9222bereits lauscht. - Andernfalls erstellt es ein isoliertes Chromium-Family-Debug-Profil aus den Quell-Browserdaten des Benutzers und startet den Browser mit einem Remote-Debugging-Port, wobei die angeforderte Seite direkt geöffnet wird, anstatt einen separaten
about:blank-Start-Tab zu hinterlassen. - Für Legacy-Seiten (
yuanbao,longcat,doubao) wird die Zielseite geöffnet und auf die Anmeldeoberfläche geprüft, bevor das seiten-spezifische Skript ausgeführt wird. - Für generische Seiten (
qwen,gemini,grok,minimaxi) wird die Zielseite geöffnet, die Eingabeaufforderung eingegeben und auf eine Antwort gewartet. - Wenn die Seite eine Anmeldung erfordert oder keine verwertbare Antwort liefert, weil eine Anmeldung erforderlich ist, wird eine Aufforderung ausgegeben und gewartet, bis die Anmeldung abgeschlossen ist, dann wird automatisch fortgefahren.
- Führt das passende Website-Skript mit standardisierten Flags und der aufgelösten
--cdp-urlaus. - Verwendet nach Möglichkeit die einzelne Startseite wieder, sodass der Browser keinen zusätzlichen leeren Tab behält, und bevorzugt DOM-seitige Texteingabe gegenüber Tastatureingaben, um versehentliche Störungen durch den Benutzer während anderer Arbeiten zu reduzieren.
Seitenhinweise
doubao: erfordert eine angemeldete Sitzung. Die Besucherseite beantwortet normalerweise keine Eingabeaufforderungen.yuanbao: Die Anmeldung kann als Modal mit QQ-, WeChat- oder Letzter-Anmeldung-Schaltflächen erscheinen, selbst wenn das Seitengerüst sichtbar ist.longcat: Der Wrapper bevorzugt eine neue Unterhaltung vor dem Senden, es sei denn,--no-new-chatwird nachgelagert angefordert.qwen,gemini,grok,minimaxi: Jede hat ihr eigenes Playwright-Einstiegsskript, das von einem gemeinsamen Site-Chat-Kern unterstützt wird.geminizielt zuerst auf den sichtbaren Composer ab und versucht einmal das Senden, bevor es auf die Login-Warte-Schleife zurückfällt, da die Landingpage ein echtes Textfeld anzeigt, selbst wenn das Konto noch nicht in einem nutzbaren Chat-Zustand ist.
Einschränkungen
- Bevorzuge „headed“ Chromium-Browser für Anmelde-Wiederherstellungs-Abläufe. Der Headless-Modus ist nur sinnvoll, wenn das kopierte Debug-Profil bereits angemeldet ist.
- Beende die normale Browsersitzung des Benutzers nicht, es sei denn, der Benutzer fordert dies explizit an.
- Der Wrapper kopiert Browserdaten in ein isoliertes Debug-Profil und überspringt Sperrdateien, sodass der normale Browser des Benutzers geöffnet bleiben kann.
- Der Wrapper umgeht Python-Proxy-Einstellungen für lokale DevTools-Anfragen, da
http://127.0.0.1:9222/json/versionandernfalls fälschlicherweise einen502zurückgeben könnte.