← 返回 Skills 市场
ccmxigua

Unified Search Suite

作者 ccmxigua · GitHub ↗ · v0.1.0 · MIT-0
cross-platform ⚠ suspicious
36
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install unified-search-suite
功能描述
Unified web search + deep research suite. Default ordinary /unified_search queries route to deep search-layer mode (Exa + Tavily + Grok); the legacy merged t...
使用说明 (SKILL.md)

Unified Search

This skill is now a two-layer search suite:

  1. Vendored deep-research stack — now the default for ordinary /unified_search \x3Cquery> calls
    • search-layer: Exa + Tavily + Grok multi-source search with intent-aware scoring
    • fetch-thread: deep thread / issue / PR / forum context extraction
    • content-extract: URL → Markdown with MinerU fallback
    • mineru-extract: official MinerU parsing wrapper
  2. Legacy merged search — available via --legacy or the explicit legacy subcommand
    • Engines: Tavily + Exa + Google
    • Best for: quick fact-checks, troubleshooting, product/doc lookup, fast aggregated evidence

Recommended usage policy

A. Everyday search: default to deep search-layer

Run:

bash scripts/unified-search.sh "\x3Cquery>"

This routes ordinary lookup queries to search-layer deep mode by default. Use --legacy or the legacy subcommand when the old Tavily + Exa + Google merged output is specifically needed.

Examples:

bash scripts/unified-search.sh "tavily language filter"
bash scripts/unified-search.sh "OpenClaw cron run docs"
bash scripts/unified-search.sh --legacy "OpenClaw cron run docs" --topic news --days 7

Chat trigger examples:

  • /unified_search tavily docs language filter
  • /unified_search OpenClaw cron run docs
  • /unified_search --legacy OpenClaw cron run docs --topic news --days 7

B. Explicit deep research: route to vendored search-layer

Run:

bash scripts/unified-search.sh search-layer "\x3Cquery>" --mode deep --intent status --num 5

Examples:

bash scripts/unified-search.sh search-layer "OpenClaw config validation bug" --mode deep --intent status --extract-refs
bash scripts/unified-search.sh search-layer --queries "Bun vs Deno" "Bun advantages" "Deno advantages" --mode deep --intent comparison --num 5
bash scripts/unified-search.sh "RAG framework comparison" --mode deep --intent comparison --num 5

If --mode / --intent / --freshness / --source / --extract-refs / --extract-refs-urls / --domain-boost appears, the unified wrapper auto-routes to deep-search mode.

C. Thread / issue / PR deep fetch

Run:

bash scripts/unified-search.sh fetch-thread "https://github.com/owner/repo/issues/123"

Examples:

bash scripts/unified-search.sh fetch-thread "https://github.com/owner/repo/issues/123" --format markdown
bash scripts/unified-search.sh fetch-thread "https://news.ycombinator.com/item?id=43197966"

D. URL → Markdown extraction

Run:

bash scripts/unified-search.sh content-extract --url "https://mp.weixin.qq.com/s/example"

E. MinerU direct parsing

Run:

bash scripts/unified-search.sh mineru-extract "https://example.com/file.pdf"
bash scripts/unified-search.sh mineru-parse-documents --file-sources "https://example.com/file.pdf"

Wrapper subcommands

1) Default deep search-layer

bash scripts/unified-search.sh "\x3Cquery>"

Ordinary queries now default to search-layer deep mode. Legacy parameters are only for --legacy or the explicit legacy subcommand:

  • --num: max results per engine (default 5)
  • --topic: general or news (default general)
  • --days: only for recent-news style queries
  • --save-run: save output to custom dir
  • --json: emit summary.json
  • --legacy: force old Tavily + Exa + Google merged behavior

2) search-layer

bash scripts/unified-search.sh search-layer ...

Important parameters:

  • --mode fast|deep|answer
  • --intent factual|status|comparison|tutorial|exploratory|news|resource
  • --freshness pd|pw|pm|py
  • --queries ...
  • --domain-boost github.com,stackoverflow.com
  • --source exa,tavily,grok,tinyfish
  • --extract-refs
  • --extract-refs-urls

3) fetch-thread

bash scripts/unified-search.sh fetch-thread \x3Curl> [--format json|markdown] [--extract-refs-only]

4) content-extract

bash scripts/unified-search.sh content-extract --url \x3Curl>

5) mineru-extract / mineru-parse-documents

bash scripts/unified-search.sh mineru-extract \x3Curl> [--model MinerU-HTML]
bash scripts/unified-search.sh mineru-parse-documents --file-sources "\x3CURL1>\
\x3CURL2>"

Environment / dependency notes

Existing legacy search

  • Tavily key: usually from ~/.openclaw/openclaw.json -> skills.entries.tavily.apiKey
  • Exa key: existing local setup / env override
  • Google leg: depends on installed google-search skill

Vendored deep-search stack

Preferred credentials file:

{
  "exa": "your-exa-key",
  "tavily": "your-tavily-key",
  "grok": {
    "apiUrl": "https://api.x.ai/v1",
    "apiKey": "your-grok-key",
    "model": "grok-4.20-multi-agent-xhigh"
  },
  "tinyfish": {
    "apiKey": "your-tinyfish-key",
    "apiUrl": "https://api.search.tinyfish.ai"
  }
}

Location:

~/.openclaw/credentials/search.json

Optional env overrides:

export EXA_API_KEY="..."
export TAVILY_API_KEY="..."
export GROK_API_URL="https://api.x.ai/v1"
export GROK_API_KEY="..."
export GROK_MODEL="grok-4.20-multi-agent-0309"
export TINYFISH_API_KEY="..."
export TINYFISH_API_URL="https://api.search.tinyfish.ai"
export GITHUB_TOKEN="..."   # improves GitHub issue/PR thread fetch limits
export MINERU_TOKEN="..."   # required for MinerU parsing

Local Python runtime

This skill now uses a dedicated venv:

.venv(local virtualenv, create with: python3 -m venv .venv)

Installed there:

  • requests
  • trafilatura
  • beautifulsoup4
  • lxml

Important constraints

  • The vendored search-layer script can directly use Exa + Tavily + Grok + TinyFish.
  • The original upstream README also references Brave via OpenClaw built-in web_search, but shell scripts themselves cannot call agent-only tools. So in pure CLI mode, Brave is not auto-executed by the wrapper.
  • Your original Google-backed merged search is preserved as the day-to-day aggregated search path.
  • content-extract and mineru-* require external accessibility and, for MinerU, a valid MINERU_TOKEN.

Vendored source snapshot

The upstream implementation is vendored here:

vendor/openclaw-search-skills/

Key vendored modules:

  • search-layer/
  • content-extract/
  • mineru-extract/

Output pattern

Legacy merged search

  1. Keep raw engine blocks (Tavily / Exa / Google)
  2. Deduplicate overlapping links
  3. Report:
    • consensus findings
    • disagreements / uncertainty
    • actionable next step

Deep-search / extraction flows

Return the native structured JSON / markdown contract from the vendored tool whenever possible, then summarize with:

  • direct conclusion
  • strongest supporting sources
  • uncertainty / conflicts
  • next recommended trace or extraction step

For concise reporting template, read references/report-template.md.

安全使用建议
Install only if you are comfortable with a search skill that sends data to multiple external providers. Avoid using it with confidential queries, internal or signed URLs, private documents, or sensitive GitHub repositories unless the publisher adds clear controls for provider selection, translation opt-in, credential use, URL restrictions, and cache cleanup.
能力标签
requires-oauth-tokenrequires-sensitive-credentials
能力评估
Purpose & Capability
The core purpose is coherent: multi-provider web search, URL/thread fetching, and document extraction. However, the artifacts add secondary behaviors that are not clearly disclosed at the main skill boundary, including Google Translate calls for query/result text and automatic use of GitHub credentials from ~/.git-credentials.
Instruction Scope
The skill defaults ordinary searches into deep multi-provider mode and the vendored search-layer describes itself as the default for all web search. That broad routing increases external data sharing and leaves little user control over minimal-provider or no-translation operation.
Install Mechanism
No hidden installer, package manager execution, startup registration, or obfuscated install behavior was observed. The wrappers expect an existing local virtualenv and run scripts directly.
Credentials
Network access is expected for search, but the effective scope is broad: Exa, Tavily, Grok, TinyFish, Google Translate, MinerU, arbitrary URL fetches, and optional external LLM scoring. The artifacts do not provide strong disclosure or consent boundaries for sensitive queries, signed URLs, internal URLs, or fetched content.
Persistence & Privilege
The skill reads ~/.openclaw credential files as documented, but also reads ~/.git-credentials for GitHub tokens without clear user-facing disclosure. MinerU results and metadata are persisted under the OpenClaw workspace, which is partly documented but should be made explicit before sensitive document use.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install unified-search-suite
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /unified-search-suite 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v0.1.0
Initial release: deep search-layer (Exa + Tavily + Grok + TinyFish) + legacy three-engine search + content extraction + MinerU parsing.
元数据
Slug unified-search-suite
版本 0.1.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

Unified Search Suite 是什么?

Unified web search + deep research suite. Default ordinary /unified_search queries route to deep search-layer mode (Exa + Tavily + Grok); the legacy merged t... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 36 次。

如何安装 Unified Search Suite?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install unified-search-suite」即可一键安装,无需额外配置。

Unified Search Suite 是免费的吗?

是的,Unified Search Suite 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Unified Search Suite 支持哪些平台?

Unified Search Suite 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Unified Search Suite?

由 ccmxigua(@ccmxigua)开发并维护,当前版本 v0.1.0。

💬 留言讨论