# Send Free Search Aggregator to your agent
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
## Fast path
- Download the package from Yavira.
- Extract it into a folder your agent can access.
- Paste one of the prompts below and point your agent at the extracted folder.
## Suggested prompts
### New install

```text
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete.
```
### Upgrade existing

```text
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run.
```
## Machine-readable fields
```json
{
  "schemaVersion": "1.0",
  "item": {
    "slug": "free-search-aggregator",
    "name": "Free Search Aggregator",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/VulcanusALex/free-search-aggregator",
    "canonicalUrl": "https://clawhub.ai/VulcanusALex/free-search-aggregator",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/free-search-aggregator",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=free-search-aggregator",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "README.md",
      "README.zh-CN.md",
      "SKILL.md",
      "agents/openai.yaml",
      "assets/hero.svg",
      "config/providers.yaml"
    ],
    "downloadMode": "redirect",
    "sourceHealth": {
      "source": "tencent",
      "slug": "free-search-aggregator",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-03T10:39:58.990Z",
      "expiresAt": "2026-05-10T10:39:58.990Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=free-search-aggregator",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=free-search-aggregator",
        "contentDisposition": "attachment; filename=\"free-search-aggregator-1.3.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "free-search-aggregator"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/free-search-aggregator"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    }
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/free-search-aggregator",
    "downloadUrl": "https://openagent3.xyz/downloads/free-search-aggregator",
    "agentUrl": "https://openagent3.xyz/skills/free-search-aggregator/agent",
    "manifestUrl": "https://openagent3.xyz/skills/free-search-aggregator/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/free-search-aggregator/agent.md"
  }
}
```
## Documentation

### Free Search Aggregator

Reliable, provider-diverse web search for OpenClaw with high uptime + low operator overhead.

### Why use this skill

12 search providers, 6 requiring no API key at all
Automatic failover: if one provider fails, the next is tried instantly
Quota-aware: tracks daily usage, warns at 80%, skips exhausted providers
Task search mode for multi-angle research queries
Built-in storage lifecycle (cache / index / report), no workspace clutter
Self-healing: health-based smart routing automatically promotes reliable providers
Quality optimization: relevance scoring, fuzzy dedup, domain diversity, re-ranking
Auto-discovery: probes candidate search engines and SearXNG instances for new sources
Self-diagnostic: doctor and setup commands for zero-friction onboarding

### Provider Overview

ProviderKey RequiredFree QuotaIndex SourceNotesbraveBRAVE_API_KEY2000/dayBrave independentHigh quality, privacy-friendlyexaEXA_API_KEY~33/day (1k/mo)Neural + webSemantic search, unique findstavilyTAVILY_API_KEY1000/dayWeb (AI-optimized)Designed for AI agentsduckduckgoNone~500/dayBing + ownNo key, privacy-focusedbing_htmlNone~300/dayMicrosoft Bing RSSNo key, stable XML feedmojeekNone (or MOJEEK_API_KEY)200/dayMojeek independentNon-Google/Bing indexserperSERPER_API_KEY2500/dayGoogleHigh quota free tiersearchapiSEARCHAPI_API_KEY100/moGoogle / BingMulti-enginegoogle_cseGOOGLE_API_KEY + GOOGLE_CX100/dayGoogleOfficial Google APIbaiduBAIDU_API_KEY200/dayBaiduBest for Chinese contentwikipediaNone1000/dayWikipediaFactual/encyclopedic queriessearxngNoneunlimited (self-hosted)Meta (all engines)Requires own instance

Total daily quota (all keys configured): 8400+ requests/day

### Credential model (important)

No mandatory API key — DuckDuckGo + Bing RSS + Mojeek + Wikipedia work out of the box.
API-key providers fail gracefully if key is missing (AuthError → skip, no quota consumed, no latency):

BRAVE_API_KEY
EXA_API_KEY
TAVILY_API_KEY
SERPER_API_KEY
SEARCHAPI_API_KEY
GOOGLE_API_KEY + GOOGLE_CX
BAIDU_API_KEY
MOJEEK_API_KEY (optional — without it uses HTML scraping)

### 1. Search failover

Default provider order:

brave → exa → tavily → duckduckgo → bing_html → mojeek → serper → searchapi → google_cse → baidu → wikipedia

First successful non-empty result returns immediately.

### 2. Task-level multi-query search

Expands one goal into multiple targeted queries
Aggregates + deduplicates results
Prefix presets:

default: workers=1
@dual ... → workers=2
@deep ... → workers=3 + deeper query coverage

### 3. Quota intelligence

Per-provider daily tracking
Real quota retrieval where supported (Tavily, SearchAPI, Brave via probe)
Auto concurrency reduction at 80% quota saturation

### 4. Provider health monitoring

Tracks success rate, latency, and error types per provider over time
Computes health scores (success 50%, latency 30%, freshness 20%)
Smart ordering: auto-promotes healthy providers, demotes degraded ones
View dashboard: python -m free_search health

### 5. Result quality optimization

Relevance scoring (query-title-snippet token overlap)
Enhanced dedup: URL + title similarity (Jaccard threshold)
Domain diversity: limits same-domain results (default max 3)
Automatic filtering of low-quality results (short titles, missing URLs)

### 6. Source auto-discovery

Probes all configured providers for availability
Scans candidate search engines (Marginalia, Wiby, public SearXNG instances)
Validates response format, latency, and result quality
Generates recommendations for new sources to integrate
Run: python -m free_search discover

### 7. Managed persistence

memory/search-cache/YYYY-MM-DD/*.json
memory/search-index/search-index.jsonl
memory/search-reports/YYYY-MM-DD/*.md

### Quick commands

# Normal search
scripts/search "latest AI agent frameworks 2026" --max-results 5

# Task search (multi-query, parallel)
scripts/search task "@dual Compare Claude vs GPT-4 for code generation" --max-results 5

# Deep research mode
scripts/search task "@deep autonomous vehicle safety 2026" --max-results 8 --max-queries 10

# Quota status
scripts/status

# Real quota from provider APIs
scripts/remaining --real

# Cleanup cache
python3 -m free_search gc --cache-days 14

# Provider health dashboard
python3 -m free_search health

# Discover new search sources
python3 -m free_search discover

# System diagnostics
python3 -m free_search doctor

# Setup status & recommendations
python3 -m free_search setup

### Bing RSS (bing_html) — No key needed

Uses Bing's built-in RSS endpoint (format=rss) — bypasses bot detection. Works out of the box.

### Mojeek — No key needed (API key optional)

Out-of-the-box HTML scraping. For higher quotas/stability:

Register at https://www.mojeek.com/services/search/api/
Set MOJEEK_API_KEY → automatically switches to JSON API mode

### Wikipedia — No key needed

Multilingual support — change lang in providers.yaml:

wikipedia:
  lang: it   # en | zh | it | de | fr | ja ...

### Exa.ai — API key required

Register at https://exa.ai/
Set EXA_API_KEY
Free tier: 1000 searches/month (~33/day)

### Google Custom Search — API key + CX required

Get API key: https://developers.google.com/custom-search/v1/introduction
Create search engine: https://programmablesearchengine.google.com/
Set GOOGLE_API_KEY and GOOGLE_CX
Free tier: 100 queries/day

### Baidu Qianfan — API key required

Register at https://cloud.baidu.com/
Set BAIDU_API_KEY
Best for Chinese-language content

### SearXNG — Self-hosted instance required

Public instances rate-limit server-to-server requests. Use your own:

docker run -d -p 8080:8080 searxng/searxng

Then in providers.yaml:

searxng:
  endpoint: http://localhost:8080
  enabled: true

### Post-install self-check

# 1) Confirm provider load
scripts/status --compact

# 2) Smoke test (uses duckduckgo/bing/mojeek out of the box)
scripts/search "openclaw" --max-results 3 --compact

# 3) Verify storage paths
ls -la /home/openclaw/.openclaw/workspace/memory/search-cache/ | tail -n 5

# 4) Check real quota (optional)
scripts/remaining --real --compact

### Output contract (stable)

Search: query, provider, results[], meta.attempted, meta.quota
Task search: task, queries[], grouped_results[], merged_results[], meta
Quota: date, providers[], totals; with --real: real_quota.providers[]

### Operator notes

Default mode: workers=1 — conservative for cost control
Use @dual / @deep only for research tasks
SearXNG and YaCy are enabled: false by default (self-hosted only)
MOJEEK_API_KEY is optional — provider gracefully falls back to HTML scraping
Provider health data stored in memory/provider-health/health.jsonl
Discovery results stored in memory/provider-discovery/discovery.jsonl
Run python -m free_search doctor after setup to verify everything works
Run python -m free_search discover periodically to find new search sources
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: VulcanusALex
- Version: 1.3.0
## Source health
- Status: healthy
- Item download looks usable.
- Yavira can redirect you to the upstream package for this item.
- Health scope: item
- Reason: direct_download_ok
- Checked at: 2026-05-03T10:39:58.990Z
- Expires at: 2026-05-10T10:39:58.990Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/free-search-aggregator)
- [Send to Agent page](https://openagent3.xyz/skills/free-search-aggregator/agent)
- [JSON manifest](https://openagent3.xyz/skills/free-search-aggregator/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/free-search-aggregator/agent.md)
- [Download page](https://openagent3.xyz/downloads/free-search-aggregator)