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
何时使用
当用户要求执行以下操作时,使用此技能:
- 运行此存储库中支持的聊天站点之一
- 标准化三个脚本之间的调用方式
- 自动启动 Chromium 系浏览器的调试会话
- 检测
127.0.0.1:9222是否可用 - 如果目标站点未登录,则提示登录,然后自动继续
- 从用户本地浏览器数据播种隔离的调试配置文件
安装
首次使用前,请确保已安装依赖项。完整的设置步骤请参见 INSTALL.md:
- Python 3.10+ 和 pip
pip install playwrightplaywright install chromium
包装器自动检测 macOS、Linux 和 Windows 上的 Chrome/Edge/Brave/Chromium。
路由策略
不要将每个问题都发送到所有平台。先分析问题,然后路由到其底层数据世界最有可能包含最佳答案的平台。
完整的决策框架请参见 ROUTING.md。快速参考:
| 问题类型 | 推荐站点 | 所属公司 |
|---|---|---|
| Twitter / X / 实时社交媒体 | grok | xAI |
| Google / 全球网页 | gemini | |
| 微信公众号 / 微信内容 | yuanbao | 腾讯 |
| 抖音 / 头条 / 字节跳动趋势 | 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),在分派特定于站点的脚本之前,先打开目标站点并检查登录界面。 - 对于通用站点(
qwen、gemini、grok、minimaxi),打开目标站点,输入提示,并等待回复。 - 如果站点需要登录,或由于需要登录而无法生成可用回复,则打印提示并等待登录完成,然后自动继续。
- 使用标准化标志和已解析的
--cdp-url调用匹配的站点脚本。 - 尽可能重用单个启动页面,这样浏览器就不会保留多余的空白标签页,并且优先使用 DOM 侧文本输入而不是键盘输入,以减少用户在其他地方工作时造成的意外干扰。
站点说明
doubao:需要已登录的会话。访客页面通常不会回答提示。yuanbao:即使页面外壳可见,登录也可能以包含 QQ、微信或上次登录按钮的模态框形式出现。longcat:除非下游请求--no-new-chat,否则包装器在发送之前会首选新建聊天。qwen、gemini、grok、minimaxi:每个都有自己的 Playwright 入口脚本,并由一个共享的站点聊天核心提供支持。gemini首先将目标定位到可见的编辑器并尝试发送一次,然后才回退到登录等待循环,因为登录页面即使在账户尚未处于可用聊天状态时也会暴露一个真实的文本框。
约束
- 对于登录恢复流程,首选有头 Chromium 浏览器。无头模式仅在复制的调试配置文件已经登录时才有意义。
- 除非用户明确要求,否则不要终止用户的正常浏览器会话。
- 包装器将浏览器数据复制到隔离的调试配置文件中,并跳过锁定文件,因此用户的正常浏览器可以保持打开状态。
- 包装器会绕过本地 DevTools 请求的 Python 代理设置,因为
http://127.0.0.1:9222/json/version否则可能会返回错误的502。