← Back to Skills Marketplace
ccmxigua

Unified Search Suite

by ccmxigua · GitHub ↗ · v0.1.0 · MIT-0
cross-platform ⚠ suspicious
36
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install unified-search-suite
Description
Unified web search + deep research suite. Default ordinary /unified_search queries route to deep search-layer mode (Exa + Tavily + Grok); the legacy merged t...
README (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.

Usage Guidance
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.
Capability Tags
requires-oauth-tokenrequires-sensitive-credentials
Capability Assessment
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.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install unified-search-suite
  3. After installation, invoke the skill by name or use /unified-search-suite
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v0.1.0
Initial release: deep search-layer (Exa + Tavily + Grok + TinyFish) + legacy three-engine search + content extraction + MinerU parsing.
Metadata
Slug unified-search-suite
Version 0.1.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is 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... It is an AI Agent Skill for Claude Code / OpenClaw, with 36 downloads so far.

How do I install Unified Search Suite?

Run "/install unified-search-suite" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Unified Search Suite free?

Yes, Unified Search Suite is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Unified Search Suite support?

Unified Search Suite is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Unified Search Suite?

It is built and maintained by ccmxigua (@ccmxigua); the current version is v0.1.0.

💬 Comments