One Query. All Search Skill. 聚合 Gemini、Grok、豆包、元宝等平台原生 AI 搜索能力,免费获取科技趋势、行业舆情、热点追踪、旅行规划、日常问题统一接进自己的 Agent 与工作流,指定链接免费爬取
SaferSkills independently audited AI-Search-Hub (Agent Skill) and scored it 45/100 (orange). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 4 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 4 flagged
A base64 string of 128+ characters appears in a documentation file. Encoded prompt injection hides the hostile instruction in base64 — invisible to keyword filters — and relies on the agent's ability to decode it at runtime. There is no normal authoring reason to embed a multi-hundred-byte base64 blob in skill docs.
*.sig, SIGNATURES) outside the documentation.A base64 string of 128+ characters appears in a documentation file. Encoded prompt injection hides the hostile instruction in base64 — invisible to keyword filters — and relies on the agent's ability to decode it at runtime. There is no normal authoring reason to embed a multi-hundred-byte base64 blob in skill docs.
*.sig, SIGNATURES) outside the documentation.Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Use this skill only for this repository's AI Search Hub browser automation scripts:
scripts/yuanbao_playwright.pyscripts/longcat_playwright.pyscripts/doubao_playwright.pyscripts/qwen_playwright.pyscripts/gemini_playwright.pyscripts/grok_playwright.pyscripts/minimaxi_playwright.pyUse this skill when the user asks to:
127.0.0.1:9222 is availableBefore first use, ensure dependencies are installed. See INSTALL.md for the complete setup sequence:
pip install playwrightplaywright install chromiumThe wrapper auto-detects Chrome/Edge/Brave/Chromium on macOS, Linux, and Windows.
Do not send every question to every platform. Analyze the question first, then route to the platform(s) whose underlying data world is most likely to contain the best answer.
See ROUTING.md for the full decision framework. Quick reference:
| Question Type | Recommended Site | Parent Company |
|---|---|---|
| Twitter / X / real-time social | grok | xAI |
| Google / global web | gemini | |
| 微信公众号 / WeChat content | yuanbao | 腾讯 |
| 抖音 / 头条 / ByteDance trends | doubao | 字节跳动 |
| 美团 / 大众点评 / 本地生活 | longcat | 美团 |
| 淘宝 / 阿里 / 通用中文 | qwen | 阿里巴巴 |
| 用户明确要求 MiniMax / MiniMax Agent | minimaxi | MiniMax |
Run the bundled wrapper script instead of calling the site script directly:
python3 scripts/run_web_chat.py --site doubao --prompt "Give me a short Hangzhou food guide."Key arguments:
--site yuanbao|longcat|doubao|qwen|gemini|grok|minimaxi--prompt "..." required--repo-root <path> if the current working directory is not the repo root--cdp-http http://127.0.0.1:9222 to reuse an existing DevTools endpoint--browser-path <path> to force a specific Chromium-family browser binary--debug-profile-dir <path> to control the isolated debug profile location--user-data-source <path> to force a specific source browser user-data-dir--output <path> to control the destination fileThe wrapper script is the low-freedom path and should be preferred over hand-rolling the sequence.
It does the following:
--cdp-http if 9222 is already listening.about:blank startup tab behind.yuanbao, longcat, doubao), opens the target site and checks for login UI before dispatching the site-specific script.qwen, gemini, grok, minimaxi), opens the target site, enters the prompt, and waits for a reply.--cdp-url.doubao: requires a logged-in session. The visitor page usually does not answer prompts.yuanbao: login may appear as a modal with QQ, WeChat, or last-login buttons even when the page shell is visible.longcat: the wrapper prefers a new chat before sending unless --no-new-chat is requested downstream.qwen, gemini, grok, minimaxi: each has its own Playwright entry script backed by a shared site-chat core. gemini first targets the visible composer and attempts the send once before falling back to the login-wait loop, because the landing page exposes a real textbox even when the account is not yet in a usable chat state.http://127.0.0.1:9222/json/version may otherwise return a false 502.~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.