# Send Exa Search (Rust) 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": "exa-search-rust",
    "name": "Exa Search (Rust)",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/Prompt-Surfer/exa-search-rust",
    "canonicalUrl": "https://clawhub.ai/Prompt-Surfer/exa-search-rust",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/exa-search-rust",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=exa-search-rust",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "Cargo.toml",
      "README.md",
      "SKILL.md",
      "install.sh",
      "src/client.rs",
      "src/main.rs"
    ],
    "downloadMode": "redirect",
    "sourceHealth": {
      "source": "tencent",
      "slug": "exa-search-rust",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-03T00:50:22.795Z",
      "expiresAt": "2026-05-10T00:50:22.795Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=exa-search-rust",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=exa-search-rust",
        "contentDisposition": "attachment; filename=\"exa-search-rust-1.0.3.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "exa-search-rust"
      },
      "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/exa-search-rust"
    },
    "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/exa-search-rust",
    "downloadUrl": "https://openagent3.xyz/downloads/exa-search-rust",
    "agentUrl": "https://openagent3.xyz/skills/exa-search-rust/agent",
    "manifestUrl": "https://openagent3.xyz/skills/exa-search-rust/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/exa-search-rust/agent.md"
  }
}
```
## Documentation

### exa-search skill

Use this skill to search the web, find similar pages, or fetch page contents via the Exa AI search engine — fast, neural, and certificate-aware.

The skill invokes a native Rust binary (bin/exa-search) via Bash. Run install.sh once to build it.

### When to Use / When NOT to Use

✅ USE when:

Searching the web for articles, documentation, repos, papers, tools, people, companies
Finding recent news or announcements (use livecrawl: "fallback" or "always" for recency)
Fetching full text of a known URL without browser automation
Finding pages similar to a reference URL (competitor analysis, alternative tools)
Any web lookup that isn't a specific tweet or video

❌ NOT FOR:

Fetching tweets/X posts → use fxtwitter skill (Exa can't fetch tweet URLs)
Downloading video/audio → use yt-dlp
Scraping dynamic or Cloudflare-protected pages → use scrapling
Local file/code search → use rg, find, or grep
Querying structured APIs (GitHub, weather, etc.) → use their dedicated skills
When the query is already a direct URL with known content → prefer get_contents action

### Prerequisites

EXA_API_KEY set in ~/.openclaw/workspace/.env (get one at exa.ai)
Rust installed (rustup) — only needed for the one-time build
bin/exa-search binary present (run bash install.sh to build)

### 1. Search

echo '{"query":"your query here","num_results":5}' \\
  | EXA_API_KEY=$(grep -E "^EXA_API_KEY=" ~/.openclaw/workspace/.env | cut -d= -f2 | tr -d '"') \\
  ~/.openclaw/workspace/skills/exa-search/bin/exa-search

Full params:

{
  "query": "rust async programming",
  "num_results": 5,
  "type": "neural",
  "livecrawl": "never",
  "include_domains": ["github.com", "docs.rs"],
  "exclude_domains": ["reddit.com"],
  "start_published_date": "2025-01-01",
  "end_published_date": "2026-12-31",
  "category": "research paper",
  "use_autoprompt": true,
  "text": { "max_characters": 2000 },
  "highlights": { "num_sentences": 3, "highlights_per_url": 2 },
  "summary": { "query": "key takeaways" }
}

type options: auto (default) · neural · keyword

livecrawl options:

"never" — fastest (~300-600ms), pure cached index. Best for reference material, docs, courses.
"fallback" — use cache, crawl live if not cached. Good default.
"preferred" — prefer live crawl. Slower but fresher.
"always" — always crawl live. For breaking news or rapidly-changing pages.

### 2. Find Similar

Find pages similar to a given URL:

echo '{"action":"find_similar","url":"https://example.com","num_results":5}' \\
  | EXA_API_KEY=$(grep -E "^EXA_API_KEY=" ~/.openclaw/workspace/.env | cut -d= -f2 | tr -d '"') \\
  ~/.openclaw/workspace/skills/exa-search/bin/exa-search

Params: same contents options as search (text, highlights, summary, livecrawl)

### 3. Get Contents

Fetch full contents for one or more URLs:

echo '{"action":"get_contents","urls":["https://example.com","https://other.com"],"text":{"max_characters":1000}}' \\
  | EXA_API_KEY=$(grep -E "^EXA_API_KEY=" ~/.openclaw/workspace/.env | cut -d= -f2 | tr -d '"') \\
  ~/.openclaw/workspace/skills/exa-search/bin/exa-search

### Output format

All actions return JSON on stdout:

{
  "ok": true,
  "action": "search",
  "results": [
    {
      "url": "https://...",
      "title": "...",
      "score": 0.87,
      "author": "...",
      "published_date": "2026-01-15",
      "image": "https://...",
      "favicon": "https://...",
      "text": "...",
      "highlights": ["..."],
      "summary": "..."
    }
  ],
  "formatted": "## [Title](url)\\n..."
}

On error:

{ "ok": false, "error": "..." }

The formatted field is ready-to-use markdown — you can send it directly to the user.

### Speed reference (same query, 3 runs)

ModeAvgPeaklivecrawl: "never" (instant)~440ms308msDefault (no livecrawl)~927ms629ms

~18.7× faster than Exa MCP at peak.

### Helper: load API key

EXA_API_KEY=$(grep -E "^EXA_API_KEY=" ~/.openclaw/workspace/.env | cut -d= -f2 | tr -d '"')

Or export once at the top of a longer workflow:

export EXA_API_KEY=$(grep -E "^EXA_API_KEY=" ~/.openclaw/workspace/.env | cut -d= -f2 | tr -d '"')
echo '{"query":"..."}' | ~/.openclaw/workspace/skills/exa-search/bin/exa-search

### Invocation pattern

EXA_API_KEY=$(grep -E "^EXA_API_KEY=" ~/.openclaw/workspace/.env | cut -d= -f2 | tr -d '"')
echo '{"query":"...","num_results":5,"livecrawl":"never"}' \\
  | EXA_API_KEY="$EXA_API_KEY" ~/.openclaw/workspace/skills/exa-search/bin/exa-search

The formatted field in the output is ready-to-use markdown — send it directly to the user.

### Mode selection (be deliberate, every search)

SituationlivecrawltypeDocs, tutorials, courses, reference material"never""neural"General research — people, tools, concepts, companies"never""neural"Exact function names, error messages, package names"never""keyword"Recent releases, changelogs, GitHub repos"fallback""auto"News or announcements from the last 1-2 weeks"fallback""neural"Breaking news, live prices, today's events"always""neural"Unsure"fallback""auto"

Default when in doubt: livecrawl: "never", type: "neural" — fastest, works for 80% of searches.

### When to use each action

search (default) — use for any information retrieval from a query string.

find_similar — use when you have a URL and want more like it: related articles, alternative tools, similar repos, competing products.

echo '{"action":"find_similar","url":"https://...","num_results":5,"livecrawl":"never"}' | EXA_API_KEY="$EXA_API_KEY" ...

get_contents — use when you have a specific URL and need its full text: docs pages, blog posts, GitHub READMEs, papers. Faster than search when the URL is already known.

echo '{"action":"get_contents","urls":["https://..."],"text":{"max_characters":3000}}' | EXA_API_KEY="$EXA_API_KEY" ...

### Enrich results for research tasks

When writing reports, summaries, or comparing multiple results — request highlights or summary per result:

{
  "query": "...",
  "num_results": 5,
  "highlights": { "num_sentences": 3, "highlights_per_url": 2 },
  "summary": { "query": "key takeaways for a developer" }
}

Note: highlights/summary add latency (~200-500ms extra). Only use when you actually need them.
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: Prompt-Surfer
- Version: 1.0.3
## 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-03T00:50:22.795Z
- Expires at: 2026-05-10T00:50:22.795Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/exa-search-rust)
- [Send to Agent page](https://openagent3.xyz/skills/exa-search-rust/agent)
- [JSON manifest](https://openagent3.xyz/skills/exa-search-rust/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/exa-search-rust/agent.md)
- [Download page](https://openagent3.xyz/downloads/exa-search-rust)